Re: [patch 5/7] uninline capable()

Tim Schmielau
2006-01-08T17:19:31Z

On Fri, 6 Jan 2006, Michael Buesch wrote:

> On Friday 06 January 2006 11:42, you wrote:
> > Index: linux-2.6.15/include/linux/sched.h
> > ===================================================================
> > --- linux-2.6.15.orig/include/linux/sched.h
> > +++ linux-2.6.15/include/linux/sched.h
> > @@ -1102,19 +1102,8 @@ static inline int sas_ss_flags(unsigned
> > }
> >
> >
> > -#ifdef CONFIG_SECURITY
> > -/* code is in security.c */
> > +/* code is in security.c or kernel/sys.c if !SECURITY */
> > extern int capable(int cap);

Great! I really love this.
capable() was a great offender in the sched.h includes cleanup.

> BTW, is there a special reason why this is declared in sched.h
> instead of capability.h?

Header file detangling. capable() needs to dereference current.

Moving capable() to capability.h would mean that capability.h needs to
include sched.h, which 1) is inefficient as capability.h is included in
about 5885 files and sched.h drags in another 133 header files and 2)
results in a circular dependency.

Tim