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 DDDC4EB64D9 for ; Fri, 7 Jul 2023 19:38:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2A01B6B0075; Fri, 7 Jul 2023 15:38:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 24FAE6B0078; Fri, 7 Jul 2023 15:38:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1187F8D0001; Fri, 7 Jul 2023 15:38:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id F21716B0075 for ; Fri, 7 Jul 2023 15:38:49 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BD7931C83B9 for ; Fri, 7 Jul 2023 19:38:49 +0000 (UTC) X-FDA: 80985828378.05.56A3F23 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf05.hostedemail.com (Postfix) with ESMTP id E972D100019 for ; Fri, 7 Jul 2023 19:38:47 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=ysms7tEh; dmarc=none; spf=pass (imf05.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688758728; 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:dkim-signature; bh=XlRO074YmNp5FxBUfiSV2D7fSrJrr/U1VwJoMuvgqqM=; b=4IjlBsxWYS5fUVXlMOCpgM2qoB6ijfZQMXAlTBhw6cFw1d+VyMFke2JLETf1WqA/8qGcQw t9mOL72Oxcyj7RKWotZNt72yzviFolP0PLPEm/ItVxQsD3HfhS01QcseHw0GYG0z8Akm4J B/jbn9Opt32GZyTAlSFY0K8e5G2vlyo= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=ysms7tEh; dmarc=none; spf=pass (imf05.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688758728; a=rsa-sha256; cv=none; b=bIVo98zAhX2UicXtD5JDVahxz0eDj+JAih/OJV3+fq5XTDwwMLHhpuP/zEWFfv9sRJQVYz moXDpNUwF7yb4GvPPbuOPn8KXtTfYVvLmqCPnk18wBct5Xqvi2/yc62qRT6vCXy2tPFjWg WFdhPc64+8E5CxJ0Ip7cUaIM/M5GAiA= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 11EDE618AC; Fri, 7 Jul 2023 19:38:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41382C433C8; Fri, 7 Jul 2023 19:38:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1688758726; bh=+YHD2FQa8AN1ojxg4gSuv37zOlSDANnbaMA0KQyroLk=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=ysms7tEhRWgogk1QgZ+ySVxlXKaxzlOCrOp0RTfWSdPcLzMlw0Sg8kYhjLBHUxHS+ N8khlmkYnf/8+810Uv05gvVbkxCKakJfhBcon57nhvMkVdLSgyO8D27KJhiioIqISl 3/BOy2loQy5P4pFWXBR2/DnbUHrjZBlsegqOqMtQ= Date: Fri, 7 Jul 2023 12:38:44 -0700 From: Andrew Morton To: Muchun Song Cc: mike.kravetz@oracle.com, muchun.song@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: hugetlb_vmemmap: fix a race between vmemmap pmd split Message-Id: <20230707123844.adf56ba3e0d000f6da431494@linux-foundation.org> In-Reply-To: <20230707033859.16148-1-songmuchun@bytedance.com> References: <20230707033859.16148-1-songmuchun@bytedance.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: E972D100019 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: pixik4qff5qsm5z8wirpedw1u5pciw44 X-HE-Tag: 1688758727-154073 X-HE-Meta: U2FsdGVkX18FqpbYYuMsxRVBThLfC7UntC+cohOGEqygHsdIsenajbrU5HtZVWTcSKDEgwQfYq3/BXi8rKRk70nHhmkA6lthSnyhW0MOMVD9vCIRudoLntwZcDKbE8x2OomEA+/1urGUdhelPe5ju+lbnsXEhyLmA9zwbTy9kY6lt5OfDzrKnxmownmJvWhxDUU9SuHr42OU5qfig0OuovFnK3JVAgOENWLoTU7YAFkvwSMqd+UkVSyQd6qckON5h/3izERTxxYdxDOOBmCoc9vgT4jSex7ZddfKzIcjkoB+Z8ppVYKWyIz8suSEjVbPhww/xBpQR3Hp6uMhvoEAUYH1A0sFxr/0cKOQJJYlpX0xIa3WUkacbzOA2tVIb3VkEQRr0Eq6T5wnA4M/TsyFjoUKfvuf2bH5MrS+DsFEc5K48CN3kEd+jCg6CK0P1JopKyxciQf8heYoH57Z83jGGEgoJTVon7zFAf6Wq9l3naoiZXtEy7ufyDry0nfd358KdTxB+VsJ9Oauu0n50wat6YXQfHuq12BkVnVoxsUUNclZsQ7y1cTBfT9vSGfIH+efB68lWdXY7hwcZ9RMcR+lvPurmNyOrCWGvxSlqcHLGIW7c/+a0rKBUdJxHD2z/rVy3wwG6qJnn+JzZEAaRBpfkHq44zN8gn0Kem18mGYELG2BMxefC2I7oXI6oNr6Kq95KnT3R3ALVftJkRd5zK72AKZmp7iUB5TVvwCDEbWeX0pYuI1mFzdLHxPCNFflXmH34H0fcBQlIY3IuCiiRwM/eaqkRm9MJe/CnxL0kZbuhUTFSn/I/85dWqB4BlvtPo0v4ah5LK66rBjIHytoNncLY8bLAFAp2OyHis6eaSHPhG3V3sOPwE0LozEl5W0jSphk+9k74Z3ilT4eXqCGTBYAnVEsn0tmdgeTLrDuXSFmbpNgJb2qBuY9dPRfiGE9zxsEmMwKSpKrkhg2176yK7l hPZ+DTUW oOSy5X0yoJ/h06w2MqpAIy3NPN46la/rLP51uw9LQxDMFBve8SF1jHUsMwaBeHkKmJZY4mXWZYlmMik+er7wCZEMWZQQnK5eCgivLju8R7E9T7ChwSPdFbUHkt0ECa+f6iY7qHBlv6djP3iedPDB2tulYo/iD0e+P4OEtc8/hb1ZS31zor9BMbqt5yQlceMo4cw1N7a06gcyzi+nhSRMArLyYzwZrA7IWqQeIRnlM0+8XTCEaDPMOauK1DafsPhUkFeoQHtEWt68ZknXgL51H1Eb1DvZetP25Nr6LOaptxLErUTxTDmEpBfKl67szyKoJ+IIFEYVBaJ5IMhAbfjk3yx6+fCuAppMBEgk7dnthqU0dk3GL3pb5p6W0yckvUwnUyz36Djdx5j1SweS6DASUatCM92OQHlKgNNOeloP2CdDsoCrBhp/hduzPFBGEsLVx+KAUensmZ+STIQOxtD0lJ1dHskf/up9H/+3X 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: On Fri, 7 Jul 2023 11:38:59 +0800 Muchun Song wrote: > The local variable @page in __split_vmemmap_huge_pmd() to obtain a pmd > page without holding page_table_lock may possiblely get the page table > page instead of a huge pmd page. The effect may be in set_pte_at() > since we may pass an invalid page struct, if set_pte_at() wants to > access the page struct (e.g. CONFIG_PAGE_TABLE_CHECK is enabled), it > may crash the kernel. So fix it. And inline __split_vmemmap_huge_pmd() > since it only has one user. Is this likely enough to justify a backport? I'm thinking "add cc:stable and merge into 6.6-rc1", so it hits -stable after a couple of months of testing.