android_kernel_oneplus_msm8998/arch/parisc
John David Anglin f2d9107bd0 parisc: Ensure consistent state when switching to kernel stack at syscall entry
commit 6ed518328d0189e0fdf1bb7c73290d546143ea66 upstream.

We have one critical section in the syscall entry path in which we switch from
the userspace stack to kernel stack. In the event of an external interrupt, the
interrupt code distinguishes between those two states by analyzing the value of
sr7. If sr7 is zero, it uses the kernel stack. Therefore it's important, that
the value of sr7 is in sync with the currently enabled stack.

This patch now disables interrupts while executing the critical section.  This
prevents the interrupt handler to possibly see an inconsistent state which in
the worst case can lead to crashes.

Interestingly, in the syscall exit path interrupts were already disabled in the
critical section which switches back to the userspace stack.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-11-10 16:36:34 +01:00
..
configs rtmutex: Delete scriptable tester 2015-07-20 11:45:45 +02:00
include parisc: Increase initial kernel mapping size 2016-10-28 03:01:27 -04:00
kernel parisc: Ensure consistent state when switching to kernel stack at syscall entry 2016-11-10 16:36:34 +01:00
lib parisc: Unbreak handling exceptions from kernel modules 2016-04-20 15:41:52 +09:00
math-emu parisc: remove duplicate define 2013-11-07 22:28:15 +01:00
mm parisc: Unbreak handling exceptions from kernel modules 2016-04-20 15:41:52 +09:00
oprofile oprofile: more whitespace fixes 2008-10-15 20:55:51 +02:00
defpalo.conf parisc: switch to gzip-compressed vmlinuz kernel 2013-07-09 22:09:20 +02:00
install.sh parisc: make "make install" not depend on vmlinux 2013-11-07 22:28:06 +01:00
Kconfig parisc: Add Huge Page and HUGETLBFS support 2015-11-22 12:23:10 +01:00
Kconfig.debug consolidate per-arch stack overflow debugging options 2013-07-04 11:25:39 -07:00
Makefile Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2015-02-19 10:07:08 -08:00
nm