linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2] mm/memory-failure: Ensure collect_procs is retried when  unmap fails
@ 2025-09-23 14:57 shengminghu512
  2025-09-23 22:17 ` Jiaqi Yan
  0 siblings, 1 reply; 4+ messages in thread
From: shengminghu512 @ 2025-09-23 14:57 UTC (permalink / raw)
  To: linmiaohe, nao.horiguchi, akpm
  Cc: linux-mm, linux-kernel, hu.shengming, shengminghu512, zhang.run

From: Shengming Hu <shengminghu512@qq.com>
Date: Tue, 23 Sep 2025 20:56:28 +0800
Subject: [PATCH V2] mm/memory-failure: Ensure collect_procs is retried when
 unmap fails

In the memory_failure process, if collect_procs is not executed with the
flag set, the to_kill list may be empty. Even if there are pages that fail
to be unmapped, SIGKILL or SIGBUS cannot be sent to the process via
collect_procs.

This patch fixes the issue by re-executing collect_procs when the to_kill
list is empty and unmap fails. This collects processes with unmap failures
into the to_kill list, allowing SIGBUS or SIGKILL to terminate them in
subsequent code.

V2:
  - Resent as plain text (previous version was HTML).
  - No functional changes.

Signed-off-by: Shengming Hu <hu.shengming@zte.com.cn>
---
 mm/memory-failure.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index a24806bb8e82..8157823c7fb7 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -1600,9 +1600,12 @@ static bool hwpoison_user_mappings(struct folio *folio, struct page *p,
 	collect_procs(folio, p, &tokill, flags & MF_ACTION_REQUIRED);
 
 	unmap_success = !unmap_poisoned_folio(folio, pfn, flags & MF_MUST_KILL);
-	if (!unmap_success)
+	if (!unmap_success) {
 		pr_err("%#lx: failed to unmap page (folio mapcount=%d)\n",
 		       pfn, folio_mapcount(folio));
+		if (list_empty(&tokill))
+			collect_procs(folio, p, &tokill, 1);
+	}
 
 	/*
 	 * try_to_unmap() might put mlocked page in lru cache, so call
-- 
2.25.1

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-09-24 14:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-23 14:57 [PATCH V2] mm/memory-failure: Ensure collect_procs is retried when unmap fails shengminghu512
2025-09-23 22:17 ` Jiaqi Yan
2025-09-24 13:33   ` =?gb18030?B?c2hlbmdtaW5naHU1MTI=?=
2025-09-24 13:55   ` [PATCH V2] mm/memory-failure: Ensure collect_procs is retriedwhen " shengminghu512

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox