mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/2] mm, Make __get_user_pages return -EHWPOISON for HWPOISON page
@ 2010-04-27  7:04 Huang Ying
  2010-04-27 21:47 ` Andrew Morton
  0 siblings, 1 reply; 4+ messages in thread
From: Huang Ying @ 2010-04-27  7:04 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Andi Kleen, Avi Kivity

With this patch, the caller of __get_user_pages can distinguish
HWPOISON page from general FAULT page. This is needed by KVM, where
UCR MCE should be relayed to guest for HWPOISON page, while
instruction emulation and MMIO will be tried for general FAULT page.

Signed-off-by: Huang Ying <ying.huang@intel.com>
---
 include/asm-generic/errno.h |    2 ++
 mm/memory.c                 |    5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

--- a/include/asm-generic/errno.h
+++ b/include/asm-generic/errno.h
@@ -108,4 +108,6 @@
 
 #define ERFKILL		132	/* Operation not possible due to RF-kill */
 
+#define EHWPOISON	133	/* Memory page has hardware error */
+
 #endif
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1432,9 +1432,10 @@ int __get_user_pages(struct task_struct
 				if (ret & VM_FAULT_ERROR) {
 					if (ret & VM_FAULT_OOM)
 						return i ? i : -ENOMEM;
-					if (ret &
-					    (VM_FAULT_HWPOISON|VM_FAULT_SIGBUS))
+					if (ret & VM_FAULT_SIGBUS)
 						return i ? i : -EFAULT;
+					if (ret & VM_FAULT_HWPOISON)
+						return i ? i : -EHWPOISON;
 					BUG();
 				}
 				if (ret & VM_FAULT_MAJOR)



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-04-28  1:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-27  7:04 [PATCH 1/2] mm, Make __get_user_pages return -EHWPOISON for HWPOISON page Huang Ying
2010-04-27 21:47 ` Andrew Morton
2010-04-28  1:50   ` Huang Ying
2010-04-27 22:56     ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®