Page MenuHomeFreeBSD

D43200.id.diff
No OneTemporary

D43200.id.diff

diff --git a/sys/dev/netmap/netmap_kern.h b/sys/dev/netmap/netmap_kern.h
--- a/sys/dev/netmap/netmap_kern.h
+++ b/sys/dev/netmap/netmap_kern.h
@@ -2450,8 +2450,19 @@
#define CSB_READ(csb, field, r) (get_user(r, &csb->field))
#define CSB_WRITE(csb, field, v) (put_user(v, &csb->field))
#else /* ! linux */
-#define CSB_READ(csb, field, r) (r = fuword32(&csb->field))
-#define CSB_WRITE(csb, field, v) (suword32(&csb->field, v))
+#define CSB_READ(csb, field, r) do { \
+ int32_t v __diagused; \
+ \
+ v = fuword32(&csb->field); \
+ KASSERT(v != -1, ("%s: fuword32 failed", __func__)); \
+ r = v; \
+} while (0)
+#define CSB_WRITE(csb, field, v) do { \
+ int error __diagused; \
+ \
+ error = suword32(&csb->field, v); \
+ KASSERT(error == 0, ("%s: suword32 failed", __func__)); \
+} while (0)
#endif /* ! linux */
/* some macros that may not be defined */

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 5, 2:01 AM (5 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30785769
Default Alt Text
D43200.id.diff (902 B)

Event Timeline