lkml.org 
[lkml]   [2009]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateWed, 02 Dec 2009 11:12:35 +0800
FromWu Fengguang <>
Subject[PATCH 04/24] HWPOISON: return ENXIO on invalid pfn
Return ENXIO to indicate "No such device or address".
This also avoids calling action_result() with invalid pfn.

CC: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
mm/memory-failure.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
--- linux-mm.orig/mm/memory-failure.c 2009-11-02 10:26:17.000000000 +0800
+++ linux-mm/mm/memory-failure.c 2009-11-02 10:26:17.000000000 +0800
@@ -598,13 +598,11 @@ static struct page_state {

static void action_result(unsigned long pfn, char *msg, int result)
{
- struct page *page = NULL;
- if (pfn_valid(pfn))
- page = pfn_to_page(pfn);
+ struct page *page = pfn_to_page(pfn);

printk(KERN_ERR "MCE %#lx: %s%s page recovery: %s\n",
pfn,
- page && PageDirty(page) ? "dirty " : "",
+ PageDirty(page) ? "dirty " : "",
msg, action_name[result]);
}

@@ -730,8 +728,10 @@ int __memory_failure(unsigned long pfn,
panic("Memory failure from trap %d on page %lx", trapno, pfn);

if (!pfn_valid(pfn)) {
- action_result(pfn, "memory outside kernel control", IGNORED);
- return -EIO;
+ printk(KERN_ERR
+ "MCE %#lx: memory outside kernel control\n",
+ pfn);
+ return -ENXIO;
}

p = pfn_to_page(pfn);



\
 
 \ /
  Last update: 2009-12-02 05:41    [from the cache]
©2003-2010