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 2E79FE77188 for ; Fri, 3 Jan 2025 14:28:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 969EB6B0083; Fri, 3 Jan 2025 09:28:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 919F96B0085; Fri, 3 Jan 2025 09:28:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7E09A6B0088; Fri, 3 Jan 2025 09:28:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 5FE026B0083 for ; Fri, 3 Jan 2025 09:28:06 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id DAC37140778 for ; Fri, 3 Jan 2025 14:28:05 +0000 (UTC) X-FDA: 82966368534.30.B9ED7AF Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf22.hostedemail.com (Postfix) with ESMTP id C38A6C0004 for ; Fri, 3 Jan 2025 14:27:10 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf22.hostedemail.com: domain of cmarinas@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=cmarinas@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735914445; 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: in-reply-to:in-reply-to:references:references; bh=WFfTLnWziMp7PcUWX98JVTslp1P/xvLA6rMta8i+lWM=; b=zez+n6a/IEKEO3hVMzbx2eTgJxSkKrNOi5P6XTScLnN6fpKAKs1PGBXOTNQTFuvMtxQyKB aCkNDDfmLslxC+aAGviAKxd9dp/uCDKLajW080AZkmVXUL8jZy221RPLtHpbiH0ckqaEXZ R792P4+o9021MbBhFxR3SEFpDFS/Opk= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf22.hostedemail.com: domain of cmarinas@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=cmarinas@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735914445; a=rsa-sha256; cv=none; b=isWjG7CDTkTNTPLjo+P6OlIy1Hoq36CCoI95HKCie6DNQaMbl4Ui9eXE2dV2wfJC17CSQl kiIfHz6dQvq1DOtftP2fWOTHJ/atkKqCRuTFrkjVMSNdOwcHXUiURjD2BvOyJ0DDflfeOG iUBiAOQeQ5CpJBbilBkVwJAuaHscv2c= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 4EB65A40D77; Fri, 3 Jan 2025 14:26:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03CDEC4CECE; Fri, 3 Jan 2025 14:28:01 +0000 (UTC) Date: Fri, 3 Jan 2025 14:27:59 +0000 From: Catalin Marinas To: Guo Weikang Cc: Mike Rapoport , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] mm/memmap: Prevent double scanning of memmap by kmemleak Message-ID: References: <20250103110150.1352226-1-guoweikang.kernel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250103110150.1352226-1-guoweikang.kernel@gmail.com> X-Rspamd-Queue-Id: C38A6C0004 X-Rspamd-Server: rspam12 X-Stat-Signature: 4bjrze43mygemfcbi9gfqa3ifg1gs7qc X-Rspam-User: X-HE-Tag: 1735914430-112837 X-HE-Meta: U2FsdGVkX1/VUf7kV/VP2wbwiq+pQAnKrt1grAaoP8e+qCYEYUBqmkGbDjSQxV7+XHRumgbBq5x+zXc3i8Afw5t3J1Hsntvymxrh45KdhCw//PH27vQcmTZt5DvcQFrtJlZyMkLflO2aE2hWdEGIDn/XCyKMPVsog6IlyUltsyCNqxF7w08IqLxM2OcMgkj9FpyQxeGJc+FM/123Y33BLfFgALF4xueQMHQoHFi6yQISiDRfyBBLXSmlTUKmtAyzzYVJF4J0L9xLhv2XWF05RUd7f2xocTZls2BHAr3YXS9yE8oIWT85LthBDB36u1vbWgJ5xMw0y6UDnuo/rd/bu69DVa5XlCZqVvm6KAK4gReFQifhb3GV42InKl12knXaV2YhJ2GaCiMv0+bDWGZFEdHWEAay2MJohafILO9Wy9VWKksob0zJSni8vcBBmjUIzi78J0gsd8W13hHDyCqntJcpiQn5I+jHudxeD+Lw5/vjIqmUumgJIbvZq7SSlCjdnQFPM+I2ouS5FrKb+87rbdQD5hupnytsXcCT3AYj8BnRaEvvTLMfd7TbWfWYd0Fqy/2GufeXZ0X0Fw0lshJqrktFBN3Zr94LuDpaebJkRtGY5DYDdiKtgI37cyS597rm0OIUu3KSMzhdjhnVT90xFkQRPbEPbwEiGi2BRGrwSqOW7ZHoytfKNj9R0uJZ9i+2OtgJHDckLpYESGG5g8AqZygT7+u7n8dRNJZK6PC9lReVWCZ0gnrhFwj5SR/tPAsMwPfOB02sGrP7zZ1vr5xez/DqwJqq/DkeyxJbfHqYsQO0TiofccBH9D8bcsu4usNa8RN0uu1SmwwhLlvMMBvTfmpcVM6Tk5+CVOMD4Sbnz+p2k3q7pNY/IEoGq9XtZZbv6YEH0fkKJK4b3ZnBHLN8NIO04/h7LcV+SZ9CzfdNRZ9543YbCqts5I0fwmpM1dMhN4hsHS2Bn95VtktgitT n5+fsqXr 9uYABh5PvriJXs92UlMRZkrHzgwsgpFAeTLQQKuUY1hPNrh29ET3HB09jZGm9YI4MP76wSNJUcsassFdIH7M71OtOb9WsW8P1zLNogXv4SyvhxSE4eaTja2Xd+LaDELY7ZljPt+mDEl1H7u5QI5xxzuS5Dq060nfqHZbOyD7vSQH3IM3FOQ7rIkuHqvQM2jqD0Jj9Crcs1DBQcev2wxMs20AKnx2E3pktQuaP0H32ZwVYoMs9wy5p48RrbDM7Z+wvfW/5UASS6Fn6LNMLbqowrGQHjjnFVlzWakkEG45l1TlQN1m+sXhYVXPZfna/tT25LBW9dsP5f4ku6FDVHCTZkN7k7V5ILeNE1/m4BDuy9R6gmRWJ0+qMgAJvdArJbxNWy+0ggcCHXcoeBFrW+D/laKV6ZtU3byd/XnIiwkKpwWR7F82Ox7vLv3JwvHk4/qZPcU3sat7UAwNsHTvenPka3fCEMYERf45M0Vmf8O+WWs+NSP+yBv9niRyvsY527ckiWxe1 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 Fri, Jan 03, 2025 at 07:01:50PM +0800, Guo Weikang wrote: > diff --git a/mm/mm_init.c b/mm/mm_init.c > index 24b68b425afb..71b58f5f2492 100644 > --- a/mm/mm_init.c > +++ b/mm/mm_init.c > @@ -1580,6 +1580,10 @@ static void __init free_area_init_core(struct pglist_data *pgdat) > } > } > > +/* > + * Kmemleak will explicitly scan mem_map by traversing all valid `struct *page`, > + * so memblock does not need to be added to the scan list. > + */ > void __init *memmap_alloc(phys_addr_t size, phys_addr_t align, > phys_addr_t min_addr, int nid, bool exact_nid) > { Nitpick: normally I'd place the comment in the code, before the 'if' statement. We keep the comments above functions for a description of the function. > @@ -1587,11 +1591,11 @@ void __init *memmap_alloc(phys_addr_t size, phys_addr_t align, > > if (exact_nid) > ptr = memblock_alloc_exact_nid_raw(size, align, min_addr, > - MEMBLOCK_ALLOC_ACCESSIBLE, > + MEMBLOCK_ALLOC_NOLEAKTRACE, > nid); > else > ptr = memblock_alloc_try_nid_raw(size, align, min_addr, > - MEMBLOCK_ALLOC_ACCESSIBLE, > + MEMBLOCK_ALLOC_NOLEAKTRACE, > nid); > > if (ptr && size > 0) > diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c > index cec67c5f37d8..903a5422907b 100644 > --- a/mm/sparse-vmemmap.c > +++ b/mm/sparse-vmemmap.c > @@ -27,7 +27,7 @@ > #include > #include > #include > - > +#include "internal.h" > #include > #include Another nit: if the original authors of this file preferred the includes to be in blocks, I'd keep the internal.h include as a separate block after the asm/ includes. Apart from these minor things, the patch looks fine. Reviewed-by: Catalin Marinas Thanks. -- Catalin