page_anon_vma() directly checks PAGE_MAPPING_ANON and PAGE_MAPPING_KSM bits on page->mapping to find out if page->mapping is anon_vma; Let's use PageAnon() and PageKsm() helpers instead. It helps readability and makes page_anon_vma() work correctly on tail pages. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> --- include/linux/rmap.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/linux/rmap.h b/include/linux/rmap.h index 9c5ff69fa0cd..21f10e53bb9e 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h @@ -108,8 +108,7 @@ static inline void put_anon_vma(struct anon_vma *anon_vma) static inline struct anon_vma *page_anon_vma(struct page *page) { - if (((unsigned long)page->mapping & PAGE_MAPPING_FLAGS) != - PAGE_MAPPING_ANON) + if (!PageAnon(page) || PageKsm(page)) return NULL; return page_rmapping(page); } -- 2.1.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>