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 6CB74C38142 for ; Mon, 23 Jan 2023 17:05:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D29D36B0072; Mon, 23 Jan 2023 12:05:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CD9F46B0073; Mon, 23 Jan 2023 12:05:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B53226B0074; Mon, 23 Jan 2023 12:05:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A37956B0072 for ; Mon, 23 Jan 2023 12:05:01 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 6225FAB9F7 for ; Mon, 23 Jan 2023 17:05:01 +0000 (UTC) X-FDA: 80386688802.27.E5ACDED Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173]) by imf10.hostedemail.com (Postfix) with ESMTP id 569E7C0024 for ; Mon, 23 Jan 2023 17:04:59 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=enfabrica.net header.s=google header.b=GXchdEYV; spf=pass (imf10.hostedemail.com: domain of george@enfabrica.net designates 209.85.167.173 as permitted sender) smtp.mailfrom=george@enfabrica.net; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674493499; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=0tEp2G4dGisYIHzLbR1AMHRXXY1SBTNtHpC/PjpSBWI=; b=2MW7HIVzCC9HzeL1+IlB0IYaMP8NdX+5J6LBvUNpbl/Zxge+9FWwXp3SCuyO+J9tYzb3fk F76p6bt2zBvZpTBzVoLoM9BkB0ZJfK3oqyUOgnQBpIVk9p7rmuC7015s7XSZ5NkkdioFk7 nmD00j1udBr0aAIcSojPanmEts+y8qc= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=enfabrica.net header.s=google header.b=GXchdEYV; spf=pass (imf10.hostedemail.com: domain of george@enfabrica.net designates 209.85.167.173 as permitted sender) smtp.mailfrom=george@enfabrica.net; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674493499; a=rsa-sha256; cv=none; b=fV2UsO3x3VuBvE4nHZoXIUETA/Feg4qQkorSvJVe+qw2gQP3bOW3Cecp1gRhQR04EvQ3dJ gWF6QPsSq0Py4jTi0TmnD95Z3th+2aVPhCFMcJ7Y2YEz7AbwiH+FLIqXnFCUFpJravEM1g eB+q0QblYKd/1WXTH0kap4apUnY/8+w= Received: by mail-oi1-f173.google.com with SMTP id r132so10899150oif.10 for ; Mon, 23 Jan 2023 09:04:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enfabrica.net; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=0tEp2G4dGisYIHzLbR1AMHRXXY1SBTNtHpC/PjpSBWI=; b=GXchdEYV915lcUCoyEySJKhcbfa9bh3M70ihhcAKlld/RmSSTtlUH/TOxwNAWJuxV+ Wcnr0MbuphPFMsa/qdYPTda+af+Fcs7iIZhzoxlXFiZfLujwphfWbYhmistNL0+diHNT Fc/4re14/et4rJRYFvB2Rgn+0ncTTx2lNeY9CjriQWh9t5KVJNly0wT9NkhR0xrgfzHJ YNgwj5uvUnskfh2fTfEI/mvc3DBEHMj/GwoXsTssUCs6bjDDb6quHtCCPBkL9WhB1fdO Fada+1E5EjujgNh5tDD0QuQOKg/+GwZqxh+ami1l+nZK9A7Re5RrPdGvHdh6NRuiZxXO NWaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0tEp2G4dGisYIHzLbR1AMHRXXY1SBTNtHpC/PjpSBWI=; b=5X69GvTwJfr3uAchuZmSmLvL/xVvBPad7Ff9JHtb4Qp1iGcpVKzRglEBdqKRdQOSyG 64WdHXD5OXxs0S1EAyc7RJnmfi7uCxrnPcp3EvaRaNWJEIBipBgMc/m/zy8H0T1lWr/8 wTdqUpgRqQ3Un9mNaT1yQmm3UgmhWEf+PZtWmH95wsALpQNmL9Uspck2onyDuKN1WCtG l2BIEZmbZa6xmd/HsvUCdiaeqQUBZ5fCPd+puV4qCnApFEKaZJJg3Tva1a+Gz/8HkYxn iaJIP5vxMLe1qmeuYb4mUiE9Lg3y6+5Mr6GSBD54aaQoF6pudRDcj7clImhfZX6pj3rn Jokw== X-Gm-Message-State: AFqh2kqwcC/w1kYLA6FmGezsF0nQMmRvlxL3+rrKEfJwg2RfWQ9SCzKT Y0yKGQuAXpej8Rc5ktiFSJc+9A== X-Google-Smtp-Source: AMrXdXttYcTkf89LOPFadkiPP31A+ZtsBCkOaq4o9W+QeFbP6D0RWr8WpEhSKbYkDO+sZ3hLIWPMdw== X-Received: by 2002:a05:6808:6086:b0:364:ceba:2001 with SMTP id de6-20020a056808608600b00364ceba2001mr12059634oib.31.1674493498389; Mon, 23 Jan 2023 09:04:58 -0800 (PST) Received: from DESKTOP-B7RB26P.localdomain (cpe-70-114-202-97.austin.res.rr.com. [70.114.202.97]) by smtp.gmail.com with ESMTPSA id 2-20020aca0502000000b0035ec1384c9esm23160163oif.23.2023.01.23.09.04.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jan 2023 09:04:57 -0800 (PST) From: George Prekas To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Catalin Marinas , Andrew Morton , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Thomas Gleixner , "Eric W. Biederman" , Sebastian Andrzej Siewior , Andy Lutomirski , Peter Zijlstra , "Liam R. Howlett" , Fenghua Yu , Andrei Vagin , George Prekas Subject: [PATCH 0/9] mm: kmemleak: fix unreported memory leaks Date: Mon, 23 Jan 2023 11:04:10 -0600 Message-Id: <20230123170419.7292-1-george@enfabrica.net> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: fwsci9mucperp79er9nkemsy8x1titi6 X-Rspamd-Queue-Id: 569E7C0024 X-HE-Tag: 1674493499-184695 X-HE-Meta: U2FsdGVkX19zTp+Mp8lqqu5cw/95h3A2z728pKi4jAv5B1ND1UePjdhIl9a1kQpA4WDOFxJV37XiSw4Ab48GDBxFjxpr/dzHJvSjwPNsV3H4ITU3ATn4eD1UQY8+0ODGxuYpKS5bKf3rdvMlxtj6vjH2cdi9qlXGzywK3vhDmVvEGNiU4UdZKxjtsvEXfc3H9OwFHBKbfX71B1TU0ZWgzvJZ2aVq4XEk7GNgq9t97Ln8P81cNkhK1WXVPnRkHHir4eAvUMky6rfrmqXQ+kNrca1Ht3PA9DXJlQnHgcBzX9vm1tLrpMuYJlpTS19GyCNbU8c842YOJQQ3SjprSk8PUhOpcaLeK+NUm+SHWmUyJxlIKx4lSyhh2DmvkPFe4lgJmyaY9/b0s8d5Di5qLQQr/L11MCzGElF0irxnek4XwmCxbW+na5THBOt5cIiO35hvKEEyFOMVWFBf6vyqnRJq+vdVhRRca3TRpbEXeFLCuZlCzwuXFJ/4n1e0dtK3vsTvf7RFd/m59uWJS+fI4JXE74rHLutvBcosgb2ordaHNeFiMU0SqmuZNh1yC5Kt7KM6xhSbbRUDcPabyLCqt2OP5CueoKRIpoXnAufNvXzLaHQxUuJLUKD5OzUPSd7uGFXPmbT8RhaE+c5Hqczu9o61z1XtHFajSq1GRwhPmDngaFtDD4JjYq8/mbOJf5yps635t7MMqBDeF1u6sbtQQ3Z9575EPawEB4+KR9LMhTVU/kOcPiY7Y4aIXELtp3Sb2EXsv5nx9YmkH9s7IueERRdA7rb6/9Ah/YK+FDt/djXxEc+A1mnqaRTOHVX709LHr1dvxtEJnoK0/s/hYReXJAmpGJKlyfDwIV5zlK8a+iZlODC0wtrLLSNA3Vktfvh+YetskoNFULcJi+mdEJU9DVbWGUrmw00zqF/XM8HkynMM0xaLjZvw4ObVk8uYwHf5flkOMipdggdSGhF4kY34ALJ B5RyGBBG 7MTqT68LCaqr+VSBUrYwXb7bEonTSOzpwjpDJXJvJzrJ8fs7Uh8l1d2eqsG6nwuFxS2k00hsFBNrdESicXfyQWCYsL5UNTDwOOl1m4Rryi3elpZsJXfRi3BAo+hnWOYwt7w+xq+RXe/zoTjNRRAFUQMLM2/hXRmSj2G7BmsoT7+xj8ZNSRWASEAvJjo8QGGPUbQbIoODViTvKF0ASHj5GK2uyAwefUlr37fV3I3iqLRzzmYpWPUVXjw8kvrEm6OpGwZ6IhJAT6PGV2xRHwsiRp2sNbDbi6Xh4fGrlG/9PYT/xypwzLM5TnZLjLty/LQFzzRjajQpdA/wgG6qMj8X/KjOsNLcME5bFwTVl 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: Fix a couple of issues with kmemleak that lead to missed (not reported) leaks. Parts of the kernel keep references to allocated objects which are not properly communicated to kmemleak. This causes kmemleak to fail to report some memory leaks. I have also written a kmemleak test. It is a userspace Python script and a device driver that communicate over ioctl, allocate and free memory and verify that memory leaks are reported correctly. You can find it here: https://gist.github.com/george-enf/2d7cc288202b94defbe253f4ca26357b George Prekas (9): mm: kmemleak: properly disable task stack scanning Revert "mm/kmemleak: make create_object return void" mm: kmemleak: propagate NO_SCAN flag in delete_object_part mm: kmemleak: add kmemleak_noscan_phys function mm: kmemleak: do not scan sparsemap_buf mm: kmemleak: do not scan cpu_cache of struct kmem_cache mm: kmemleak: erase page->s_mem in slab_destroy mm: kmemleak: erase page->freelist in slab_destroy mm: kmemleak: fix undetected leaks for page aligned objects include/linux/kmemleak.h | 5 ++ kernel/fork.c | 3 ++ mm/kmemleak.c | 98 ++++++++++++++++++++++++++-------------- mm/slab.c | 20 +++----- mm/slab.h | 7 ++- mm/sparse.c | 3 ++ 6 files changed, 88 insertions(+), 48 deletions(-) -- 2.37.1