2022-06-15 10:11:06

by zhenwei pi

[permalink] [raw]
Subject: [PATCH v6 0/1] mm/memory-failure: don't allow to unpoison hw corrupted page

v5 -> v6:
- Suggested by Naoya, declare 'hw_memory_failure' with initial value
explicitly, also add __read_mostly. Thanks to Naoya&David!
Leave 'Cc stable' or not to Andrew to decide.

v4 -> v5:
- Add mf_flags 'MF_SW_SIMULATED' to distinguish SW/HW memory failure,
and use a global variable to record HW memory failure, once HW
memory failure happens, disable unpoison.

v3 -> v4:
- Add debug entry "hwpoisoned-pages" to show the number of hwpoisoned
pages.
- Disable unpoison when a read HW memory failure occurs.

v2 -> v3:
- David pointed out that virt_to_kpte() is broken(no pmd_large() test
on a PMD), so drop this API in this patch, walk kmap instead.

v1 -> v2:
- this change gets protected by mf_mutex
- use -EOPNOTSUPP instead of -EPERM

v1:
- check KPTE to avoid to unpoison hardware corrupted page

zhenwei pi (1):
mm/memory-failure: disable unpoison once hw error happens

Documentation/vm/hwpoison.rst | 3 ++-
drivers/base/memory.c | 2 +-
include/linux/mm.h | 1 +
mm/hwpoison-inject.c | 2 +-
mm/madvise.c | 2 +-
mm/memory-failure.c | 12 ++++++++++++
6 files changed, 18 insertions(+), 4 deletions(-)

--
2.20.1