diff options
author | 2015-02-20 11:54:53 -0800 | |
---|---|---|
committer | 2015-02-20 11:54:53 -0800 | |
commit | 4c971aa78314253cce914ed29e3d90df3326d646 (patch) | |
tree | a9dcf0b1fdc9e1aacff90afb5b3ab79983115dcc /arch/s390/mm/fault.c | |
parent | Merge branch 'next' into for-linus (diff) | |
parent | Input: psmouse - use IS_ENABLED instead of homegrown code (diff) | |
download | linux-dev-4c971aa78314253cce914ed29e3d90df3326d646.tar.xz linux-dev-4c971aa78314253cce914ed29e3d90df3326d646.zip |
Merge branch 'next' into for-linus
Second round of updates for 3.20.
Diffstat (limited to 'arch/s390/mm/fault.c')
-rw-r--r-- | arch/s390/mm/fault.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 811937bb90be..9065d5aa3932 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -374,6 +374,12 @@ static noinline void do_fault_error(struct pt_regs *regs, int fault) do_no_context(regs); else pagefault_out_of_memory(); + } else if (fault & VM_FAULT_SIGSEGV) { + /* Kernel mode? Handle exceptions or die */ + if (!user_mode(regs)) + do_no_context(regs); + else + do_sigsegv(regs, SEGV_MAPERR); } else if (fault & VM_FAULT_SIGBUS) { /* Kernel mode? Handle exceptions or die */ if (!user_mode(regs)) |