[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070727043614.GS27237@ftp.linux.org.uk>
Date:	Fri, 27 Jul 2007 05:36:14 +0100
From:	Al Viro <viro@....linux.org.uk>
To:	Sam Ravnborg <sam@...nborg.org>
Cc:	"Luck, Tony" <tony.luck@...el.com>,
	LKML <linux-kernel@...r.kernel.org>, linux-ia64@...r.kernel.org
Subject: Re: [PATCH] ia64: fix a few section mismatch warnings
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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Powered by blists - more mailing lists