]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mm/memory-failure: fix an incorrect use of tail pages
authorLiu Shixin <liushixin2@huawei.com>
Thu, 7 Mar 2024 12:48:41 +0000 (20:48 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Apr 2024 10:59:01 +0000 (12:59 +0200)
When backport commit c79c5a0a00a9 to 5.10-stable, there is a mistake change.
The head page instead of tail page should be passed to try_to_unmap(),
otherwise unmap will failed as follows.

 Memory failure: 0x121c10: failed to unmap page (mapcount=1)
 Memory failure: 0x121c10: recovery action for unmapping failed page: Ignored

Fixes: 70168fdc743b ("mm/memory-failure: check the mapcount of the precise page")
Signed-off-by: Liu Shixin <liushixin2@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mm/memory-failure.c

index f320ff02cc1961a4e410d9b9b81145da4121328a..dba2936292cf1f90132d54a2504c5ffb9e70decf 100644 (file)
@@ -1075,7 +1075,7 @@ static bool hwpoison_user_mappings(struct page *p, unsigned long pfn,
                                unmap_success = false;
                        }
                } else {
-                       unmap_success = try_to_unmap(p, ttu);
+                       unmap_success = try_to_unmap(hpage, ttu);
                }
        }
        if (!unmap_success)