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 38628C76188 for ; Wed, 5 Apr 2023 06:52:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CDF986B0071; Wed, 5 Apr 2023 02:52:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C69986B0072; Wed, 5 Apr 2023 02:52:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B098E6B0074; Wed, 5 Apr 2023 02:52:43 -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 A2C256B0071 for ; Wed, 5 Apr 2023 02:52:43 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 4C2E2160D41 for ; Wed, 5 Apr 2023 06:52:43 +0000 (UTC) X-FDA: 80646419406.10.10C4245 Received: from relay.hostedemail.com (unirelay07 [10.200.18.70]) by imf21.hostedemail.com (Postfix) with ESMTP id 071121C0006 for ; Wed, 5 Apr 2023 06:52:40 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; arc=pass ("hostedemail.com:s=arc-20220608:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680677561; 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=lAilofri596eScwRNLRZrxRUNrylNWtKF02FeVhA9us=; b=Ejtl00/AxrbteuVXNNn3S6VmgZ+xe0SsHR8661iAwLNPl1UeYV922IqXV4IZDPygv3QjoC C1672/18ZLiiitbSwvxgbMVaxxm868rr/C3kbFBrldc4eV6IWw1ooQi+VAZ0P4X0zjSDmH H6Gv2aPxxpIqWPbvCotzeiLRNRlmjK0= ARC-Authentication-Results: i=2; imf21.hostedemail.com; arc=pass ("hostedemail.com:s=arc-20220608:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1680677561; a=rsa-sha256; cv=pass; b=OmjNkC1hcuU9FUH2fghuKU7llh4Ctjc/6/FVnBn3FBv2hUaqnzlYhs7OTd6MNqQhZ0nXKp PBwRFoOycVOWzVbzU3Le8yNx8IojKgiBnqEnk/iuBLQbk4ZxXFN7+Y5EBgjRvtm9kFzMq1 oBQJhQ01v3qtRW7cDzyOUxsD+3SqxDI= Received: from relay.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 913501603D1 for ; Wed, 5 Apr 2023 06:52:40 +0000 (UTC) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 66FA7AC508 for ; Wed, 5 Apr 2023 06:52:40 +0000 (UTC) X-FDA: 80646419280.26.8219813 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf02.hostedemail.com (Postfix) with ESMTP id 7288F80002 for ; Wed, 5 Apr 2023 06:52:38 +0000 (UTC) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680677558; 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=lAilofri596eScwRNLRZrxRUNrylNWtKF02FeVhA9us=; b=O6S1g8gom3FOxRcPz3GXW9ibyPrjwv6zs3KyqE5oKDlf/yaarCi2rSAxreq7XNQGTU/SNH tZIGsrJvwnrJJ5+A8wlaK+Ge2oLzpTXeOaT27qtOHyZ4kCSB4GbX82UvAj9OPIGdvA9A7C 70M4luQGrordGVdpNOwYve8AmwZbrtM= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=HTjvcRLe; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf02.hostedemail.com: domain of song@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=song@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680677558; a=rsa-sha256; cv=none; b=IocEN8FeWSaCt4WtZdQlJ3L2X3KaOCkleY/YkoVaLGLjNvAkp/wsN7GNbNOOwzju0cfjt6 yPEsPedZ8c08LPQFhQCMQMzehaMuQBtBSyrIyOBvZxdYjKqUKNptU43Nd2t3IugfMCrRb8 zDTvqJjuDApQHpvrO8veHn05gY88XK4= 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 70A9B622B1 for ; Wed, 5 Apr 2023 06:52:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D7950C433EF for ; Wed, 5 Apr 2023 06:52:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680677556; bh=XUuQ7Bb4fmNGW4BDO3pXmRn2zVkwWZkSaUU2boHvL/M=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=HTjvcRLeLFfSd9F3MRtHbjCRosd894S3lQNjoLbnKzj5ZQKsZ0P+gm2Nh736xidHX s0ldh0l4GA57pSizbs2oKKXB+Xw81jWA0eh1xNp5J/WrfzHbS7iCWIMngX1/aObqQj 1XL8SF7uk0ao1sisIzsm07ynX3QHYsBjDU1D6vh18t201a2InCm1fz+BD2LKEAAq9n WMDfPgyrk85Ya+rI54InnaPndQCrBuvUs3OlT56DmQHISGKl9JqG6nXDsAddclXBhB 5BJy03ljp8I6c3jwmDcP3hMZBCyKTEkjASlW6FanaGAxpJroS4yGui3V//kmN8bIKr Q9edfxMkU5zkQ== Received: by mail-lj1-f174.google.com with SMTP id by14so17109767ljb.12 for ; Tue, 04 Apr 2023 23:52:36 -0700 (PDT) X-Gm-Message-State: AAQBX9cRg4ncdnNqJi2UJv8hkEclIWSO0ZRhHQXYO7rDEi4tFmy/cdFe DW0xMnZkP2H8bjAqdjpM0ctzIgxasXDr42XkkNw= X-Google-Smtp-Source: AKy350aa78EAvutnWbkk9TEc9gO1+JVmLRwUFOt3Os/WhAUHxKCINpMoAa+2knzygX+VpzhYgUBDyPuAB4qZd3UbvI0= X-Received: by 2002:a2e:824a:0:b0:299:b5e6:4c45 with SMTP id j10-20020a2e824a000000b00299b5e64c45mr1866847ljh.5.1680677554868; Tue, 04 Apr 2023 23:52:34 -0700 (PDT) MIME-Version: 1.0 References: <20230405022702.753323-1-mcgrof@kernel.org> <20230405022702.753323-2-mcgrof@kernel.org> In-Reply-To: <20230405022702.753323-2-mcgrof@kernel.org> From: Song Liu Date: Tue, 4 Apr 2023 23:52:22 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 1/6] module: fix kmemleak annotations for non init ELF sections 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, 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, catalin.marinas@arm.com, jbaron@akamai.com, rick.p.edgecombe@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-HE-Meta: U2FsdGVkX1+0HjG2ItDj9RLp9mWpvZ0/M0NyU5SPih543Ecc+URLv+Jmuoc0p62fBv7jou7TjOunpP1RrTU58jB4rE0gZftj5ZjOoqqlLnTuDUze7EvheJicQVW701algzwpJiZ3EDNJMmfgPy2oNrY5rm2ad4PdcwZ1iQTffXEROo22bQlF145C+CTQAVXzjGTCFWFkuQR4jzMPviFJ6qUx/nmX3KnRNrzStvgF+PM9vKEVL2lpp3T6t1uIO3rDSPC8ad+TW20h2kRc38caaDEKU6MJ0sq4rzmGaAcwv7hHWwd6Fkn6PmRLIlg99XuzmddBII+KvTq2G9HMqiJAWx/Pp3SUqrtovFCSiODVf05fquTDAK59aIQQQ5zUlEsoNuXLiwbsl97CVIcgyxxu2Zce5CO8e3fTTjPGSRVmdCgpCvS52Fdb3e0TlpaXf/791nZNjQ2akE/GGH85ukH8q+VHQfzrF4FGgzpcRSL9dDcm19J8Xkxxrd7G33SHRoJthdjqOkBf/6c8yyTT3Y2uffqe/6Upng/IOl72eZIFvULiYU//UHS2D+4emtvbFVlLlV/jQ0LW+vybg40idreYBh9EvsJiMFD6Hofd4PkwTdx9CoO6DTX26YXEI7EqZ2Z2EtieyfGP6mXqB3OEsahGUz0oOLVGSgDMu3PVwpa/3WdbmUT36xjVamr2gbiFcKafXnFxchE9L6ZdFRfn+6WWKix0sVKiVmcLBnXleddi2ReIZ1EwoFOjebSF6eKHr2m+xYlXLPo25ByjmJB4lkPCq7qPzOU5uvxAup4iTNHFyMLleDAfi/GhvRw6x/Xb9Sp68j/zdPR/iIWFBspYSHQw3i2tOmmNEpCAs/3rA9y1XIr7AWd2eFN+Tv/tIRVVei1WaOL7ulFedtpZpYvoJgUaU1a/uYSuu/Xr1nhrvaIX41HH73VyWnfi2MN3nQ35EMpehqXDxnk0YOUphIeHuzP 0I9R+caG Gohf2Gz5SOXIfuX9/SxBwQZyTbUlNN4B2U6DyRWibucjzc49Ld6j+yDQdVIluNvIefexsN7n7PLMn2zqyfRrlAr2rA/th4lU3PHOpBZvOTMy6jP/7GmscyecXXaYg8mayjP+36iJTRuv/62Zz1V1TZ+J2MjqUFU2y80xuoIu6vBWtkB0uBm0C34sy60kBsEqeyar3u8A2ygIfXk9sKIO1lxbrUQ1XzT4jjpErDTVuCvKvqraA7PLo05rOFaAKu3SDyQXW+hfjAnc8cf6QjMPiGN3K1ZyjWjTCUhrRwwAdkHQDmhu1IoCWkkSGwmeQTd6ROVZwCCZno9+jq0sL0KpU+ONb9GQvchNLTPCkzMl7L8hVVGviBuTYeoZSuFrWuDgXygi66w3O9vwJJgZK4WbILltmpfIVDrR7tuADo9wBHfozxmUe/HjmtMu9q6xQGJtERpmnJoGfnYFDwGIhAl8utxb/XI0y94kwJo5zBv3LcWOK8pI= X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 071121C0006 X-Stat-Signature: dp1agotnkotahhrr3uty54wgc68cfiza X-Rspam-User: X-HE-Tag-Orig: 1680677558-695773 X-HE-Tag: 1680677560-98450 X-HE-Meta: U2FsdGVkX19E3GKX/cJjGMR85m+BKfxwCPDZVe28MNiFW13/kTee+ao4rO4NfGrWUMZ1KTYgNpaN/L7BnAaVYAmP3z7UfFUtfntdSDfyYT2PF1nO+31MhAFVRzANDjY7a0qkmlydYfRqGSES2e2KWMw/0jSIw9IYTjAZ1CdqDtE+TYixmw8J8zd72LJI03BXRbj+b89UcDWmvUndcIhZ6gd4JTgdfFiIFmAhIl5bGaoqIw8QPQiwbuyjintcfwvSV/oZLjkrgUtl+ittPkh5vw2qZ5M1p9M1d1A2gcQV2liE4qFpOnlAhPI9ZHtayo327KTcWYEIS/bqAM1OXGv+dZPiwVAADW1govE0I6wkpU7r70GNM8BsB6nXtcwVTQCiKlJh5u2c+gtb2mgO4uD7ZIfFjlR+SQ7NhO1rjXWQrqAohs4yEwZHAkNP41EinI+wKTqVigQwgWFAwAVwyMJnRki1r+HnXZEhuHnQMGadGDgSXuv5oEWXqTglwj7skk59OFyz9kbUHRS3bI80QT6SEmgZvJ+Oi4vBp/K+HMZmhi1xA1JySX+OJvkkw1TU3ZkJmETbSOd2C1xwnM8LDL/kNal520E7QogwiGlP9zNRQz7ntBISOJaeO8ocOBVCiEzoCC2H5KmMlPfs6/WXzf4S+LFAu6smOutFMpq6Lv+sL3e2kyWEk3Gb1d3DVTM9xkCnQosNhIQn5cZzJ+eQ999KDr/865qSFeeNmfnYi95w4WtakZp5gzBxCBXlhPc1DunNGF0m2939T47TVM19+jlb6EGN5oe1Yy+gHtygnngB9F73C9ev4ksgDTk8JJE7mgrzuw9z+vAJDkUn2BkalVVu+SwemcXdzHYQkEqkHt82ybR3CtXCS6QD4BJw+UnheAyGZpRzfHE0ViGztdkNo73O5uFwZ0zjngBj1/pIBpFSqVGhCti8O7IehyfaDnyBLUY2vjtUfDHjTKEf9BKYFlg ucGGScEk c978vUSgrROt6UXtlAVMoHHGnLIBDZXsXY7J/ZuR4DDU3zq/A9gU8/AotrCFZuB2I97vPeyWpI2MNYr+OdbpAgZpyBRFx9Z98szPHtcGnOY09tXa+7t0uq8ybHEtdrX82ajLowccNc0i6/6wwqyZVw4IZwHYhPpi6FegJzh0h/h7N09rMTFX9Sx7Whs7hG/iFJcRYwQkMSGDthIjyl90ZJTRqZxusB56AztxQRA4tOo+quwcCqDGmIu7j8anMfjX/LPy4RTp4Kpb4/KY= 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 4, 2023 at 7:27=E2=80=AFPM Luis Chamberlain = wrote: > > Commit ac3b43283923 ("module: replace module_layout with module_memory") > reworked the way to handle memory allocations to make it clearer. But it > lost in translation how we handled kmemleak_ignore() or kmemleak_not_leak= () > for different ELF sections. > > Fix this and clarify the comments a bit more. > > Fixes: ac3b43283923 ("module: replace module_layout with module_memory") > Reported-by: Jim Cromie > Signed-off-by: Luis Chamberlain Acked-by: Song Liu Thanks for the fix! > --- > kernel/module/main.c | 20 ++++++++++++++++---- > 1 file changed, 16 insertions(+), 4 deletions(-) > > 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 =3D module_memory_alloc(mod->mem[type].size, type); > > /* > - * The pointer to this block is stored in the module stru= cture > - * which is inside the block. Just mark it as not being a > - * leak. > + * The pointer to these blocks of memory are stored on th= e module > + * structure and we keep that around so long as the modul= e is > + * around. We only free that memory when we unload the mo= dule. > + * Just mark them as not being a leak then. The .init* EL= F > + * sections *do* get freed after boot so we treat them sl= ightly > + * differently and only grey them out -- they work as typ= ical > + * 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); > + } > if (!ptr) { > t =3D type; > goto out_enomem; > -- > 2.39.2 >