diff options
Diffstat (limited to 'libbcachefs/util.h')
-rw-r--r-- | libbcachefs/util.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libbcachefs/util.h b/libbcachefs/util.h index a251bf9c..6e97e831 100644 --- a/libbcachefs/util.h +++ b/libbcachefs/util.h @@ -34,8 +34,12 @@ struct closure; #define atomic64_sub_bug(i, v) BUG_ON(atomic64_sub_return(i, v) < 0) #define atomic64_add_bug(i, v) BUG_ON(atomic64_add_return(i, v) < 0) -#define memcpy(_dst, _src, _len) \ +#define memcpy(dst, src, len) \ ({ \ + void *_dst = (dst); \ + const void *_src = (src); \ + size_t _len = (len); \ + \ BUG_ON(!((void *) (_dst) >= (void *) (_src) + (_len) || \ (void *) (_dst) + (_len) <= (void *) (_src))); \ memcpy(_dst, _src, _len); \ |