Re: [GIT PULL -tip] fix 41 'make headers_check' warnings

From: Sam Ravnborg
Date: Sun Jan 18 2009 - 07:56:13 EST


On Sun, Jan 18, 2009 at 12:02:21PM +0100, Ingo Molnar wrote:
>
> * Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> wrote:
>
> > diff --git a/include/linux/acct.h b/include/linux/acct.h
> > index 882dc72..a20c97c 100644
> > --- a/include/linux/acct.h
> > +++ b/include/linux/acct.h
> > @@ -59,9 +59,13 @@ struct acct
> > comp_t ac_majflt; /* Major Pagefaults */
> > comp_t ac_swaps; /* Number of Swaps */
> > /* m68k had no padding here. */
> > -#if !defined(CONFIG_M68K) || !defined(__KERNEL__)
> > +#ifdef __KERNEL__
> > +#ifndef CONFIG_M68K
> > __u16 ac_ahz; /* AHZ */
> > -#endif
> > +#endif /* CONFIG_M68K */
> > +#else /* __KERNEL__ */
> > + __u16 ac_ahz; /* AHZ */
> > +#endif /* __KERNEL__ */
>
> that looks rather ugly.
>
> Why not just flip it around to:
>
> #if !defined(__KERNEL__) || !defined(CONFIG_M68K)
>
> ? Does headers_check misinterpret that?

The original expression is misinterpreted by headers_check
because we want the ac_ahz to stay if either of __KERNEL__
or CONFIG_M68K is not defined.
And unifdef does not optimize away the !defined(CONFIG_M68K)
part - it has no knowledge that this is kernel internal.

So I am happy with Jaswinder's patch.

That said I really no not understand why there is this
subtle issue with struct acct in the first place..

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/