Here's my attempt on fixing recently discovered race in compound_head(). It should make compound_head() reliable in all contexts.
The patchset is against Linus' tree. Let me know if it need to be rebased onto different baseline. It's expected to have conflicts with my page-flags patchset and probably should be applied before it. Kirill A. Shutemov (2): zsmalloc: use page->private instead of page->first_page mm: make compound_head() robust Documentation/vm/split_page_table_lock | 4 +- arch/xtensa/configs/iss_defconfig | 1 - include/linux/mm.h | 53 ++-------------------- include/linux/mm_types.h | 15 ++++--- include/linux/page-flags.h | 80 ++++++++-------------------------- mm/Kconfig | 12 ----- mm/debug.c | 7 --- mm/hugetlb.c | 8 +--- mm/internal.h | 4 +- mm/memory-failure.c | 7 --- mm/page_alloc.c | 36 +++++++-------- mm/swap.c | 4 +- mm/zsmalloc.c | 11 +++-- 13 files changed, 61 insertions(+), 181 deletions(-) -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/