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 D91B4C77B7C for ; Sun, 22 Jun 2025 22:40:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 62D346B007B; Sun, 22 Jun 2025 18:40:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 604C76B00A0; Sun, 22 Jun 2025 18:40:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 51A526B00A3; Sun, 22 Jun 2025 18:40:44 -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 3AF5B6B007B for ; Sun, 22 Jun 2025 18:40:44 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id D8BCD1A0E0E for ; Sun, 22 Jun 2025 22:40:43 +0000 (UTC) X-FDA: 83584507566.07.ECF3F9D Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175]) by imf11.hostedemail.com (Postfix) with ESMTP id 0DF8640002 for ; Sun, 22 Jun 2025 22:40:41 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=y0C3Gjm4; spf=pass (imf11.hostedemail.com: domain of surenb@google.com designates 209.85.160.175 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750632042; 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=ByKFnzhwxRKZs2K5naolZtHtX13ocHKu0HolQhra1WM=; b=u8dUh9mN/1q440uUdHotlZrmIkMJ8LBAJZW9ISU8fSJUSAzhUYdYB8Cp+9ZPfWk0/hkI+l 40kwT+vUdayGmvX1fiUODHIk5KBrTVre+0nbcExxbYxeTvgwRWkzhvlQbP2Aju6cQB0U2s 7kpd9SwhgBKisxTxNyjhiLhHjKD2hxY= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=y0C3Gjm4; spf=pass (imf11.hostedemail.com: domain of surenb@google.com designates 209.85.160.175 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750632042; a=rsa-sha256; cv=none; b=tQauMQqxNhCogmYAUYuD1zg208paF0NO9cDugANpyNd3hjqf5EGE3H4MOBKde0YVgGS+Ae ztMMj/7LXGgo2YlSxpwe6SDWyMfRUec/U4cEA66s5IUHYTp3Mn0mqwE2VuvPdacTudOute fOiH5uNUZoJtqNogvn4NnK0iu/8pD5U= Received: by mail-qt1-f175.google.com with SMTP id d75a77b69052e-47e9fea29easo415201cf.1 for ; Sun, 22 Jun 2025 15:40:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1750632041; x=1751236841; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ByKFnzhwxRKZs2K5naolZtHtX13ocHKu0HolQhra1WM=; b=y0C3Gjm4ur57OSMsfaQfmgiaPm4ZriEL0FIIriRB3d/YeDeCddHkSk8V4opRxeDNgG S1CxGyitOhmHOiev1Mn+1nSv8OWl6m87jjL2NXaEihgiWQ04fTZesZsvgi0nl012MVR0 yloGVba+1QcYZ2zH0of4wbOpPX75WjrBGYIE6crQVAbEL7siuXzFDGidq/DfjUDRTNt6 aoKws+lvh8r4p/wU3rCKB8KhrWfYQ+0044GVMu5edDkgHqyQxhxXQkepLMITXr3sUDMk Nq5OaLMW/5HZQ9FuH8D831DNW/xkw2tjQ7e+vtU5gzUeZ3tfiXPeq3f8vjvSNvN8CflP gRiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750632041; x=1751236841; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ByKFnzhwxRKZs2K5naolZtHtX13ocHKu0HolQhra1WM=; b=HpV7ePkUoO9A3pWAk2mTSROPRTnuxVfO6mRgIuC/mtyGiALlAlTG8ORoLKOeYoCxeP SozBsBEinRM6blI9N2yN8SmOaQ4AxOsEopn+Lc97+EIaKnV5DnG38+7sUcr+aP4xo6lT yx8rZ7CnBhNU/XXOdiiuP305ywL5MKII6Gd2sF5e7wWdPyPfunf3mBy6GcFq4e6cz1AP KeMO5Bi9abRV9mTQMrNQ/0mUl7vQiWMECmc5R7xdyIQ5ubf+9v6QAUb7pcfjGYUuDWIW UhvUHg+4E5VSMsMGNWAAKupiIuupD7HR7tBUa1o+X3GfM7/liUfhNnKKlF2eH7B//K2+ s8+w== X-Forwarded-Encrypted: i=1; AJvYcCXQyXU7OefkPEvOSx9dRhkhnUubePFf0pGob5Bkb5xg+Lawms500xWqpc9/rVloD5vrKMTrt9s1Ow==@kvack.org X-Gm-Message-State: AOJu0YxDAOBZFIJr7+EdXlQOEOiLOi74a7sijVCDAe9srbBXG3ptrK8d Q7qu7JEp2ZH8aT4ZNzayC6ax6RCrdmXr4d95fv21Gfsr/OngPUsNnfGgB/SiyVOOosh1LrVg4UU UIzPuy3gIKSyySvcWRR+iFDTiiwBYwejnzKfWC261 X-Gm-Gg: ASbGncv3jbrZC5UpUbugrJqoYTfE0Up4lvwrrFmrmdohE7h0jE2roEiTfO0NXuvPaxD 1GwpfuGcyWPdhdiL6CdxugC3tEVmezDVVgNmTZa/RosfzmJ83TTeM283jWYM1FuCZbCmbsKc65D vwqgeh3nNZ8jCNEdUH8muDgvdh7EGvl9+kDhOQT4e//Q== X-Google-Smtp-Source: AGHT+IE5tQt4/6FQY068Z1ESwzF+FC2nnkGkiztgAHajhv0/xdX+Nl4gX51C+4BpqQLa4eiGBPAjj2LMCvfE8u61t4s= X-Received: by 2002:a05:622a:2cf:b0:494:763e:d971 with SMTP id d75a77b69052e-4a786d943ebmr4256801cf.23.1750632040553; Sun, 22 Jun 2025 15:40:40 -0700 (PDT) MIME-Version: 1.0 References: <20250620093102.2416767-1-hao.ge@linux.dev> In-Reply-To: From: Suren Baghdasaryan Date: Sun, 22 Jun 2025 15:40:29 -0700 X-Gm-Features: Ac12FXxuYKdmyFuraLrFI24DrexQbVSu7tvYSsKFqmip14JtfwI2W93zOOFLmWI Message-ID: Subject: Re: [PATCH v3] mm/alloc_tag: Fix the kmemleak false positive issue in the allocation of the percpu variable tag->counters To: Catalin Marinas Cc: Hao Ge , Kent Overstreet , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Hao Ge Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 0DF8640002 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: g378wt7dw5ccsu5ia4gq7idcn1zq9oin X-HE-Tag: 1750632041-521728 X-HE-Meta: U2FsdGVkX19GeOc1uGisbN13ubDMevwEyVE0Z24ZNX2oYe0D6jOAEOIU2kprihe/F8DWi5vOVeZ4Lo/nyaWMgLvHanVGIn+xmAEhdSElXP9plpasn0j9iuztROngpgDJDxRyXVorVOy+rDLf2t4DuzWe46anbVlF4G6uWoLoLhZUxHaH2FheHknodfTtoFpR5qWBaeZKv/URjwFfb1NKvha/51Wjg8OdYntE12nGJpjEOLfjg8X+KvCu9T3fYBd9++sd/PjTY2jmGglxHxRZavKbfP2hnJt96a0KlkzbeRimScD8yEYgvR6q74ZBlL9nBBnxiFXkzFg+c/rs5U2rHxHsfimKvOQsKDlbpRF+Xlz5Z3t9gLidtw3UaW7AY09M17JNvPU53Cc0zWMSTOHgCRFU6xkX7GVexausDpWGcj7JRGlzglFLQIW/Z51IiPx62NS/ZE571xbH8dBaclLcfFpV4GXrMugoCuobdcqm1YQQt8StM1lQTCdiryn5A4W16pSe5/iWxnYq8/3wGtFi9H/Q3/cC4M+y+aG3wWCkzRq1dTQy8PBfvz1bJPYoYg1VQVQl7SRJFMiDNkwdDYzIVZCf2lpmf8Q1lN9ILwrb7/Fd3rEHgB05OIBRRJJLL9RBujiIbW2OncjbvFC4bFxuvXJlH101Cm6klCRYSL8ZNvu/2ZF9A5+68SJY2krDFYl3Iy3U/QQUFYoHahrw6hOdeWNE1kB2mF5sxhxo+Vy57zGj6UkC2bcUsAL1rm573S0xANgB+/qKBBUQO+CtlpGEeTIuBhsbsXvkvytTzMU9BostCtURazdR8DPYuBH4F+wA0WQbxlRoXTKnEnSCjSiFcIjzkZ0cSQ3fJpL2luHkHHr4sJqh91E+mpot91sOZ0MxnliIPQXmBgbeso67BPaYcSi/gzeu2hnYyT1Hyt2gHZQO/OAw0Tvf/w2emEofFb7NzNT/PAwFyD8D6laSs4F 6S6FSXz6 SUdrrh5ugKVYseASpq6cE0M/Ugz6Dykl4q6Zy5jNJq4u3SQsjd3RXLikWPaCX8raQ/jqQV+4lOcyygEhAX5MSx0098oSzxFMD6FNybtY8sU+heIsPYwcOeicuHgu+79j2HmLZHUXfPN9N9BgXehmfFtZvc6eEmZOnf3Vs8KOg4eTmgiPWN1PjGrbs8zAsPNyzoHvuxhIpG4UMlZaOmTDxqkxeDJP/85exr8vXdPQ7SuDoiF46gjNkVbUP4F3te5a/by+VP1GCnapC5woC8GQmsnCXPGNMT8arZThly/yqDUVpbT5evP4nd9MS1Lvnl4VmIcYN3pAQ6q7LICwUuu7WJ/G3SPBuhONKAq72 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, Jun 20, 2025 at 3:44=E2=80=AFAM Catalin Marinas wrote: > > On Fri, Jun 20, 2025 at 05:31:02PM +0800, Hao Ge wrote: > > From: Hao Ge > > > > When loading a module, as long as the module has memory > > allocation operations, kmemleak produces a false positive > > report that resembles the following: > > > > unreferenced object (percpu) 0x7dfd232a1650 (size 16): > > comm "modprobe", pid 1301, jiffies 4294940249 > > hex dump (first 16 bytes on cpu 2): > > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > > backtrace (crc 0): > > kmemleak_alloc_percpu+0xb4/0xd0 > > pcpu_alloc_noprof+0x700/0x1098 > > load_module+0xd4/0x348 > > codetag_module_init+0x20c/0x450 > > codetag_load_module+0x70/0xb8 > > load_module+0xef8/0x1608 > > init_module_from_file+0xec/0x158 > > idempotent_init_module+0x354/0x608 > > __arm64_sys_finit_module+0xbc/0x150 > > invoke_syscall+0xd4/0x258 > > el0_svc_common.constprop.0+0xb4/0x240 > > do_el0_svc+0x48/0x68 > > el0_svc+0x40/0xf8 > > el0t_64_sync_handler+0x10c/0x138 > > el0t_64_sync+0x1ac/0x1b0 > > > > This is because the module can only indirectly reference alloc_tag_coun= ters > > through the alloc_tag section, which misleads kmemleak. > > > > However, we don't have a kmemleak ignore interface for percpu > > allocations yet. So let's create one and invoke it for tag->counters. > > > > Fixes: 12ca42c23775 ("alloc_tag: allocate percpu counters for module ta= gs dynamically") > > Signed-off-by: Hao Ge > > Reviewed-by: Catalin Marinas Thanks! For lib/alloc_tag.c: Acked-by: Suren Baghdasaryan