From: Faiyaz Mohammed <faiyazm@codeaurora.org>
To: cl@linux.com, penberg@kernel.org, rientjes@google.com,
iamjoonsoo.kim@lge.com, akpm@linux-foundation.org,
vbabka@suse.cz, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
greg@kroah.com, glittao@gmail.com, andy.shevchenko@gmail.com
Cc: vinmenon@codeaurora.org, catalin.marinas@arm.com,
viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org,
Faiyaz Mohammed <faiyazm@codeaurora.org>
Subject: [PATCH v1] mm: slub: fix the leak of alloc/free traces debugfs interface
Date: Fri, 18 Jun 2021 18:07:55 +0530 [thread overview]
Message-ID: <1624019875-611-1-git-send-email-faiyazm@codeaurora.org> (raw)
fix the leak of alloc/free traces debugfs interface, reported
by kmemleak like below,
unreferenced object 0xffff00091ae1b540 (size 64):
comm "lsbug", pid 1607, jiffies 4294958291 (age 1476.340s)
hex dump (first 32 bytes):
02 00 00 00 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b ........kkkkkkkk
6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
backtrace:
[<ffff8000106b06b8>] slab_post_alloc_hook+0xa0/0x418
[<ffff8000106b5c7c>] kmem_cache_alloc_trace+0x1e4/0x378
[<ffff8000106b5e40>] slab_debugfs_start+0x30/0x50
slab_debugfs_start at mm/slub.c:5831
[<ffff8000107b3dbc>] seq_read_iter+0x214/0xd50
[<ffff8000107b4b84>] seq_read+0x28c/0x418
[<ffff8000109560b4>] full_proxy_read+0xdc/0x148
[<ffff800010738f24>] vfs_read+0x104/0x340
[<ffff800010739ee0>] ksys_read+0xf8/0x1e0
[<ffff80001073a03c>] __arm64_sys_read+0x74/0xa8
[<ffff8000100358d4>] invoke_syscall.constprop.0+0xdc/0x1d8
[<ffff800010035ab4>] do_el0_svc+0xe4/0x298
[<ffff800011138528>] el0_svc+0x20/0x30
[<ffff800011138b08>] el0t_64_sync_handler+0xb0/0xb8
[<ffff80001001259c>] el0t_64_sync+0x178/0x17c
Fixes: 84a2bdb1b458fc968d6d9e07dab388dc679bd747 ("mm: slub: move sysfs slab alloc/free interfaces to debugfs")
Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/mm/slub.c?h=next-20210617&id=84a2bdb1b458fc968d6d9e07dab388dc679bd747
Signed-off-by: Faiyaz Mohammed <faiyazm@codeaurora.org>
---
mm/slub.c | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c
index fcb0c50..f006766 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -5785,31 +5785,24 @@ static int slab_debugfs_show(struct seq_file *seq, void *v)
static void slab_debugfs_stop(struct seq_file *seq, void *v)
{
- kfree(v);
}
static void *slab_debugfs_next(struct seq_file *seq, void *v, loff_t *ppos)
{
- loff_t *spos = v;
struct loc_track *t = seq->private;
+ v = ppos;
if (*ppos < t->count) {
- *ppos = ++*spos;
- return spos;
+ ++*ppos;
+ return v;
}
- *ppos = ++*spos;
+ ++*ppos;
return NULL;
}
static void *slab_debugfs_start(struct seq_file *seq, loff_t *ppos)
{
- loff_t *spos = kmalloc(sizeof(loff_t), GFP_KERNEL);
-
- if (!spos)
- return NULL;
-
- *spos = *ppos;
- return spos;
+ return ppos;
}
static const struct seq_operations slab_debugfs_sops = {
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member of the Code Aurora Forum, hosted by The Linux Foundation
next reply other threads:[~2021-06-18 12:38 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-18 12:37 Faiyaz Mohammed [this message]
2021-06-18 13:15 ` [PATCH v1] mm: slub: fix the leak of alloc/free traces debugfs interface Andy Shevchenko
2021-06-18 13:15 ` Andy Shevchenko
2021-06-20 16:01 ` Faiyaz Mohammed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1624019875-611-1-git-send-email-faiyazm@codeaurora.org \
--to=faiyazm@codeaurora.org \
--cc=akpm@linux-foundation.org \
--cc=andy.shevchenko@gmail.com \
--cc=catalin.marinas@arm.com \
--cc=cl@linux.com \
--cc=glittao@gmail.com \
--cc=greg@kroah.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=penberg@kernel.org \
--cc=rientjes@google.com \
--cc=vbabka@suse.cz \
--cc=vinmenon@codeaurora.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.