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.
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Iced53f22b97ed90e0970625c4fcbaa404054c54a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52559
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
#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