Messages in this thread | | | Date | Mon, 16 Apr 2012 09:43:55 +0200 | From | Martin Schwidefsky <> | Subject | Re: [PATCH][RESEND] do not redefine userspace's NULL #define |
| |
On Fri, 13 Apr 2012 21:02:14 +0000 Arnd Bergmann <arnd@arndb.de> wrote:
> On Friday 13 April 2012, Linus Torvalds wrote: > > There's no way user should ever include the linux internal stddef.h. > > > > And quite frankly, kernel-external definitions of NULL have > > traditionally been pure sh*t (ie plain "0" without the cast to a > > pointer), so I'm not entirely convinced about this patch. > > > > So what is the actual thing this helps with? > > I think it used to get included implictly though other exported > kernel headers, but I found only one instance where this is still > true, in the s390 version of asm/ptrace.h. > > Martin, does this work for you? > > 8<----- > headers: do not export linux/stddef.h > > There is no reason to export linux/stddef.h and users should never > include it because the header conflicts with the standard stddef.h. > > The only other exported header file that actually includes linux/stddef.h > is the s390 asm/ptrace.h, but there is no reason for it to do so, so > we can remove both the export and the inclusion. > When the file is no longer exported, we can also remove the extra lines > that attempt to make it safe for inclusion > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Kernel compiles and boots. After protecting the stddef.h #include in include/linux/posix_types.h with #ifdef __KERNEL__ gdb and strace could be build as well.
-- blue skies, Martin.
"Reality continues to ruin my life." - Calvin.
| |