-
- Downloads
[PATCH] i386 cpu hotplug: don't access freed memory
i386 CPU init code accesses freed init memory when booting a newly-started processor after CPU hotplug. The cpu_devs array is searched to find the vendor and it contains pointers to freed data. Fix that by: 1. Zeroing entries for freed vendor data after bootup. 2. Changing Transmeta, NSC and UMC to all __init[data]. 3. Printing a warning (once only) and setting this_cpu to a safe default when the vendor is not found. This does not change behavior for AMD systems. They were broken already but no error was reported. Signed-off-by:Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
Showing
- arch/i386/kernel/cpu/amd.c 8 additions, 0 deletionsarch/i386/kernel/cpu/amd.c
- arch/i386/kernel/cpu/centaur.c 8 additions, 0 deletionsarch/i386/kernel/cpu/centaur.c
- arch/i386/kernel/cpu/common.c 10 additions, 1 deletionarch/i386/kernel/cpu/common.c
- arch/i386/kernel/cpu/cyrix.c 17 additions, 1 deletionarch/i386/kernel/cpu/cyrix.c
- arch/i386/kernel/cpu/intel_cacheinfo.c 1 addition, 0 deletionsarch/i386/kernel/cpu/intel_cacheinfo.c
- arch/i386/kernel/cpu/nexgen.c 8 additions, 0 deletionsarch/i386/kernel/cpu/nexgen.c
- arch/i386/kernel/cpu/rise.c 8 additions, 0 deletionsarch/i386/kernel/cpu/rise.c
- arch/i386/kernel/cpu/transmeta.c 9 additions, 1 deletionarch/i386/kernel/cpu/transmeta.c
- arch/i386/kernel/cpu/umc.c 8 additions, 0 deletionsarch/i386/kernel/cpu/umc.c
Please register or sign in to comment