Re: [2.6.35-rc1, patch] fix cpu_chain section mismatch...

From: Linus Torvalds
Date: Tue Jun 01 2010 - 11:53:40 EST




On Tue, 1 Jun 2010, Daniel J Blueman wrote:
>
> In 2.6.35-rc1, __cpu_notify access cpu_chain, which shouldn't be
> marked __cpuinitdata (via section mismatch warning).

Hmm. Does this section mismatch go away if you instead mark cpu_notify(),
__cpu_notify() and cpu_notify_nofail as "inline"? Or alternatively, maybe
they should all be marked as __ref?

I think the section mismatch started happening when those wrapper
functions were created, but all the callers seem to be __ref or __cpuinit.

Or maybe we should just make that variable be non-cpuinitdata like your
patch suggests.

Does anybody have strong preferences (patch appended for reference)?

Linus
---
> Signed-off-by: Daniel J Blueman <daniel.blueman@xxxxxxxxx>
>
> diff --git a/kernel/cpu.c b/kernel/cpu.c
> index 8b92539..97d1b42 100644
> --- a/kernel/cpu.c
> +++ b/kernel/cpu.c
> @@ -34,7 +34,7 @@ void cpu_maps_update_done(void)
> mutex_unlock(&cpu_add_remove_lock);
> }
>
> -static __cpuinitdata RAW_NOTIFIER_HEAD(cpu_chain);
> +static RAW_NOTIFIER_HEAD(cpu_chain);
>
> /* If set, cpu_up and cpu_down will return -EBUSY and do nothing.
> * Should always be manipulated under cpu_add_remove_lock
> --
> Daniel J Blueman
>
--
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/