x86/mm: Fix pgd_lock deadlock
It's forbidden to take the page_table_lock with the irq disabled or if there's contention the IPIs (for tlb flushes) sent with the page_table_lock held will never run leading to a deadlock. Nobody takes the pgd_lock from irq context so the _irqsave can be removed. Signed-off-by:Andrea Arcangeli <aarcange@redhat.com> Acked-by:
Rik van Riel <riel@redhat.com> Tested-by:
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: <stable@kernel.org> LKML-Reference: <201102162345.p1GNjMjm021738@imap1.linux-foundation.org> Signed-off-by:
Ingo Molnar <mingo@elte.hu>
Showing
- arch/x86/mm/fault.c 3 additions, 4 deletionsarch/x86/mm/fault.c
- arch/x86/mm/init_64.c 3 additions, 3 deletionsarch/x86/mm/init_64.c
- arch/x86/mm/pageattr.c 8 additions, 10 deletionsarch/x86/mm/pageattr.c
- arch/x86/mm/pgtable.c 4 additions, 7 deletionsarch/x86/mm/pgtable.c
- arch/x86/xen/mmu.c 4 additions, 6 deletionsarch/x86/xen/mmu.c
Loading
Please register or sign in to comment