diff options
author | Wu Fengguang <fengguang.wu@intel.com> | 2009-12-16 12:19:59 +0100 |
---|---|---|
committer | Andi Kleen <ak@linux.intel.com> | 2009-12-16 12:19:59 +0100 |
commit | 31d3d3484f9bd263925ecaa341500ac2df3a5d9b (patch) | |
tree | 38f331f27f3b4bc537303fc90490b88d53e43710 /Documentation/vm | |
parent | 7c116f2b0dbac4a1dd051c7a5e8cef37701cafd4 (diff) | |
download | blackbird-op-linux-31d3d3484f9bd263925ecaa341500ac2df3a5d9b.tar.gz blackbird-op-linux-31d3d3484f9bd263925ecaa341500ac2df3a5d9b.zip |
HWPOISON: limit hwpoison injector to known page types
__memory_failure()'s workflow is
set PG_hwpoison
//...
unset PG_hwpoison if didn't pass hwpoison filter
That could kill unrelated process if it happens to page fault on the
page with the (temporary) PG_hwpoison. The race should be big enough to
appear in stress tests.
Fix it by grabbing the page and checking filter at inject time. This
also avoids the very noisy "Injecting memory failure..." messages.
- we don't touch madvise() based injection, because the filters are
generally not necessary for it.
- if we want to apply the filters to h/w aided injection, we'd better to
rearrange the logic in __memory_failure() instead of this patch.
AK: fix documentation, use drain all, cleanups
CC: Haicheng Li <haicheng.li@intel.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'Documentation/vm')
-rw-r--r-- | Documentation/vm/hwpoison.txt | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Documentation/vm/hwpoison.txt b/Documentation/vm/hwpoison.txt index fdf580464324..4ef7bb30d15c 100644 --- a/Documentation/vm/hwpoison.txt +++ b/Documentation/vm/hwpoison.txt @@ -103,7 +103,8 @@ hwpoison-inject module through debugfs corrupt-pfn -Inject hwpoison fault at PFN echoed into this file. +Inject hwpoison fault at PFN echoed into this file. This does +some early filtering to avoid corrupted unintended pages in test suites. unpoison-pfn |