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 <npig...@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 --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 -- 2.23.0