From: Linus Torvalds Date: Thu, 12 Aug 2010 17:15:10 +0000 (-0700) Subject: Merge branch 'hwpoison' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux... X-Git-Tag: v2.6.36-rc1~52 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=commitdiff_plain;h=1021a645344d4a77333e19e60d37b9343be0d7b7 Merge branch 'hwpoison' of git://git./linux/kernel/git/ak/linux-mce-2.6 * 'hwpoison' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: hugetlb: add missing unlock in avoidcopy path in hugetlb_cow() hwpoison: rename CONFIG HWPOISON, hugetlb: support hwpoison injection for hugepage HWPOISON, hugetlb: detect hwpoison in hugetlb code HWPOISON, hugetlb: isolate corrupted hugepage HWPOISON, hugetlb: maintain mce_bad_pages in handling hugepage error HWPOISON, hugetlb: set/clear PG_hwpoison bits on hugepage HWPOISON, hugetlb: enable error handling path for hugepage hugetlb, rmap: add reverse mapping for hugepage hugetlb: move definition of is_vm_hugetlb_page() to hugepage_inline.h Fix up trivial conflicts in mm/memory-failure.c --- 1021a645344d4a77333e19e60d37b9343be0d7b7 diff --cc mm/hugetlb.c index b61d2db9f34e,303fb0c02364..cc5be788a39f --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@@ -2355,11 -2400,10 +2403,13 @@@ retry_avoidcopy huge_ptep_clear_flush(vma, address, ptep); set_huge_pte_at(mm, address, ptep, make_huge_pte(vma, new_page, 1)); + page_remove_rmap(old_page); + hugepage_add_anon_rmap(new_page, vma, address); /* Make the old page be freed below */ new_page = old_page; + mmu_notifier_invalidate_range_end(mm, + address & huge_page_mask(h), + (address & huge_page_mask(h)) + huge_page_size(h)); } page_cache_release(new_page); page_cache_release(old_page); diff --cc mm/memory-failure.c index 6b44e52cacaa,d0b420aba726..9c26eeca1342 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@@ -45,7 -45,7 +45,8 @@@ #include #include #include +#include + #include #include "internal.h" int sysctl_memory_failure_early_kill __read_mostly = 0;