PageHuge(p) branch will never be true,but for compound page we need to set page_flags to correct value.

 

diff --git a/mm/memory-failure.c b/mm/memory-failure.c

index f1aa6433f404..e6995976b11d 100644

--- a/mm/memory-failure.c

+++ b/mm/memory-failure.c

@@ -1382,7 +1382,7 @@ int memory_failure(unsigned long pfn, int flags)

         * page_remove_rmap() in try_to_unmap_one(). So to determine page status

         * correctly, we save a copy of the page flags at this time.

         */

-       if (PageHuge(p))

+       if (PageCompound(p))

                page_flags = hpage->flags;

        else

                page_flags = p->flags;

--

2.25.1