diff options
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))  | 
