diff options
author | Milton Miller <miltonm@bga.com> | 2011-05-10 19:28:33 +0000 |
---|---|---|
committer | Andi Kleen <ak@linux.intel.com> | 2011-08-01 13:54:50 -0700 |
commit | 9c9f2de51e46be3011a100b4b401a6f17d220776 (patch) | |
tree | dbdadcc46e950a3569f209f188c202ce5cd78f60 /fs/jbd/commit.c | |
parent | c4e60bd6930b93a13432f53dfb70e65d8fef58d2 (diff) |
powerpc/kexec: Fix memory corruption from unallocated slaves
commit 3d2cea732d68aa270c360f55d8669820ebce188a upstream.
Commit 1fc711f7ffb01089efc58042cfdbac8573d1b59a (powerpc/kexec: Fix race
in kexec shutdown) moved the write to signal the cpu had exited the kernel
from before the transition to real mode in kexec_smp_wait to kexec_wait.
Unfornately it missed that kexec_wait is used both by cpus leaving the
kernel and by secondary slave cpus that were not allocated a paca for
what ever reason -- they could be beyond nr_cpus or not described in
the current device tree for whatever reason (for example, kexec-load
was not refreshed after a cpu hotplug operation). Cpus coming through
that path they will write to paca[NR_CPUS] which is beyond the space
allocated for the paca data and overwrite memory not allocated to pacas
but very likely still real mode accessable).
Move the write back to kexec_smp_wait, which is used only by cpus that
found their paca, but after the transition to real mode.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'fs/jbd/commit.c')
0 files changed, 0 insertions, 0 deletions