1
0
Fork 0
remarkable-linux/arch
Nicholas Piggin 0726ba0491 powerpc/64s: Fix i-side SLB miss bad address handler saving nonvolatile GPRs
commit 52396500f9 upstream.

The SLB bad address handler's trap number fixup does not preserve the
low bit that indicates nonvolatile GPRs have not been saved. This
leads save_nvgprs to skip saving them, and subsequent functions and
return from interrupt will think they are saved.

This causes kernel branch-to-garbage debugging to not have correct
registers, can also cause userspace to have its registers clobbered
after a segfault.

Fixes: f0f558b131 ("powerpc/mm: Preserve CFAR value on SLB miss caused by access to bogus address")
Cc: stable@vger.kernel.org # v4.9+
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-08 14:26:28 +02:00
..
alpha vgacon: Set VGA struct resource types 2018-03-24 11:01:25 +01:00
arc .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-02-13 10:19:46 +01:00
arm ARM: dts: sun6i: a31s: bpi-m2: add missing regulators 2018-04-08 14:26:26 +02:00
arm64 mm/vmalloc: add interfaces to free unmapped page table 2018-03-28 18:24:38 +02:00
blackfin pinctrl: adi2: Fix Kconfig build problem 2017-12-20 10:10:34 +01:00
c6x License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
cris License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
frv License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
h8300 h8300: remove extraneous __BIG_ENDIAN definition 2018-03-28 18:24:38 +02:00
hexagon License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
ia64 ia64, sched/cputime: Fix build error if CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y 2018-03-03 10:24:35 +01:00
m32r m32r: fix endianness constraints 2018-02-28 10:19:44 +01:00
m68k m68k: add missing SOFTIRQENTRY_TEXT linker section 2018-02-25 11:07:58 +01:00
metag .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-02-13 10:19:46 +01:00
microblaze microblaze: fix endian handling 2018-02-28 10:19:45 +01:00
mips MIPS: lantiq: ase: Enable MFD_SYSCON 2018-03-28 18:24:28 +02:00
mn10300 mn10300/misalignment: Use SIGSEGV SEGV_MAPERR to report a failed user copy 2018-02-16 20:23:11 +01:00
nios2 .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-02-13 10:19:46 +01:00
openrisc kmemcheck: remove annotations 2018-02-22 15:42:23 +01:00
parisc parisc: Handle case where flush_cache_range is called with no context 2018-03-21 12:06:42 +01:00
powerpc powerpc/64s: Fix i-side SLB miss bad address handler saving nonvolatile GPRs 2018-04-08 14:26:28 +02:00
s390 KVM: s390: fix memory overwrites when not using SCA entries 2018-03-15 10:54:32 +01:00
score License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
sh SolutionEngine771x: fix Ether platform data 2018-03-03 10:24:36 +01:00
sparc kmemcheck: stop using GFP_NOTRACK and SLAB_NOTRACK 2018-02-22 15:42:23 +01:00
tile fcntl: don't cap l_start and l_end values for F_GETLK64 in compat syscall 2017-12-17 15:07:59 +01:00
um arch, mm: Allow arch_dup_mmap() to fail 2017-12-29 17:53:43 +01:00
unicore32 kmemcheck: stop using GFP_NOTRACK and SLAB_NOTRACK 2018-02-22 15:42:23 +01:00
x86 x86/platform/uv/BAU: Add APIC idt entry 2018-04-08 14:26:27 +02:00
xtensa xtensa: fix high memory/reserved memory collision 2018-02-28 10:19:38 +01:00
.gitignore
Kconfig kprobes: Use synchronize_rcu_tasks() for optprobe with CONFIG_PREEMPT=y 2017-12-10 13:40:40 +01:00