s390/mm: fix deadlock in unmap_hugepage_range()
authorGerald Schaefer <gerald.schaefer@de.ibm.com>
Thu, 30 Aug 2012 16:52:54 +0000 (18:52 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 3 Sep 2012 09:14:06 +0000 (11:14 +0200)
commitd5feaea364281a7e9b80b4712e790ab908d61711
tree2ebb9eed3eee9df643e3a3657ce89311b1024930
parent5b716ac728bcc01b1f2a7ed6e437196602237c27
s390/mm: fix deadlock in unmap_hugepage_range()

git commit cd2934a3 moved the flush_tlb_range() within
__unmap_hugepage_range() inside the mm->page_table_lock, which
triggered a deadlock in s390 tlb flushing code. __tlb_flush_mm_cond()
also tries to acquire the mm->page_table_lock, but that is not needed
because all callers already have mm->mmap_sem or mm->page_table_lock,
so it can be safely removed to fix the deadlock.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/tlbflush.h