Re: [PATCH -tip] x86: uv - prevent NULL dereference inuv_system_init

From: Ingo Molnar
Date: Fri May 01 2009 - 16:03:57 EST



* Cyrill Gorcunov <gorcunov@xxxxxxxxxx> wrote:

> We may reach NULL dereference oops if kmalloc failed.
> Lets do panic better with sensible message.
>
> Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
> ---
>
> Actually there is a dubious place as well at early_get_nodeid.
> Is there a guarantee that we _never_ fail in early_ioremap?
>
> arch/x86/kernel/apic/x2apic_uv_x.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> Index: linux-2.6.git/arch/x86/kernel/apic/x2apic_uv_x.c
> =====================================================================
> --- linux-2.6.git.orig/arch/x86/kernel/apic/x2apic_uv_x.c
> +++ linux-2.6.git/arch/x86/kernel/apic/x2apic_uv_x.c
> @@ -584,15 +584,21 @@ void __init uv_system_init(void)
>
> bytes = sizeof(struct uv_blade_info) * uv_num_possible_blades();
> uv_blade_info = kmalloc(bytes, GFP_KERNEL);
> + if (!uv_blade_info)
> + goto err_nomem;

hm, i think a BUG_ON() might be shorter and more appropriate here.
We really shouldnt be running out of memory during system init.

Ingo
--
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/