summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm/memory-failure.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 8c8d78d6d306..32d8e19e7671 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -2570,10 +2570,9 @@ int unpoison_memory(unsigned long pfn)
static DEFINE_RATELIMIT_STATE(unpoison_rs, DEFAULT_RATELIMIT_INTERVAL,
DEFAULT_RATELIMIT_BURST);
- if (!pfn_valid(pfn))
- return -ENXIO;
-
- p = pfn_to_page(pfn);
+ p = pfn_to_online_page(pfn);
+ if (!p)
+ return -EIO;
folio = page_folio(p);
mutex_lock(&mf_mutex);