Messages in this thread Patch in this message | | | Date | Sat, 11 Jul 2009 22:46:31 +0200 | From | Uwe Kleine-König <> | Subject | Re: [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/
| |