lkml.org 
[lkml]   [2009]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] platform_driver_register: warn if probe is in .init.text
Hello Greg,

On Sat, Jul 11, 2009 at 11:59:20AM -0700, Greg KH wrote:
> On Sat, Jul 11, 2009 at 12:00:14PM +0200, Uwe Kleine-König wrote:
> > Hi Greg,
> >
> > > > Are you conviced and took the patch or did you give up to convince me?
> > >
> > > Heh, no, sorry, it got burried in my queue.
> > >
> > > > I still think the patch is correct and I'd like to have it applied.
> > >
> > > Ok, let's test it out in the linux-next tree for a while to make sure it
> > > works properly. Care to send me an updated version?
> > I updated to latest Linus' master. It applies to linux-next from
> > Fri Jul 10 14:44:30 2009 +1000 as is.
> >
> > Back some time I sent a series that fixes many of these bugs. I will
> > update it later today and resend.
> >
> > Best regards and thanks,
> > Uwe
> >
> > ---->8----
> > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > Subject: [PATCH] platform_driver_register: warn if probe is in .init.text
> >
> > with HOTPLUG=y it's wrong to register a platform_driver whose probe
> > function lives in .init.text because the probe function can be called
> > (e.g. via sysfs or by registering a device late) after the init sections
> > are already discarded. This results in an oops.
> >
> > So warn if such a driver is registered.
> >
> > Without HOTPLUG the probe function can (and should) be discarded if the
> > driver is registered while the init sections are still available.
> > In this case warn if the probe function isn't discarded later. (As
> > described in the comments there is a small chance for a wrong warning.
> > But as HOTPLUG=n is unusual today and the situation is strage enough to
> > be cleaned up anyhow, I think this is OK.)
> >
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
>
> This code kills the build in very bad ways :(
it's just a ; that didn't made it into the new version. Don't know why.

If you squash the patch below into the patch I sent it should work
again.

Sorry
Uwe

diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 298e9bc..2d48087 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -203,7 +203,7 @@ extern char *get_options(const char *str, int nints, int *ints);
extern unsigned long long memparse(const char *ptr, char **retptr);

extern int core_kernel_text(unsigned long addr);
-extern int core_kernel_init_text(unsigned long addr)
+extern int core_kernel_init_text(unsigned long addr);
extern int __kernel_text_address(unsigned long addr);
extern int kernel_text_address(unsigned long addr);
extern int kernel_init_text_address(unsigned long addr);
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2009-07-11 22:49    [W:0.815 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site