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

Ingo Molnar
2009-05-01T20:03:55Z

* Cyrill Gorcunov <gorcunov@openvz.org> wrote:

> We may reach NULL dereference oops if kmalloc failed.
> Lets do panic better with sensible message.
>
> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
> ---
>
> 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