diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 96ce31e5a203be..c8b5bf3aa6bc61 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -2576,6 +2576,13 @@ int unpoison_memory(unsigned long pfn) goto unlock_mutex; } + if (PagePoisoned(p)) { + unpoison_pr_info("%#lx: page is uninitialized\n", + pfn, &unpoison_rs); + ret = -EOPNOTSUPP; + goto unlock_mutex; + } + if (!PageHWPoison(p)) { unpoison_pr_info("%#lx: page was already unpoisoned\n", pfn, &unpoison_rs);