Subject: Re: linux-next: security-testing tree build failure

From: Eric Paris <[email-masked]>
Date: Wed, 12 Nov 2008 09:05:06 -0500

On Wed, 2008-11-12 at 21:56 +1100, James Morris wrote:
> On Wed, 12 Nov 2008, Stephen Rothwell wrote:
> 
> > Hi James,
> > 
> > Today's linux-next build (powerpc ppc64_defconfig) failed like this:
> > 
> > In file included from init/main.c:35:
> > include/linux/security.h:1788: error: static declaration of 'security_capable' follows non-static declaration
> > include/linux/capability.h:524: error: previous declaration of 'security_capable' was here
> > include/linux/security.h:1793: error: static declaration of 'security_capable_noaudit' follows non-static declaration
> > include/linux/capability.h:525: error: previous declaration of 'security_capable_noaudit' was here
> > 
> > Caused by commit 06112163f5fd9e491a7f810443d81efa9d88e247 ("Add a new
> > capable interface that will be used by systems that use audit to").
> > 
> > Please compile test with and without CONFIG_SECURITY.
> 
> Done, with the patch below (now pushed to the tree).

Only works in the config security case because every function that calls
has_capability() also includes security.h

Since these are inlined the original caller needs to have the
security_capable and security_capable_noaudit prototype.  The filesystem
changes to use this new interface often do not already #include
security.h.  I'll look at it and wrap them in CONFIG_SECURITY rather
than include security.h in all the filesystem changes.....

-Eric