projects/linux·commit 2084c24a

do not export kernel's NULL #define to userspace

2084c24a · Lubos Lunak <[email protected]> · 2012-03-21 14:08:24 +01:00

GCC's NULL is actually __null, which allows detecting some questionable
NULL usage and warn about it.  Moreover each platform/compiler should
have its own stddef.h anyway (which is different from linux/stddef.h).

So there's no good reason to leak kernel's NULL to userspace and
override what the compiler provides.

Signed-off-by: Luboš Luňák <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Commit
2084c24a81413b75bc97e4bee56b32ffece70460
Parents
668ce0ac

Changes

1 files changed · +2 −6

FileStatusAddDelContent
include/linux/stddef.hmodified+2−6View file

include/linux/stddef.h

View file
diff --git a/include/linux/stddef.h b/include/linux/stddef.h
index 6a40c76..1747b67 100644
--- a/include/linux/stddef.h
+++ b/include/linux/stddef.h
@@ -3,14 +3,10 @@
#include <linux/compiler.h>
+#ifdef __KERNEL__
+
#undef NULL
-#if defined(__cplusplus)
-#define NULL 0
-#else
#define NULL ((void *)0)
-#endif
-
-#ifdef __KERNEL__
enum {
false = 0,