X-Git-Url: https://git.stricted.de/?a=blobdiff_plain;f=arch%2Fxtensa%2Fmm%2Ffault.c;h=38278337d85e82690ae143fe038a9f5884eaee21;hb=0c42d1fbb33f7e3fc97a4854e1f9804951ebdd0d;hp=4b7bc8db170ff8ac6befadb8246ac15938b74cae;hpb=b2c6b3e0611c58fbeb6b9c0892b6249f7bdfaf6b;p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git diff --git a/arch/xtensa/mm/fault.c b/arch/xtensa/mm/fault.c index 4b7bc8db170f..38278337d85e 100644 --- a/arch/xtensa/mm/fault.c +++ b/arch/xtensa/mm/fault.c @@ -72,6 +72,8 @@ void do_page_fault(struct pt_regs *regs) address, exccause, regs->pc, is_write? "w":"", is_exec? "x":""); #endif + if (user_mode(regs)) + flags |= FAULT_FLAG_USER; retry: down_read(&mm->mmap_sem); vma = find_vma(mm, address); @@ -115,6 +117,8 @@ good_area: if (unlikely(fault & VM_FAULT_ERROR)) { if (fault & VM_FAULT_OOM) goto out_of_memory; + else if (fault & VM_FAULT_SIGSEGV) + goto bad_area; else if (fault & VM_FAULT_SIGBUS) goto do_sigbus; BUG();