diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2015-02-25 03:02:28 +0300 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2015-03-06 03:39:17 +0300 |
commit | 6749fd110bf44164782df9bba86c0327474446b9 (patch) | |
tree | c76c1ca97c522848d78da66119d130434069aac6 /arch/x86 | |
parent | 3edc6373939d16ff2b4d54aa12059d004bf62884 (diff) | |
download | linux-6749fd110bf44164782df9bba86c0327474446b9.tar.xz |
x86: mm/fault: Fix semaphore imbalance
When backporting commit 33692f27597f ('vm: add VM_FAULT_SIGSEGV
handling support') I didn't notice that it depended on a recent change
to the locking context of mm_fault_error() (commit 7fb08eca4527,
'x86: mm: move mmap_sem unlock from mm_fault_error() to caller').
That isn't easily applicable to 3.2, so instead make sure we drop
mm->mmap_sem on the new branch of mm_fault_error().
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/mm/fault.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 8cac08822a0f..351590ec87b8 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -878,7 +878,7 @@ mm_fault_error(struct pt_regs *regs, unsigned long error_code, VM_FAULT_HWPOISON_LARGE)) do_sigbus(regs, error_code, address, fault); else if (fault & VM_FAULT_SIGSEGV) - bad_area_nosemaphore(regs, error_code, address); + bad_area(regs, error_code, address); else BUG(); } |