projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
[linux-2.6-block.git]
/
mm
/
hwpoison-inject.c
diff --git
a/mm/hwpoison-inject.c
b/mm/hwpoison-inject.c
index c597f46ac18af206d88d72a48087b242effcb7c3..10ea71905c1fbbb8a9582737e05f78fefa86012e 100644
(file)
--- a/
mm/hwpoison-inject.c
+++ b/
mm/hwpoison-inject.c
@@
-18,6
+18,8
@@
static int hwpoison_inject(void *data, u64 val)
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
+ if (!hwpoison_filter_enable)
+ goto inject;
if (!pfn_valid(pfn))
return -ENXIO;
if (!pfn_valid(pfn))
return -ENXIO;
@@
-29,7
+31,7
@@
static int hwpoison_inject(void *data, u64 val)
return 0;
if (!PageLRU(p))
return 0;
if (!PageLRU(p))
- shake_page(p);
+ shake_page(p
, 0
);
/*
* This implies unable to support non-LRU pages.
*/
/*
* This implies unable to support non-LRU pages.
*/
@@
-48,6
+50,7
@@
static int hwpoison_inject(void *data, u64 val)
if (err)
return 0;
if (err)
return 0;
+inject:
printk(KERN_INFO "Injecting memory failure at pfn %lx\n", pfn);
return __memory_failure(pfn, 18, MF_COUNT_INCREASED);
}
printk(KERN_INFO "Injecting memory failure at pfn %lx\n", pfn);
return __memory_failure(pfn, 18, MF_COUNT_INCREASED);
}