Hi, Greg,
There is a bugfix for 5.10-stable, 5.4-stable, 4.19-stable. Introduced when backport
commit c79c5a0a00a9 ("mm/memory-failure: check the mapcount of the precise page").
[1]: https://lore.kernel.org/stable/20240307124841.2838010-1-liushixin2@huawei.co...
[2]: https://lore.kernel.org/stable/20240307125053.2847205-1-liushixin2@huawei.co...
[3]: https://lore.kernel.org/stable/20240307125150.2849068-1-liushixin2@huawei.co...
Thanks,
On 2024/3/7 20:48, Liu Shixin wrote:
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
mm/memory-failure.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/memory-failure.c b/mm/memory-failure.c index f320ff02cc19..dba2936292cf 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -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);
} } if (!unmap_success)unmap_success = try_to_unmap(hpage, ttu);