diff options
author | Mark Brown <broonie@kernel.org> | 2014-11-21 18:53:31 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2014-11-21 18:53:31 +0000 |
commit | 5d0676ad297dc9ac5f8a39070ddfb2245d3c7301 (patch) | |
tree | 1408641cbf2d707f95ee429833395f55438d93b0 /arch/sh/mm | |
parent | cdadf750b6f249215d251c1a5918c473132c7421 (diff) | |
parent | 09cc926e9a6002790e69ed213217ef9874888624 (diff) |
Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
Diffstat (limited to 'arch/sh/mm')
-rw-r--r-- | arch/sh/mm/fault.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c index 1f49c28affa9..541dc6101508 100644 --- a/arch/sh/mm/fault.c +++ b/arch/sh/mm/fault.c @@ -400,9 +400,7 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs, struct mm_struct *mm; struct vm_area_struct * vma; int fault; - int write = error_code & FAULT_CODE_WRITE; - unsigned int flags = (FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE | - (write ? FAULT_FLAG_WRITE : 0)); + unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE; tsk = current; mm = tsk->mm; @@ -476,6 +474,11 @@ good_area: set_thread_fault_code(error_code); + if (user_mode(regs)) + flags |= FAULT_FLAG_USER; + if (error_code & FAULT_CODE_WRITE) + flags |= FAULT_FLAG_WRITE; + /* * If for any reason at all we couldn't handle the fault, * make sure we exit gracefully rather than endlessly redo |