parisc: Unbreak handling exceptions from kernel modules
authorHelge Deller <deller@gmx.de>
Fri, 8 Apr 2016 16:32:52 +0000 (18:32 +0200)
committerHelge Deller <deller@gmx.de>
Fri, 8 Apr 2016 20:14:14 +0000 (22:14 +0200)
commit2ef4dfd9d9f288943e249b78365a69e3ea3ec072
treeb2add375348d201853d93329c144159cf45b96ae
parentef72f3110d8b19f4c098a0bff7ed7d11945e70c6
parisc: Unbreak handling exceptions from kernel modules

Handling exceptions from modules never worked on parisc.
It was just masked by the fact that exceptions from modules
don't happen during normal use.

When a module triggers an exception in get_user() we need to load the
main kernel dp value before accessing the exception_data structure, and
afterwards restore the original dp value of the module on exit.

Noticed-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org
arch/parisc/include/asm/uaccess.h
arch/parisc/kernel/asm-offsets.c
arch/parisc/lib/fixup.S
arch/parisc/mm/fault.c