From: Hugh Dickins Date: Mon, 17 Dec 2012 02:56:58 +0000 (-0800) Subject: mm: fix kernel BUG at huge_memory.c:1474! X-Git-Tag: v3.8-rc1~84 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4f1de176614f634c367e5994a7bcc428c940df0;p=pandora-kernel.git mm: fix kernel BUG at huge_memory.c:1474! Andrea's autonuma-benchmark numa01 hits kernel BUG at huge_memory.c:1474! in change_huge_pmd called from change_protection from change_prot_numa from task_numa_work. That BUG, introduced in the huge zero page commit cad7f613c4d0 ("thp: change_huge_pmd(): make sure we don't try to make a page writable") was trying to verify that newprot never adds write permission to an anonymous huge page; but Automatic NUMA Balancing's 4b10e7d562c9 ("mm: mempolicy: Implement change_prot_numa() in terms of change_protection()") adds a new prot_numa path into change_huge_pmd(), which makes no use of the newprot provided, and may retain the write bit in the pmd. Just move the BUG_ON(pmd_write(entry)) up into the !prot_numa block. Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed