]> git.ipfire.org Git - people/ms/linux.git/commit
hugetlb: fix copy_hugetlb_page_range() to handle migration/hwpoisoned entry
authorNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Mon, 23 Jun 2014 20:22:03 +0000 (13:22 -0700)
committerJiri Slaby <jslaby@suse.cz>
Tue, 26 Aug 2014 12:12:03 +0000 (14:12 +0200)
commitf4050f0ccbe5a21396e51fce3319192dc61841c1
tree7177bcdb51c10935ecb096ee1e5a909c85227abe
parentd7c722da3c3aeed898eccbad143ff6bfd84812e5
hugetlb: fix copy_hugetlb_page_range() to handle migration/hwpoisoned entry

commit 4a705fef986231a3e7a6b1a6d3c37025f021f49f upstream.

There's a race between fork() and hugepage migration, as a result we try
to "dereference" a swap entry as a normal pte, causing kernel panic.
The cause of the problem is that copy_hugetlb_page_range() can't handle
"swap entry" family (migration entry and hwpoisoned entry) so let's fix
it.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Christoph Lameter <cl@linux.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
mm/hugetlb.c