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 BD459C77B6F for ; Tue, 11 Apr 2023 15:17:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 56544900006; Tue, 11 Apr 2023 11:17:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 515C8900002; Tue, 11 Apr 2023 11:17:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 40436900006; Tue, 11 Apr 2023 11:17:46 -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 318F2900002 for ; Tue, 11 Apr 2023 11:17:46 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 049B914062D for ; Tue, 11 Apr 2023 15:17:45 +0000 (UTC) X-FDA: 80669464932.12.4360B04 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf28.hostedemail.com (Postfix) with ESMTP id 6B2E5C0022 for ; Tue, 11 Apr 2023 15:17:44 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf28.hostedemail.com: domain of cmarinas@kernel.org designates 139.178.84.217 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=1681226264; 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=n1yGSM4Y7ifZcSHnvwNq4o7w6qrAWMrQH3AFgbFF2bQ=; b=1oXm+hArt3nus1BKzRjMd2IPX4JuYzNAMaOTUMe/+ZhC40QJS8Menxxp2qDycxghtU1T8F HxBOnyXw3lhSHjdxs0cJgVN1Tv0q0wQYLgmk/FCX2P4L1Rr6XjGQA9sHlqKBkNc5TaUQPW kHu2aleQ0nzI/o8A8kRO7Y6YGUN4mi4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf28.hostedemail.com: domain of cmarinas@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cmarinas@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681226264; a=rsa-sha256; cv=none; b=Qlp5BiUEIhkr7C+AxqUwp1QXf+WTe+NB6FE4qYHStcvoARx9MAIQLDB4y3D1bB9hkQiSM+ onylCugoY53JWTcYHjawC97YSczfHT7sF++Cwl91/mrosVjD4E9kgszSxrOXWYXC1eaL1D v/JA7d0SB2DC2nkNRTPNkrM+tQneABA= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A256A62537; Tue, 11 Apr 2023 15:17:43 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0237DC433EF; Tue, 11 Apr 2023 15:17:38 +0000 (UTC) Date: Tue, 11 Apr 2023 16:17:35 +0100 From: Catalin Marinas To: Luis Chamberlain Cc: david@redhat.com, patches@lists.linux.dev, linux-modules@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, pmladek@suse.com, petr.pavlu@suse.com, prarit@redhat.com, torvalds@linux-foundation.org, gregkh@linuxfoundation.org, rafael@kernel.org, christophe.leroy@csgroup.eu, tglx@linutronix.de, peterz@infradead.org, song@kernel.org, rppt@kernel.org, dave@stgolabs.net, willy@infradead.org, vbabka@suse.cz, mhocko@suse.com, dave.hansen@linux.intel.com, colin.i.king@gmail.com, jim.cromie@gmail.com, jbaron@akamai.com, rick.p.edgecombe@intel.com Subject: Re: [PATCH v2 1/6] module: fix kmemleak annotations for non init ELF sections Message-ID: References: <20230405022702.753323-1-mcgrof@kernel.org> <20230405022702.753323-2-mcgrof@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230405022702.753323-2-mcgrof@kernel.org> X-Rspamd-Queue-Id: 6B2E5C0022 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: u5gnitiemzkjp6eym4p8iyu7dxgk1rfw X-HE-Tag: 1681226264-813734 X-HE-Meta: U2FsdGVkX18hXpgV8H+betE+hJr5VCCoWwr+XC8FOL6SPpdWoEhMAWj/FH3WYTP4d3njVuHpVKT8SdJU/b/My6Ji0e50M8+TifH8dwzEoi59URivD13kjJv4SkjdZ1SbJGjqPn/z26RVJ7lJOfoLb5/6yG/zy4FzLBT3/bF+WzMmce8mzZHkGxtx8EnqouHPtzZ5qG/JNMCraKpd762YZYjUjIE9uvr6UWyPRJCp0Yl03xRpkxMZ92G6R3u4Tc1R1KQdBkxtPgLiRH52V+g/MKrQHu952NfOVLYohMDBuXYIAkQk/VFfjpshL3M54xy4skikPb/p9xB2fTCjRkDKjmVZtM4I9d2Gsbw1JoAxkTsVUwIX5d2bIfgzJd3srmRuTcL65vTnG/5GXXBTSs4hN6a+e/qPZKguUUcidc0q97yqnu9juCVjU9V7Rh01ic62W7I+pY5f3B9+NjB+tgsZsR7Ot624jfRzLEdmAik+MjjE6wl9uUyK87d6l/vGglBxU/O6bYMaOUE7oYWHZMHqLVzLQha5QJBVSg5BAhTZctfqRYz4FMuVSt4C2UGtI4BkRP56AxnTToSQn+8Nj+FuzvD4IbB+fLjsp0tJ5EoTx4/5WQ8beDJQ7ksyB0kxrnF4VuzQgSEb/uuQKvmJSMLK50zVxjyAACNtmDuPNUfPfUS0AJjPxBPBmfhpc5c8ifGEbpJLGRSpLofuUVWMvEPrC7PfILkVyftkDoZBTcGqf1xhxQSzWEY+44yJkd0hgQe8Y4W1PCu/zjNwmw2qLK0hp875iEScvavJluqkZ6z56CQQJkyA3FDn3j+7BiMth3eDmcupyN+ybQcA/meOtgwOYatfk8Uh//ihrjkhAYHcHPTTAUS5hVNLc1g2PMGNuralQAdYSqjMCmsOKuHUAJWu59UmS4MRZ8lrM2kOeUV0z3PqdCIJNnWDgBvlGQsOJTzhfQYHn77Os7kfNXMrhDY QPXWdFoy 1MGsoG5WukerUzHHVFNOZHDgOcFHJfUBxZIqoo8rQ3z9iXysG3kVZprBs6riJ1hqfidOkJdwplVXwKQiS6omd0o6Yvsbn7DZ6JJIemOQCgHQk7Na6A7m7m8LhA7KS55AK1ZiNeWftjYuiu/uT1+ZuJRoUf9CV555MQ6UUiCfJ0xIa4FqAtWU0gGfE0PXQQF27dQVmXWRrU5e6BCs6MNio53NAQQDp/s97+6OZGwkw4TjjJM0sCeNayD2+XepyYcNDA0Pk5u8yQ2mOo6NsUuqwEDrOQuETpUWLLS7sbyN+0LqZUWY26wdLG2Kq/wVxr3TVMPel6dWTPGgqQidediq8CA5hr/zApe6EB3CsfRkaboLWfs0UDqNMkeJ2BGyMXWgT76RPVTfQ6No32P5oa0NnQtRW9+D8d71dJGcnHPK68PnIl4ZpQCGufeST5KESHpGeyKrxoHCuFFVQCL64sJNHnWk/9lBBkieojt9Oqm1QqacJO9GjJ0VoU7KAWCCpfwSahB54 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 Tue, Apr 04, 2023 at 07:26:57PM -0700, Luis Chamberlain wrote: > diff --git a/kernel/module/main.c b/kernel/module/main.c > index 5cc21083af04..d8bb23fa6989 100644 > --- a/kernel/module/main.c > +++ b/kernel/module/main.c > @@ -2233,11 +2233,23 @@ static int move_module(struct module *mod, struct load_info *info) > ptr = module_memory_alloc(mod->mem[type].size, type); > > /* > - * The pointer to this block is stored in the module structure > - * which is inside the block. Just mark it as not being a > - * leak. > + * The pointer to these blocks of memory are stored on the module > + * structure and we keep that around so long as the module is > + * around. We only free that memory when we unload the module. > + * Just mark them as not being a leak then. The .init* ELF > + * sections *do* get freed after boot so we treat them slightly > + * differently and only grey them out -- they work as typical > + * memory allocations which *do* eventually get freed. > */ > - kmemleak_ignore(ptr); > + switch (type) { > + case MOD_INIT_TEXT: /* fallthrough */ > + case MOD_INIT_DATA: /* fallthrough */ > + case MOD_INIT_RODATA: /* fallthrough */ > + kmemleak_ignore(ptr); > + break; > + default: > + kmemleak_not_leak(ptr); > + } This works as well but if you want to keep it simple, just call kmemleak_not_leak() in all cases. When freeing the init sections, they would be removed from the kmemleak tracing anyway. -- Catalin