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)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 9 Apr 2014 01:20:46 +0000 (02:20 +0100)
commit1664028240024d96721a5328c93ff206661cd9e1
tree1706582342592e3c724e315fbd5da7068cb2afb8
parentb1a292f3ccbbfe864cb4931e8fed4baea6b17eb8
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>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/s390/kernel/head64.S