From: Nick Piggin Date: Wed, 14 Jan 2009 06:28:16 +0000 (+0100) Subject: mm: fix assertion X-Git-Tag: v2.6.28.1~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=be21b8d128703869d9fab528080c237ef7701af6;p=karo-tx-linux.git mm: fix assertion commit 18e6959c385f3edf3991fa6662a53dac4eb10d5b upstream. This assertion is incorrect for lockless pagecache. By definition if we have an unpinned page that we are trying to take a speculative reference to, it may become the tail of a compound page at any time (if it is freed, then reallocated as a compound page). It was still a valid assertion for the vmscan.c LRU isolation case, but it doesn't seem incredibly helpful... if somebody wants it, they can put it back directly where it applies in the vmscan code. Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- diff --git a/include/linux/mm.h b/include/linux/mm.h index ffee2f743418..86b836d276a8 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -253,7 +253,6 @@ static inline int put_page_testzero(struct page *page) */ static inline int get_page_unless_zero(struct page *page) { - VM_BUG_ON(PageTail(page)); return atomic_inc_not_zero(&page->_count); }