From 5dfbc6593cdacd5b4e4939e09d595b3a9c8e47da Mon Sep 17 00:00:00 2001 From: Jean-Sébastien Pédron Date: Tue, 21 Apr 2026 02:01:11 +0200 Subject: linuxkpi: Add `memdup_array_user()` The amdgpu DRM driver started this in Linux 6.12.x. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56574 --- sys/compat/linuxkpi/common/include/linux/string.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/string.h b/sys/compat/linuxkpi/common/include/linux/string.h index ba6549804edc..b195dcc8fe9b 100644 --- a/sys/compat/linuxkpi/common/include/linux/string.h +++ b/sys/compat/linuxkpi/common/include/linux/string.h @@ -88,6 +88,17 @@ memdup_user_nul(const void *ptr, size_t len) return (retval); } +static inline void * +memdup_array_user(const void *src, size_t n, size_t size) +{ + size_t len; + + if (check_mul_overflow(n, size, &len)) + return (ERR_PTR(-EOVERFLOW)); + + return (memdup_user(src, len)); +} + static inline void * kmemdup(const void *src, size_t len, gfp_t gfp) { -- cgit v1.3