linux/arch/parisc
John David Anglin 056bcad97c parisc: Ensure consistent state when switching to kernel stack at syscall entry
[ Upstream commit 6ed518328d ]

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.

Cc: <stable@vger.kernel.org>
Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
History 2016-11-23 23:09:24 -05:00
..
configs parisc: Update defconfigs which were missing CONFIG_NET. 2014-09-24 14:34:29 -04:00
hpux parisc: sys_hpux: NUL terminator is one past the end 2014-08-27 14:33:46 +02:00
include parisc: fix copy_from_user() 2016-10-05 22:40:20 -04:00
kernel parisc: Ensure consistent state when switching to kernel stack at syscall entry 2016-11-23 23:09:24 -05:00
lib parisc: Unbreak handling exceptions from kernel modules 2016-04-20 09:40:59 -04: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 09:40:59 -04: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: Wire up seccomp, getrandom and memfd_create syscalls 2014-08-27 14:39:56 +02:00
Kconfig.debug consolidate per-arch stack overflow debugging options 2013-07-04 11:25:39 -07:00
Makefile parisc: Only use -mfast-indirect-calls option for 32-bit kernel builds 2014-09-23 21:38:26 +02:00
nm Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00