From nobody Thu Oct 2 01:59:14 2025 Received: from out162-62-57-252.mail.qq.com (out162-62-57-252.mail.qq.com [162.62.57.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B04C18E20 for ; Tue, 23 Sep 2025 15:05:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=162.62.57.252 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758639961; cv=none; b=P2Nr28XF7vXdtlINw3nzPGTJ4Xqsc8EbFD+g6xnZZxu0LIsfuhOYHtQ3izsTBjXbKkd70DTod+UzhVYfjdEZ5djPMzE31DUkPA40JJp8TLnQVdekRSBnrpGW/FAVo06EHsrXiwQbQnAIypLGkYqaybBWPUbOO8IRyInlK590lKo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758639961; c=relaxed/simple; bh=H/DoxZF7P4nKqwBqst7vh1I9d9VymNgrxJ0Xnlc4ZXo=; h=From:To:Cc:Subject:Mime-Version:Content-Type:Date:Message-ID; b=N5l9nflA73KydxS39T9iswjUS99I+ramh7Nzp2eC1TBUbd21T3FZGshopFv4iClecY0tU52HS5GYoABeuVP/5iYDAiwbeckDUYFUqj10WXV5KNlXGnezIt6V1hil7YQJ61RZezejcDZb62B0eiLj6vLmJYaGBPa4zeYjhvx0Xoo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com; spf=pass smtp.mailfrom=qq.com; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b=UEmynh1u; arc=none smtp.client-ip=162.62.57.252 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=qq.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b="UEmynh1u" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1758639943; bh=H/DoxZF7P4nKqwBqst7vh1I9d9VymNgrxJ0Xnlc4ZXo=; h=From:To:Cc:Subject:Date; b=UEmynh1uO8GFK2HusQzLDqqLoFzUOaIfi/zaJhA4T2P+rN4retGNCuRlFuDoBkBRU 8ftUlMo4mZR0k5GgQKGuv9iBeTEDn3ktOZ6IvYwpJBssJPT2o/1iAEDQi8wNWKrwWE +x2bAQsymvDY3VdctFJb9sw5nMKZ6lzp1uckG9E8= X-QQ-XMRINFO: OWPUhxQsoeAVDbp3OJHYyFg= X-QQ-XMAILINFO: N+XrBeZ/LGN6CuENrvAnMc4J53T/tB/LXoiayzw4dNn1ZjfUy5T2NEr1Y6v78s 7s9Q9fJoa4gLONPRl99j6O5t50LhRJcj1QXsLtv5zuVQQDkHi6ebTbZthXmOWjmZ9xwbaPdZEzGCg wGO8N/rinrEVvaoBCeztVRLUhi8IF0QUbS+Vl6TDsgh1+q6GXbF82Zm3nqSNlVW0Wwqxj49ulY1qZ cORLaKqyas4IxU7drT+G16XcT7MDJwpGw4k45RTCApRv9bbz3w2Wir6dxFpSZoRnGTWQSbZsW567S pUq2HFu4V9Z5CSGpr8gqL/Aaq5EOKXkipW7wlmeix912747B2etp0QrD6l2tgxf14cIRAX0zUDqwb TchtBBMwMjnE1HoqBmUWm+r5lA+Xlcsr2QctR0YqDrvDmMam00gcQJqfedFUKItaOdVhmCImlEikg SUdVjukTnxe0XQmJij+UrV9JV6r0Zef3D9fCaeGq0hTiktn/B1dHfEw3AIs8NweoTEcTdsw8cxvKL BpszuypnKF3wNSphLRBJIpcZxkxWRNs8ULsTuPlPMIVHIxOXWF1GgAAGMZuKhzh1Q8LVhof7OW15c LWV47xRGL/w0zdfpsFACv+N+C0dFOxse4eIHr7Zz5SclBpMxU6NWdHZVAIqlECHTzoyXgeSl7VyIa Jp4WWsPn4573hMZFXTSSfJCzpB0e1RJjc9UvD07PR6LUP/PiceRWfZlCnwdTMBI47zTQx0vWx2Tjd H8vjV0A7Civv3b/arU9lKzH2500hnhKpttdTOqv8jeuvuo6gjEe39z8Ty9OCFNRuTawX04EmXE9YW Uk87H/8kEUzm7WcE7gQH3OkuadRS2UBYN8iVvEMrWq+DBnXxhHSM0vvnUY7LPyk6Na5IKU1Tltm9r 6YlIQRas3LTrbMXC6IFNsI4FVbk8az1tsXkXQCn9aEllV7Xd5QV5yHAAkVyC2xrd6zwwn2SD67AYo PIYtaK89QgLJ7aOmVQxlwHlvbnj4kD1LFnGU8CYTyjDVk5Pc9o26Lj9fMHOQh5kEwAWt5C6VYW6Av SG4cg/tFieBsydgUTM5kpN+d4mfFHYOfIBuzsBp1H1YY3bOS/iySv1PlZdG3TxI1esvwPwfP+INPD hdRcvs+CihQk5ZrQorJQamgDAFhei2SzQvqRuebxbEe1xICR9FDhTWIAf4vHQbEddV8qrfHf61fu+ w== From: "=?utf-8?B?c2hlbmdtaW5naHU1MTI=?=" To: "=?utf-8?B?bGlubWlhb2hl?=" , "=?utf-8?B?bmFvLmhvcmlndWNoaQ==?=" , "=?utf-8?B?YWtwbQ==?=" Cc: "=?utf-8?B?bGludXgtbW0=?=" , "=?utf-8?B?bGludXgta2VybmVs?=" , "=?utf-8?B?aHUuc2hlbmdtaW5n?=" , "=?utf-8?B?c2hlbmdtaW5naHU1MTI=?=" , "=?utf-8?B?emhhbmcucnVu?=" Subject: [PATCH V2] mm/memory-failure: Ensure collect_procs is retried when unmap fails Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Date: Tue, 23 Sep 2025 22:57:09 +0800 X-Priority: 3 Message-ID: X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x X-QQ-mid: xmsezc43-1t1758639429tsinbf3h5 Content-Type: text/plain; charset="utf-8" From: Shengming Hu 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 --- 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 *fol= io, struct page *p, collect_procs(folio, p, &tokill, flags & MF_ACTION_REQUIRED); =20 unmap_success =3D !unmap_poisoned_folio(folio, pfn, flags & MF_MUST_KILL); - if (!unmap_success) + if (!unmap_success) { pr_err("%#lx: failed to unmap page (folio mapcount=3D%d)\n", pfn, folio_mapcount(folio)); + if (list_empty(&tokill)) + collect_procs(folio, p, &tokill, 1); + } =20 /* * try_to_unmap() might put mlocked page in lru cache, so call --=20 2.25.1