From a78d6ac252ee6d2c689d7a82e840b39f267c41ee Mon Sep 17 00:00:00 2001 From: Shaun Tancheff Date: Wed, 14 Feb 2024 17:26:00 -0800 Subject: [PATCH] LU-17161 build: Avoid fortify_memset in OBD_FREE_PTR OBD_FREE_PTR will optionally clear the about to be free()d memory. Unfortunately fortify_memset_chk() hits some false positives. We can use __underlying_memset() if it is defined, to avoid the fortify_memset_chk. Lustre-change: https://review.whamcloud.com/52559 Lustre-commit: 58cc8cf98e37e9d8149d5f605a75d56f2cd4eb70 Test-Parameters: trivial Signed-off-by: Shaun Tancheff Change-Id: Iced53f22b97ed90e0970625c4fcbaa404054c54a Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/53956 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- lustre/include/obd_support.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lustre/include/obd_support.h b/lustre/include/obd_support.h index 3fa8521..ee0d7c2 100644 --- a/lustre/include/obd_support.h +++ b/lustre/include/obd_support.h @@ -936,7 +936,11 @@ do { \ #define POISON(ptr, c, s) do {} while (0) #define POISON_PTR(ptr) ((void)0) #else +#ifdef __underlying_memset +#define POISON(ptr, c, s) __underlying_memset(ptr, c, s) +#else #define POISON(ptr, c, s) memset(ptr, c, s) +#endif #define POISON_PTR(ptr) (ptr) = (void *)0xdeadbeef #endif -- 1.8.3.1