Re: [PATCH] ia64: fix a few section mismatch warnings

From: Al Viro
Date: Fri Jul 27 2007 - 00:36:55 EST


On Fri, Jul 27, 2007 at 06:27:44AM +0200, Sam Ravnborg wrote:
> On Fri, Jul 27, 2007 at 02:18:13AM +0100, Al Viro wrote:
> > On Thu, Jul 26, 2007 at 11:01:41PM +0200, Sam Ravnborg wrote:
> >
> > > +static void *__init_refok alloc_rte(unsigned long size)
> > > +{
> > > + return alloc_bootmem(size);
> > > +}
> >
> > That makes no sense at all. If we ever call that after freeing initmem,
> > we are screwed, period. Sounds like __init fodder.
>
> The call site has logic to prevent this from being called after init.
> And the call site cannot be made __init and to limit the scope of
> the __init_refok a small function is used.
>
> So unless I mis-understood something the above should be OK.

Then the call site must be __init_refok, AFAICS. The point is,
the callers of alloc_rte() are where the analysis belongs; use of
__init_refok means that you assert that all calls of __init *from*
*it* are safe. Otherwise it just becomes "make modpost STFU and
let's hope that code is really OK".
-
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/