Skip to content

Commit ffeb595

Browse files
committed
Merge tag 'powerpc-5.7-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
Pull powerpc fixes from Michael Ellerman: - a fix for the recent change to how we restore non-volatile GPRs, which broke our emulation of reading from the DSCR (Data Stream Control Register). - a fix for the recent rewrite of interrupt/syscall exit in C, we need to exclude KCOV from that code, otherwise it can lead to unrecoverable faults. Thanks to Daniel Axtens. * tag 'powerpc-5.7-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/64s: Disable sanitisers for C syscall/interrupt entry/exit code powerpc/64s: Fix restore of NV GPRs after facility unavailable exception
2 parents 900db15 + 2f26ed1 commit ffeb595

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

arch/powerpc/kernel/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,9 @@ UBSAN_SANITIZE_kprobes.o := n
162162
GCOV_PROFILE_kprobes-ftrace.o := n
163163
KCOV_INSTRUMENT_kprobes-ftrace.o := n
164164
UBSAN_SANITIZE_kprobes-ftrace.o := n
165+
GCOV_PROFILE_syscall_64.o := n
166+
KCOV_INSTRUMENT_syscall_64.o := n
167+
UBSAN_SANITIZE_syscall_64.o := n
165168
UBSAN_SANITIZE_vdso.o := n
166169

167170
# Necessary for booting with kcov enabled on book3e machines

arch/powerpc/kernel/exceptions-64s.S

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2411,6 +2411,7 @@ EXC_COMMON_BEGIN(facility_unavailable_common)
24112411
GEN_COMMON facility_unavailable
24122412
addi r3,r1,STACK_FRAME_OVERHEAD
24132413
bl facility_unavailable_exception
2414+
REST_NVGPRS(r1) /* instruction emulation may change GPRs */
24142415
b interrupt_return
24152416

24162417
GEN_KVM facility_unavailable
@@ -2440,6 +2441,7 @@ EXC_COMMON_BEGIN(h_facility_unavailable_common)
24402441
GEN_COMMON h_facility_unavailable
24412442
addi r3,r1,STACK_FRAME_OVERHEAD
24422443
bl facility_unavailable_exception
2444+
REST_NVGPRS(r1) /* XXX Shouldn't be necessary in practice */
24432445
b interrupt_return
24442446

24452447
GEN_KVM h_facility_unavailable

0 commit comments

Comments
 (0)