[PATCH 0/1] x86_64: x86_64_cleanup_pda() should use nr_cpu_ids instead of NR_CPUS

From: Mike Travis
Date: Mon Feb 25 2008 - 13:33:36 EST



Hi Andrew - would you add this to your -mm patchset? It fixes a
possible panic.

(I based it on 2.6.25-rc2 + 2.6.25-rc2-mm1 + my patches from broken-out-0223
as I could not get 2.6.25-rc2 + all of broken-out-0223 to apply.)

Thanks, Mike

..from Eric Dumazet:
> You might want to apply this patch.
>
> I also wonder if _cpu_pda should be set only at the very end of
> x86_64_cleanup_pda(), after array initialization, or maybe other
> cpus are not yet running ? (Sorry I cannot boot test this patch at this
> moment)
>
> [PATCH] x86_64: x86_64_cleanup_pda() should use nr_cpu_ids instead of NR_CPUS
>
> We allocate an array of nr_cpu_ids pointers, so we should respect its bonds.
>
> Delay change of _cpu_pda after array initialization.
>
> Also take into account that alloc_bootmem_low() :
> - calls panic() if not enough memory
> - already clears allocated memory

Signed-off-by: Eric Dumazet <dada1@xxxxxxxxxxxxx>
Signed-off-by: Mike Travis <travis@xxxxxxx>
---

Built and tested: (x86_64) defconfig, nonum, nosmp (*).
Built: (x86_64) all{yes,mod}config,
(i386) defconfig, all{yes,mod}config, nonum, nosmp.

* - I add to disable ACPI to build the non-smp version of x86_64.

---

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