diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 48815e1af645941c4b197dd5254ce89905438e3c..e01a2da803e243800d71f02026df6500511f0281 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -1040,12 +1040,11 @@ static int me_huge_page(struct page_state *ps, struct page *p)
 		res = MF_FAILED;
 		unlock_page(hpage);
 		/*
-		 * migration entry prevents later access on error anonymous
-		 * hugepage, so we can free and dissolve it into buddy to
-		 * save healthy subpages.
+		 * migration entry prevents later access on error hugepage,
+		 * so we can free and dissolve it into buddy to save healthy
+		 * subpages.
 		 */
-		if (PageAnon(hpage))
-			put_page(hpage);
+		put_page(hpage);
 		if (__page_handle_poison(p)) {
 			page_ref_inc(p);
 			res = MF_RECOVERED;