diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 3f3d1e82c5749b..7da3697b33f16f 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -2575,6 +2575,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);