Re: [PATCH] headers_install.pl: autoconvert asm/inline/volatile to __xxx__

Arnd Bergmann
2009-01-02T23:20:54Z

On Wednesday 31 December 2008, Mike Frysinger wrote:
> On Wednesday 31 December 2008 12:15:07 Arnd Bergmann wrote:
> > On Saturday 27 December 2008, Mike Frysinger wrote:
> > > Headers in userspace should be using the __xxx__ form of the asm, inline,
> > > and volatile keywords.  Since people like to revert these things without
> > > realizing what's going on, have the headers install step autoconvert
> > > these keywords.
> > >
> > > Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> >
> > The patch looks right, but I would argue that most of the instances of
> > any of these should not be exported in the first place. I'm not
> > sure whether there is a legitimate use for the byteorder inlines,
> > but the others I could find look like they are not meant for use by the
> > kernel.
>
> maybe, but those threads are going to take quite a while to resolve and things
> will constantly leak back out.

I guess I forgot to make my main point, I'm not arguing against your patch
at all, but would also like to see another patch to headers_check.pl that
warns about all instances of the __asm__, __inline__ and volatile keywords,
possibly with a list of known good cases.

Since you already have on the patch to warn about the extern declarations
and Sam submitted a respective patch for the CONFIG_ symbols, it would be
good to add these keywords to the same check.

Your headers_install.pl patch is required for correctness with pedantic
compilers, while the one I suggest would only help reducing the leak
of kernel internal code into user space headers.