https://github.com/torvalds/linux
Revision 1f64d69c7ad2e48e697493e45590679f7a69b7b2 authored by Dean Nelson on 02 December 2010, 22:31:12 UTC, committed by Linus Torvalds on 02 December 2010, 22:51:14 UTC
Have hugetlb_fault() call unlock_page(page) only if it had previously
called lock_page(page).

Setting CONFIG_DEBUG_VM=y and then running the libhugetlbfs test suite,
resulted in the tripping of VM_BUG_ON(!PageLocked(page)) in
unlock_page() having been called by hugetlb_fault() when page ==
pagecache_page.  This patch remedied the problem.

Signed-off-by: Dean Nelson <dnelson@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 94c35de
History
Tip revision: 1f64d69c7ad2e48e697493e45590679f7a69b7b2 authored by Dean Nelson on 02 December 2010, 22:31:12 UTC
mm/hugetlb.c: avoid double unlock_page() in hugetlb_fault()
Tip revision: 1f64d69
File Mode Size
Makefile -rw-r--r-- 394 bytes
compat.c -rw-r--r-- 17.0 KB
compat_mq.c -rw-r--r-- 4.1 KB
ipc_sysctl.c -rw-r--r-- 5.1 KB
ipcns_notifier.c -rw-r--r-- 2.2 KB
mq_sysctl.c -rw-r--r-- 2.7 KB
mqueue.c -rw-r--r-- 30.3 KB
msg.c -rw-r--r-- 20.8 KB
msgutil.c -rw-r--r-- 2.8 KB
namespace.c -rw-r--r-- 3.3 KB
sem.c -rw-r--r-- 40.3 KB
shm.c -rw-r--r-- 26.5 KB
syscall.c -rw-r--r-- 2.3 KB
util.c -rw-r--r-- 22.9 KB
util.h -rw-r--r-- 5.2 KB

back to top