mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 20:02:17 +00:00
powerpc/32: Fix early access to cpu_spec relocation
Commit9402c68461
("powerpc: Factor do_feature_fixup calls") introduced a subtle bug on 32-bit. When reading the cpu spec from the global, we not only need to do a pointer relocation on the global address but also on the pointer we read from it. This fixes crashes reported on MPC5200 based machines. Fixes:9402c68461
("powerpc: Factor do_feature_fixup calls") Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
a67ae75802
commit
2c0f99516f
1 changed files with 1 additions and 1 deletions
|
@ -161,7 +161,7 @@ static unsigned long __initdata saved_firmware_features;
|
|||
|
||||
void __init apply_feature_fixups(void)
|
||||
{
|
||||
struct cpu_spec *spec = *PTRRELOC(&cur_cpu_spec);
|
||||
struct cpu_spec *spec = PTRRELOC(*PTRRELOC(&cur_cpu_spec));
|
||||
|
||||
*PTRRELOC(&saved_cpu_features) = spec->cpu_features;
|
||||
*PTRRELOC(&saved_mmu_features) = spec->mmu_features;
|
||||
|
|
Loading…
Reference in a new issue