aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/module_64.c
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2014-05-12 03:45:02 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-05-19 20:56:01 -0400
commit872aa779bcdd26bbe2d538c36e2c2072b3f03c8c (patch)
tree30418ac92b369e47e40b42464e8af2fd5b2ecaf5 /arch/powerpc/kernel/module_64.c
parentbd0c30e310d43c49debe380e344307b677e182a6 (diff)
powerpc/module: Fix stubs for BE
A simple patch which was supposed to swap r12 and r11 also inexplicably changed the offset by two bytes. This instruction (to load r2) isn't used in LE, so it wasn't noticed. Fixes: b1ce369e82 ("powerpc: modules: use r12 for stub jump address.) Reported-by: Alistair Popple <alistair@popple.id.au> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Tested-by: Alistair Popple <alistair@popple.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/module_64.c')
-rw-r--r--arch/powerpc/kernel/module_64.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c
index ef349d077129..077d2ce6c5a7 100644
--- a/arch/powerpc/kernel/module_64.c
+++ b/arch/powerpc/kernel/module_64.c
@@ -134,7 +134,7 @@ static u32 ppc64_stub_insns[] = {
134 0xe98b0020, /* ld r12,32(r11) */ 134 0xe98b0020, /* ld r12,32(r11) */
135#if !defined(_CALL_ELF) || _CALL_ELF != 2 135#if !defined(_CALL_ELF) || _CALL_ELF != 2
136 /* Set up new r2 from function descriptor */ 136 /* Set up new r2 from function descriptor */
137 0xe84b0026, /* ld r2,40(r11) */ 137 0xe84b0028, /* ld r2,40(r11) */
138#endif 138#endif
139 0x7d8903a6, /* mtctr r12 */ 139 0x7d8903a6, /* mtctr r12 */
140 0x4e800420 /* bctr */ 140 0x4e800420 /* bctr */