Re: [PATCH] platform_driver_register: warn if probe is in.init.text

From: Greg KH
Date: Sat Jul 11 2009 - 15:01:46 EST


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@xxxxxxxxxxxxxx>
> 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@xxxxxxxxxxxxxx>

This code kills the build in very bad ways :(

So much so that the error messages scroll away, but it starts out with:

In file included from /home/gregkh/work/linux/gregkh-2.6/arch/x86/include/asm/percpu.h:45,
from /home/gregkh/work/linux/gregkh-2.6/arch/x86/include/asm/current.h:5,
from /home/gregkh/work/linux/gregkh-2.6/arch/x86/include/asm/processor.h:15,
from /home/gregkh/work/linux/gregkh-2.6/arch/x86/include/asm/atomic_32.h:6,
from /home/gregkh/work/linux/gregkh-2.6/arch/x86/include/asm/atomic.h:2,
from include/linux/crypto.h:20,
from arch/x86/kernel/asm-offsets_32.c:7,
from arch/x86/kernel/asm-offsets.c:2:
include/linux/kernel.h: In function âcore_kernel_init_textâ:
include/linux/kernel.h:207: error: storage class specified for parameter â__kernel_text_addressâ
include/linux/kernel.h:208: error: storage class specified for parameter âkernel_text_addressâ
include/linux/kernel.h:209: error: storage class specified for parameter âkernel_init_text_addressâ
include/linux/kernel.h:210: error: storage class specified for parameter âfunc_ptr_is_kernel_textâ
include/linux/kernel.h:212: warning: empty declaration


Care to respin this?

thanks,

greg k-h
--
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/