Commit 6749fd11 authored by Ben Hutchings's avatar Ben Hutchings

x86: mm/fault: Fix semaphore imbalance

When backporting commit 33692f27 ('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 7fb08eca,
'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: default avatarBen Hutchings <ben@decadent.org.uk>
parent 3edc6373
...@@ -878,7 +878,7 @@ mm_fault_error(struct pt_regs *regs, unsigned long error_code, ...@@ -878,7 +878,7 @@ mm_fault_error(struct pt_regs *regs, unsigned long error_code,
VM_FAULT_HWPOISON_LARGE)) VM_FAULT_HWPOISON_LARGE))
do_sigbus(regs, error_code, address, fault); do_sigbus(regs, error_code, address, fault);
else if (fault & VM_FAULT_SIGSEGV) else if (fault & VM_FAULT_SIGSEGV)
bad_area_nosemaphore(regs, error_code, address); bad_area(regs, error_code, address);
else else
BUG(); BUG();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment