powerpc/32: Fix early access to cpu_spec relocation
PATCH 1/1 powerpc/32: Fix early access to cpu_spec relocation
Commit 9402c684613163888714df0955fa1f17142b08bf 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.
Signed-off-by Benjamin Herrenschmidt <[email protected]>
Fixes 9402c684613163888714df0955fa1f17142b08bf
--
arch/powerpc/lib/feature-fixups.c +1 -1
@@ -154,7 +154,7 @@ static void do_final_fixups(void)void apply_feature_fixups (void ) { -struct cpu_spec *spec = *PTRRELOC (&cur_cpu_spec); +struct cpu_spec *spec =PTRRELOC (*PTRRELOC (&cur_cpu_spec));/* * Apply the CPU-specific and firmware specific fixups to kernel text