2008-02-27 21:29:18

by Adrian Bunk

[permalink] [raw]
Subject: [2.6 patch] selinux/netlabel.c should #include "netlabel.h"

Every file should include the headers containing the externs for its
global code.

Signed-off-by: Adrian Bunk <[email protected]>

---
1f65757bac3e82514b447822ab30ee10d33a59a2 foobar
diff --git a/security/selinux/netlabel.c b/security/selinux/netlabel.c
index 0fa2be4..6d22d76 100644
--- a/security/selinux/netlabel.c
+++ b/security/selinux/netlabel.c
@@ -34,6 +34,7 @@

#include "objsec.h"
#include "security.h"
+#include "netlabel.h"

/**
* selinux_netlbl_sidlookup_cached - Cache a SID lookup


2008-02-27 21:43:17

by Paul Moore

[permalink] [raw]
Subject: Re: [2.6 patch] selinux/netlabel.c should #include "netlabel.h"

On Wednesday 27 February 2008 4:20:42 pm Adrian Bunk wrote:
> Every file should include the headers containing the externs for its
> global code.
>
> Signed-off-by: Adrian Bunk <[email protected]>

It doesn't _need_ the file in the strictest sense, the header file is
just there for the core SELinux code to call into the NetLabel/SELinux
glue code (what is in security/selinux/netlabel.c). However, if this
is to conform better to kernel coding policy (I assume that is the case
here?) then that is fine with me.

Acked-by: Paul Moore <[email protected]>

> ---
> 1f65757bac3e82514b447822ab30ee10d33a59a2 foobar
> diff --git a/security/selinux/netlabel.c
> b/security/selinux/netlabel.c index 0fa2be4..6d22d76 100644
> --- a/security/selinux/netlabel.c
> +++ b/security/selinux/netlabel.c
> @@ -34,6 +34,7 @@
>
> #include "objsec.h"
> #include "security.h"
> +#include "netlabel.h"
>
> /**
> * selinux_netlbl_sidlookup_cached - Cache a SID lookup

--
paul moore
linux security @ hp

2008-02-27 21:57:13

by Adrian Bunk

[permalink] [raw]
Subject: Re: [2.6 patch] selinux/netlabel.c should #include "netlabel.h"

On Wed, Feb 27, 2008 at 04:42:57PM -0500, Paul Moore wrote:
> On Wednesday 27 February 2008 4:20:42 pm Adrian Bunk wrote:
> > Every file should include the headers containing the externs for its
> > global code.
> >
> > Signed-off-by: Adrian Bunk <[email protected]>
>
> It doesn't _need_ the file in the strictest sense, the header file is
> just there for the core SELinux code to call into the NetLabel/SELinux
> glue code (what is in security/selinux/netlabel.c). However, if this
> is to conform better to kernel coding policy (I assume that is the case
> here?) then that is fine with me.

I'm not claiming it needs it.

But with this #include gcc can check that the prototypes in netlabel.h
match the functions in netlabel.c

The bugs this catches are rare, but when you have such a bug it can be
nasty to debug.

> Acked-by: Paul Moore <[email protected]>
>
> > ---
> > 1f65757bac3e82514b447822ab30ee10d33a59a2 foobar
> > diff --git a/security/selinux/netlabel.c
> > b/security/selinux/netlabel.c index 0fa2be4..6d22d76 100644
> > --- a/security/selinux/netlabel.c
> > +++ b/security/selinux/netlabel.c
> > @@ -34,6 +34,7 @@
> >
> > #include "objsec.h"
> > #include "security.h"
> > +#include "netlabel.h"
> >
> > /**
> > * selinux_netlbl_sidlookup_cached - Cache a SID lookup
>
> paul moore

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2008-02-27 22:08:22

by Paul Moore

[permalink] [raw]
Subject: Re: [2.6 patch] selinux/netlabel.c should #include "netlabel.h"

On Wednesday 27 February 2008 4:55:43 pm Adrian Bunk wrote:
> On Wed, Feb 27, 2008 at 04:42:57PM -0500, Paul Moore wrote:
> > On Wednesday 27 February 2008 4:20:42 pm Adrian Bunk wrote:
> > > Every file should include the headers containing the externs for
> > > its global code.
> > >
> > > Signed-off-by: Adrian Bunk <[email protected]>
> >
> > It doesn't _need_ the file in the strictest sense, the header file
> > is just there for the core SELinux code to call into the
> > NetLabel/SELinux glue code (what is in
> > security/selinux/netlabel.c). However, if this is to conform
> > better to kernel coding policy (I assume that is the case here?)
> > then that is fine with me.
>
> I'm not claiming it needs it.
>
> But with this #include gcc can check that the prototypes in
> netlabel.h match the functions in netlabel.c
>
> The bugs this catches are rare, but when you have such a bug it can
> be nasty to debug.

Good point, hadn't thought of that - thanks.

> > Acked-by: Paul Moore <[email protected]>

--
paul moore
linux security @ hp

2008-02-27 22:18:00

by James Morris

[permalink] [raw]
Subject: Re: [2.6 patch] selinux/netlabel.c should #include "netlabel.h"

On Wed, 27 Feb 2008, Paul Moore wrote:

> On Wednesday 27 February 2008 4:20:42 pm Adrian Bunk wrote:
> > Every file should include the headers containing the externs for its
> > global code.
> >
> > Signed-off-by: Adrian Bunk <[email protected]>
>
> It doesn't _need_ the file in the strictest sense, the header file is
> just there for the core SELinux code to call into the NetLabel/SELinux
> glue code (what is in security/selinux/netlabel.c). However, if this
> is to conform better to kernel coding policy (I assume that is the case
> here?) then that is fine with me.
>
> Acked-by: Paul Moore <[email protected]>

Applied to
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6.git#next

--
James Morris
<[email protected]>