Unless I am mistaken, you have to pass the compound head of the page which has the error to collect_procs(). Am I mistaken? (found by code inspection as part of the folio work; I think collect_procs() needs to take a folio, which would eliminate this class of errors) +++ b/mm/memory-failure.c @@ -1633,7 +1633,7 @@ static int memory_failure_dev_pagemap(unsigned long pfn, int flags, * SIGBUS (i.e. MF_MUST_KILL) */ flags |= MF_ACTION_REQUIRED | MF_MUST_KILL; - collect_procs(page, &tokill, flags & MF_ACTION_REQUIRED); + collect_procs(compound_head(page), &tokill, flags & MF_ACTION_REQUIRED); list_for_each_entry(tk, &tokill, nd) if (tk->size_shift)