mirror-linux/arch/powerpc
Christophe Leroy (CS GROUP) 608328ba5b powerpc/32: Restore disabling of interrupts at interrupt/syscall exit
Commit 2997876c4a ("powerpc/32: Restore clearing of MSR[RI] at
interrupt/syscall exit") delayed clearing of MSR[RI], but missed that
both MSR[RI] and MSR[EE] are cleared at the same time, so the commit
also delayed the disabling of interrupts, leading to unexpected
behaviour.

To fix that, mostly revert the blamed commit and restore the clearing
of MSR[RI] in interrupt_exit_kernel_prepare() instead. For 8xx it
implies adding a synchronising instruction after the mtspr in order to
make sure no instruction counter interrupt (used for perf events) will
fire just after clearing MSR[RI].

Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de>
Closes: https://lore.kernel.org/all/4d0bd05d-6158-1323-3509-744d3fbe8fc7@xenosoft.de/
Reported-by: Guenter Roeck <linux@roeck-us.net>
Closes: https://lore.kernel.org/all/6b05eb1c-fdef-44e0-91a7-8286825e68f1@roeck-us.net/
Fixes: 2997876c4a ("powerpc/32: Restore clearing of MSR[RI] at interrupt/syscall exit")
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/585ea521b2be99d293b539bbfae148366cfb3687.1766146895.git.chleroy@kernel.org
2025-12-22 18:25:07 +05:30
..
boot powerpc updates for 6.19 2025-12-05 16:18:21 -08:00
configs sound fixes for 6.19-rc1 2025-12-13 16:09:10 +12:00
crypto lib/crypto: curve25519: Consolidate into single module 2025-09-06 16:32:43 -07:00
include powerpc/32: Restore disabling of interrupts at interrupt/syscall exit 2025-12-22 18:25:07 +05:30
kernel powerpc/32: Restore disabling of interrupts at interrupt/syscall exit 2025-12-22 18:25:07 +05:30
kexec powerpc/kexec: Enable SMT before waking offline CPUs 2025-12-22 17:53:37 +05:30
kvm ARM: 2025-12-05 17:01:20 -08:00
lib powerpc/qspinlock: Add spinlock contention tracepoint 2025-09-01 13:38:12 +05:30
math-emu
mm powerpc/64s/slb: Add no_slb_preload early cmdline param 2025-11-18 12:35:53 +05:30
net bpf: specify the old and new poke_type for bpf_arch_text_poke 2025-11-24 09:47:03 -08:00
perf powerpc/perf/vpa-dtl: Handle the writing of perf record when aux wake up is needed 2025-09-22 14:48:57 +05:30
platforms powerpc/powernv: Enable cpuidle state detection for POWER11 2025-12-22 18:08:56 +05:30
purgatory
sysdev soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
tools powerpc/tools: drop `-o pipefail` in gcc check scripts 2025-12-22 17:56:34 +05:30
xmon powerpc/xmon: replace sizeof calculations with ARRAY_SIZE macro 2025-09-01 13:40:46 +05:30
Kbuild
Kconfig mm: fix MAX_FOLIO_ORDER on powerpc configs with hugetlb 2025-11-15 10:52:00 -08:00
Kconfig.debug powerpc: Remove UDBG_RTAS_CONSOLE 2025-02-26 21:15:09 +05:30
Makefile kbuild: Add missing $(objtree) prefix to powerpc crtsavres.o artifact 2025-09-01 13:41:57 +05:30
Makefile.postlink