All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hwpoison: fix oops on ksm pages
@ 2009-10-13 14:02 Hugh Dickins
  2009-10-13 15:43 ` Andi Kleen
  0 siblings, 1 reply; 4+ messages in thread
From: Hugh Dickins @ 2009-10-13 14:02 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Wu Fengguang, Izik Eidus, Andrew Morton, linux-kernel

Memory failure on a KSM page currently oopses on its NULL anon_vma in
page_lock_anon_vma(): that may not be much worse than the consequence
of ignoring it, but it is better to be consistent with how ZERO_PAGE
and hugetlb pages and other awkward cases are treated.  Just skip it.

Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
---
We could fix it for 2.6.32 at the KSM end, by putting a dummy anon_vma
pointer in there; but that would get harder next time, when KSM will
put a pointer to something else there (and I'm not currently planning
to do any work to open that up to memory_failure).  So I would prefer
this simple PageKsm test, until the other exceptions are handled.

 mm/memory-failure.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- 2.6.32-rc4/mm/memory-failure.c	2009-09-28 00:28:41.000000000 +0100
+++ linux/mm/memory-failure.c	2009-10-13 14:09:12.000000000 +0100
@@ -35,6 +35,7 @@
 #include <linux/mm.h>
 #include <linux/page-flags.h>
 #include <linux/sched.h>
+#include <linux/ksm.h>
 #include <linux/rmap.h>
 #include <linux/pagemap.h>
 #include <linux/swap.h>
@@ -661,7 +662,7 @@ static void hwpoison_user_mappings(struc
 	int i;
 	int kill = 1;
 
-	if (PageReserved(p) || PageCompound(p) || PageSlab(p))
+	if (PageReserved(p) || PageCompound(p) || PageSlab(p) || PageKsm(p))
 		return;
 
 	if (!PageLRU(p))

^ permalink raw reply	[flat|nested] 4+ messages in thread
[parent not found: <i>]

end of thread, other threads:[~2009-10-22  6:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-13 14:02 [PATCH] hwpoison: fix oops on ksm pages Hugh Dickins
2009-10-13 15:43 ` Andi Kleen
2009-10-13 18:03   ` Hugh Dickins
     [not found] <i>
2009-10-22  6:02 ` HWPOISON updates for 2.6.32-rc5 for review Andi Kleen
2009-10-22  6:02   ` [PATCH] HWPOISON: Clean up PR_MCE_KILL interface Andi Kleen
2009-10-22  6:02     ` [PATCH] HWPOISON: Add brief hwpoison description to Documentation Andi Kleen
2009-10-22  6:02       ` [PATCH] HWPOISON: return early on non-LRU pages Andi Kleen
2009-10-22  6:02         ` [PATCH] HWPOISON: Fix page count leak in hwpoison late kill in do_swap_page Andi Kleen
2009-10-22  6:02           ` [PATCH] HWPOISON: fix oops on ksm pages Andi Kleen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.