diff mbox series

Fix for "powerpc/64: use interrupt restart table to speed up return from interrupt" SOFTE loading

Message ID 20210617072726.1914546-1-npiggin@gmail.com (mailing list archive)
State Superseded
Headers show
Series Fix for "powerpc/64: use interrupt restart table to speed up return from interrupt" SOFTE loading | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch warning Failed to apply on branch powerpc/merge (77fe1f3ccbe0cdc6f386aef522b043c52196d4d2)
snowpatch_ozlabs/apply_patch warning Failed to apply on branch powerpc/next (07d8ad6fd8a3d47f50595ca4826f41dbf4f3a0c6)
snowpatch_ozlabs/apply_patch warning Failed to apply on branch linus/master (70585216fe7730d9fb5453d3e2804e149d0fe201)
snowpatch_ozlabs/apply_patch warning Failed to apply on branch powerpc/fixes (478036c4cd1a16e613a2f883d79c03cf187faacb)
snowpatch_ozlabs/apply_patch warning Failed to apply on branch linux-next (70585216fe7730d9fb5453d3e2804e149d0fe201)
snowpatch_ozlabs/apply_patch fail Failed to apply to any branch

Commit Message

Nicholas Piggin June 17, 2021, 7:27 a.m. UTC
This patch loads SOFTE(r1) with lbz, which existing code stores to with
std. This causes interrupt flag corruption on big endian (as Michael
pointed out to me, lbz happens to grab the correct byte on LE kernels
which explains why I didn't run into it).

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
64e still seems to have an issue I'm chasing, and I still need to send a
fix for the cpu hotplug lock warning.

 arch/powerpc/kernel/interrupt_64.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/arch/powerpc/kernel/interrupt_64.S b/arch/powerpc/kernel/interrupt_64.S
index 76b827ae849a..4bf859e7dc25 100644
--- a/arch/powerpc/kernel/interrupt_64.S
+++ b/arch/powerpc/kernel/interrupt_64.S
@@ -618,7 +618,7 @@  RESTART_TABLE(.Linterrupt_return_\srr\()_user_rst_start, .Linterrupt_return_\srr
 
 	std	r1,PACA_EXIT_SAVE_R1(r13) /* save r1 for restart */
 .Linterrupt_return_\srr\()_kernel_rst_start:
-	lbz	r11,SOFTE(r1)
+	ld	r11,SOFTE(r1)
 	cmpwi	r11,IRQS_ENABLED
 	stb	r11,PACAIRQSOFTMASK(r13)
 	bne	1f