From 87179c7a6e2a210ea57951d444a3055e883d08fa Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Tue, 1 Aug 2023 20:18:33 -0400 Subject: Update bcachefs sources to 33a60d9b05 bcachefs: Assorted fixes for clang --- include/linux/slab.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'include/linux/slab.h') diff --git a/include/linux/slab.h b/include/linux/slab.h index 78f906a8..25ccf1a7 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -80,9 +80,15 @@ static inline void *krealloc_array(void *p, size_t new_n, size_t new_size, gfp_t } #define kzalloc(size, flags) kmalloc(size, flags|__GFP_ZERO) -#define kmalloc_array(n, size, flags) \ - ((size) != 0 && (n) > SIZE_MAX / (size) \ - ? NULL : kmalloc((n) * (size), flags)) + +static inline void *kmalloc_array(size_t n, size_t size, gfp_t flags) +{ + size_t bytes; + + if (unlikely(check_mul_overflow(n, size, &bytes))) + return NULL; + return kmalloc(bytes, flags); +} #define kvmalloc_array(n, size, flags) \ ((size) != 0 && (n) > SIZE_MAX / (size) \ -- cgit v1.2.3