diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2023-12-27 15:13:29 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2023-12-27 15:13:29 +0000 |
| commit | 99efa2c88d93c6272a8f54b18d18d0fd9d60f137 (patch) | |
| tree | 437d8d0e47ef5620c22d826fd207286242d24842 /sys/dev/netmap | |
| parent | b9924c202fc34004d4164cdc50f88d8fcef26279 (diff) | |
Diffstat (limited to 'sys/dev/netmap')
| -rw-r--r-- | sys/dev/netmap/netmap_kern.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/sys/dev/netmap/netmap_kern.h b/sys/dev/netmap/netmap_kern.h index 24f741084a8d..8618aaf82299 100644 --- a/sys/dev/netmap/netmap_kern.h +++ b/sys/dev/netmap/netmap_kern.h @@ -2450,8 +2450,19 @@ void netmap_uninit_bridges(void); #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 */ |
