s390: fix kernel crash due to linkage stack instructions
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 3 Feb 2014 16:37:15 +0000 (17:37 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 19 May 2014 05:54:37 +0000 (07:54 +0200)
commit0e37e30a8f55140dc1702b2d2008d41155bb3360
tree5c4007ca42b6df8ce823afa7289568fa692ff1de
parentefe55430442061cb01177c88b891a678935a6eae
s390: fix kernel crash due to linkage stack instructions

commit 8d7f6690cedb83456edd41c9bd583783f0703bf0 upstream

The kernel currently crashes with a low-address-protection exception
if a user space process executes an instruction that tries to use the
linkage stack. Set the base-ASTE origin and the subspace-ASTE origin
of the dispatchable-unit-control-table to point to a dummy ASTE.
Set up control register 15 to point to an empty linkage stack with no
room left.

A user space process with a linkage stack instruction will still crash
but with a different exception which is correctly translated to a
segmentation fault instead of a kernel oops.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
[dannf: backported to Debian's 2.6.32]
Signed-off-by: Willy Tarreau <w@1wt.eu>
arch/s390/kernel/head64.S