From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6F236C77B7C for ; Sat, 28 Jun 2025 03:13:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 119DD6B007B; Fri, 27 Jun 2025 23:13:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0CAAB6B009E; Fri, 27 Jun 2025 23:13:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0074E6B00A3; Fri, 27 Jun 2025 23:13:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E40276B007B for ; Fri, 27 Jun 2025 23:13:49 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 63B1B57A91 for ; Sat, 28 Jun 2025 03:13:49 +0000 (UTC) X-FDA: 83603339778.24.11BD8E8 Received: from szxga07-in.huawei.com (szxga07-in.huawei.com [45.249.212.35]) by imf30.hostedemail.com (Postfix) with ESMTP id 86BD580004 for ; Sat, 28 Jun 2025 03:13:46 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf30.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.35 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751080427; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tMsUGI08qFvckfK0BxxZQ5HSs/MgdF8K2XJKvu2SGvA=; b=7w/LL57ThQbqFpazdUmDtZXkpm74LbJL8un8oyBauDV4XUmLikAPLmqtVo+WCVnR00TFbJ pTHrJGNHvRGoAVnbIRyHF3C1uvt+WuZuF2WZo8U0fNxvardc9+v3YpIYuaVV0F+EYaB0Q/ u7ZZP2Ur5ClzFazsCdkOmFQHDe/dhyY= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf30.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.35 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751080427; a=rsa-sha256; cv=none; b=dotjl9UvdGrPUzWrFWxmrSHLEGQB6/gL2E3maB9JeBcSYPQtF5Eje9WgQHRTLhcObTcXZF jvx5YXv8nWzpr0K2ZruI85MVPBWEGmqWEpO1cUQ1ahkrFOU6i5bK6OPqD0idcQCs0cIagE wWuS+Vr+Em5AIAaL+P3TKVUiWk28yu0= Received: from mail.maildlp.com (unknown [172.19.88.214]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4bTcsV2vS0z29dsB; Sat, 28 Jun 2025 11:11:58 +0800 (CST) Received: from dggemv712-chm.china.huawei.com (unknown [10.1.198.32]) by mail.maildlp.com (Postfix) with ESMTPS id DEE331A016C; Sat, 28 Jun 2025 11:13:39 +0800 (CST) Received: from kwepemq500010.china.huawei.com (7.202.194.235) by dggemv712-chm.china.huawei.com (10.1.198.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Sat, 28 Jun 2025 11:13:39 +0800 Received: from [10.173.125.236] (10.173.125.236) by kwepemq500010.china.huawei.com (7.202.194.235) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Sat, 28 Jun 2025 11:13:39 +0800 Subject: Re: [PATCH v2 1/2] mm/vmscan: fix hwpoisoned large folio handling in shrink_folio_list To: Jinjiang Tu CC: , , , , , References: <20250627125747.3094074-1-tujinjiang@huawei.com> <20250627125747.3094074-2-tujinjiang@huawei.com> From: Miaohe Lin Message-ID: <6764027d-9a4d-1ba8-77d2-fe15c4adfacc@huawei.com> Date: Sat, 28 Jun 2025 11:13:38 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20250627125747.3094074-2-tujinjiang@huawei.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.173.125.236] X-ClientProxiedBy: kwepems200002.china.huawei.com (7.221.188.68) To kwepemq500010.china.huawei.com (7.202.194.235) X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 86BD580004 X-Stat-Signature: a6dtsay7msomynu5fn64p84rpcitxfzp X-Rspam-User: X-HE-Tag: 1751080426-307631 X-HE-Meta: U2FsdGVkX19jdZ1y695PuJ5nMvu0dp+++k6wA8/uubdlmW+Lokz/9Q7zuybETcumgHpRr+yAoNKMl5RZIJS0QsA1VSK17up0pK2S6pPdVi5UKUh589KncOSc1GpNmK+4ye326PlZbLxXoXliKldjTUNTt8sW6QeOL3NXMjuiUfhEQLWYGMcp31deDGZ9z+OQKiGNqcyp+9E+oi6fYf2ZyD8oBHZ5wXmC09GM5ZPtIzH8pw5MNWi4TyGhpyFcZjx1xIqimLx/cLaq46tw4lCwYpZa64ZL+a6fxKvv/mMCBu3SQ6ZExdJp78KaA18+wEo+gsZOvv4atND5IkGdGChAFZbYApZpscdPPJneRrTZWvaIK25Rjauij1ifUJb0KD9bhLjSDPGXsgVHKllfXThLGULgPKd4MaS6cM13v0JOrTtIAj7Uxln35/RxtdobdEy3W3AXN9ietNYr/uuSdY6XcunoECG7Um5GUK6r9ORjvwiL7kgOzEIt7qKMM5c4gQ2KJWfoSzDWsaiHgI6mR5l1BFIgDMleYpZ9iC2iEucQcQtynT16m6zRH5T7iZ9rfYh56zDyLrq23+WaQcQakIkAY3MNXfQxGAHBE5Smr39Kq5VsDyxhUF5YA3xOqGLoWcDfAxGcotMKrDSxihQe4N0Ja+kYHoREAYZsRnw323ZLgfxmSWxF6ZrSesIpEGLZWnuhAOvpvulL+Z6aKiPJKAK8SBnwPAAkStdz6X6gtAvJkfGzlnzXgPtWq5Xvfx0vwdeOSgCIgEPIXEpnwOYfXsPcjitv3NPclzvrgHGIfnhUjRpqq0YpO2sb0BbF+YjIrh9sQKNc4y0ISG4YAO/OGVXctZZVHjqNUwYV3+54nmGbNGMSLGCv3WRRkx+u5A2YolomEJ6hRwaelNdN+7JHivnLJw4KVgFyuNReQyGvSuGH7SCNIkaaO5unxfDt6XWtKByeya/ngYVqh+McRJ5OM+b Icy7lhuW rPgsT7ggXfOkr72LtMCMt9mj+yG5uG+hAvQD+bSTtJoI9NIS0mOf1QQ94ve6k3tsaQ2HXlBWkc6dp9fKyeCBSS6IIwc1KGoyUc9iZEb8Ma8TVKNLd7K3n3Pmnwpt7VLMkkdNvFFIj8n4fSmbZihGbQjEDXeCQjNVwq/LhAPjW17yxvtMTj1aO4gNpaLnoyXlMwKD9If2n0IOieFiTAz7KkxdhSSlEIgS6XVt3ql8GXwAzM6Rlfzzc/J2LqDHASqW7gNKdoDHVLHoug5PHZgzrPZUXAg2m6CyKFvNYooJ0H5+R9ayLOJVJyPXM8ghDjIgVBXCW7XWW1v0TwP52cmDv/n9lDPEP4bmwtMNwsfqMxX7nIBMkBW2I9YSm7ylddBREufR6 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 2025/6/27 20:57, Jinjiang Tu wrote: > In shrink_folio_list(), the hwpoisoned folio may be large folio, which > can't be handled by unmap_poisoned_folio(). > > Since UCE is rare in real world, and race with reclaimation is more rare, > just skipping the hwpoisoned large folio is enough. memory_failure() will > handle it if the UCE is triggered again. > > Fixes: 1b0449544c64 ("mm/vmscan: don't try to reclaim hwpoison folio") > Reported-by: syzbot+3b220254df55d8ca8a61@syzkaller.appspotmail.com > Closes: https://lore.kernel.org/all/68412d57.050a0220.2461cf.000e.GAE@google.com/ > Signed-off-by: Jinjiang Tu Thanks for your patch. > --- > mm/vmscan.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index f8dfd2864bbf..424412680cfc 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -1138,6 +1138,14 @@ static unsigned int shrink_folio_list(struct list_head *folio_list, > goto keep; > > if (folio_contain_hwpoisoned_page(folio)) { > + /* > + * unmap_poisoned_folio() can't handle large > + * folio, just skip it. memory_failure() will > + * handle it if the UCE is triggered again. > + */ > + if (folio_test_large(folio)) > + goto keep_locked; > + I think this should work. The hwpoisoned folio is kept in the LRU list so it could be splitted later while the hwpoisoned flag for folio and sub-pages are still correct. And folio_mc_copy will handle re-accessing the hwpoisoned page when one of its caller, alloc_contig_range_noprof, calls migrate_pages. Reviewed-by: Miaohe Lin Thanks. .