* [PATCH v2 0/3] Cleanup and fix tools/mm/slabinfo utility
@ 2026-05-18 6:21 Xuewen Wang
2026-05-18 6:21 ` [PATCH v2 1/3] tools/mm/slabinfo: Fix trace disable logic inversion Xuewen Wang
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Xuewen Wang @ 2026-05-18 6:21 UTC (permalink / raw)
To: akpm; +Cc: linux-mm, linux-kernel, Xuewen Wang
This series fixes one bug and cleans up two code quality issues in tools/mm/slabinfo:
1. Fix trace disable logic inversion: when the user intends to disable
tracing (!tracing) and it is currently enabled (s->trace),
set_obj() was called with 1 instead of 0, which is opposite to
the intended behavior. All other options (sanity_checks, red_zone,
poison, store_user) in the same function use 0 for the disable
case.
2. Remove dead assignment in get_obj_and_str(): `x = NULL` sets the
local parameter variable instead of `*x`, which is a no-op since
`*x` was already set to NULL on the line above.
3. Remove redundant slab->partial assignment in read_slab_dir():
slab->partial is assigned by get_obj("partial") and then
immediately overwritten by get_obj_and_str("partial", &t).
Xuewen Wang (3):
tools/mm/slabinfo: Fix trace disable logic inversion
tools/mm/slabinfo: remove dead assignment in get_obj_and_str()
tools/mm/slabinfo: remove redundant slab->partial assignment
tools/mm/slabinfo.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
---
Changes in v2:
- Fix author email mismatch
- Add Fixes tag for the bug fix (patch 1)
- Remove unnecessary braces in patch 2 per reviewer suggestion
Patches 1/3 and 3/3 carry Reviewed-by tag from SeongJae Park.
v1:
https://lore.kernel.org/all/20260515065325.4009527-1-18810879172@163.com/
--
2.25.1
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v2 1/3] tools/mm/slabinfo: Fix trace disable logic inversion
2026-05-18 6:21 [PATCH v2 0/3] Cleanup and fix tools/mm/slabinfo utility Xuewen Wang
@ 2026-05-18 6:21 ` Xuewen Wang
2026-05-18 6:21 ` [PATCH v2 2/3] tools/mm/slabinfo: remove dead assignment in get_obj_and_str() Xuewen Wang
2026-05-18 6:21 ` [PATCH v2 3/3] tools/mm/slabinfo: remove redundant slab->partial assignment Xuewen Wang
2 siblings, 0 replies; 5+ messages in thread
From: Xuewen Wang @ 2026-05-18 6:21 UTC (permalink / raw)
To: akpm; +Cc: linux-mm, linux-kernel, Xuewen Wang, stable, SeongJae Park
The disable trace path in slab_debug() had a logic error where it would
set trace=1 instead of trace=0. This made trace functionality permanently
enabled once turned on for any slab cache.
Fixes: a87615b8f9e2 ("SLUB: slabinfo upgrade")
Cc: stable@vger.kernel.org
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Xuewen Wang <wangxuewen@kylinos.cn>
---
tools/mm/slabinfo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/mm/slabinfo.c b/tools/mm/slabinfo.c
index 54c7265ab52d..39f7eae7eecd 100644
--- a/tools/mm/slabinfo.c
+++ b/tools/mm/slabinfo.c
@@ -798,7 +798,7 @@ static void slab_debug(struct slabinfo *s)
fprintf(stderr, "%s can only enable trace for one slab at a time\n", s->name);
}
if (!tracing && s->trace)
- set_obj(s, "trace", 1);
+ set_obj(s, "trace", 0);
}
static void totals(void)
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v2 2/3] tools/mm/slabinfo: remove dead assignment in get_obj_and_str()
2026-05-18 6:21 [PATCH v2 0/3] Cleanup and fix tools/mm/slabinfo utility Xuewen Wang
2026-05-18 6:21 ` [PATCH v2 1/3] tools/mm/slabinfo: Fix trace disable logic inversion Xuewen Wang
@ 2026-05-18 6:21 ` Xuewen Wang
2026-05-19 0:32 ` SeongJae Park
2026-05-18 6:21 ` [PATCH v2 3/3] tools/mm/slabinfo: remove redundant slab->partial assignment Xuewen Wang
2 siblings, 1 reply; 5+ messages in thread
From: Xuewen Wang @ 2026-05-18 6:21 UTC (permalink / raw)
To: akpm; +Cc: linux-mm, linux-kernel, Xuewen Wang
The assignment `x = NULL` sets the local parameter variable instead of
`*x`, which is a no-op since `*x` was already set to NULL on the line
above. Remove the dead assignment.
Signed-off-by: Xuewen Wang <wangxuewen@kylinos.cn>
---
tools/mm/slabinfo.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/mm/slabinfo.c b/tools/mm/slabinfo.c
index 39f7eae7eecd..685bcdd03568 100644
--- a/tools/mm/slabinfo.c
+++ b/tools/mm/slabinfo.c
@@ -193,10 +193,9 @@ static unsigned long get_obj_and_str(const char *name, char **x)
*x = NULL;
- if (!read_obj(name)) {
- x = NULL;
+ if (!read_obj(name))
return 0;
- }
+
result = strtoul(buffer, &p, 10);
while (*p == ' ')
p++;
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v2 3/3] tools/mm/slabinfo: remove redundant slab->partial assignment
2026-05-18 6:21 [PATCH v2 0/3] Cleanup and fix tools/mm/slabinfo utility Xuewen Wang
2026-05-18 6:21 ` [PATCH v2 1/3] tools/mm/slabinfo: Fix trace disable logic inversion Xuewen Wang
2026-05-18 6:21 ` [PATCH v2 2/3] tools/mm/slabinfo: remove dead assignment in get_obj_and_str() Xuewen Wang
@ 2026-05-18 6:21 ` Xuewen Wang
2 siblings, 0 replies; 5+ messages in thread
From: Xuewen Wang @ 2026-05-18 6:21 UTC (permalink / raw)
To: akpm; +Cc: linux-mm, linux-kernel, Xuewen Wang, SeongJae Park
slab->partial is assigned by get_obj("partial") and then immediately
overwritten by get_obj_and_str("partial", &t). Remove the first
redundant assignment.
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Xuewen Wang <wangxuewen@kylinos.cn>
---
tools/mm/slabinfo.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/tools/mm/slabinfo.c b/tools/mm/slabinfo.c
index 685bcdd03568..87570c22b151 100644
--- a/tools/mm/slabinfo.c
+++ b/tools/mm/slabinfo.c
@@ -1265,7 +1265,6 @@ static void read_slab_dir(void)
slab->objects_total = get_obj("objects_total");
slab->objs_per_slab = get_obj("objs_per_slab");
slab->order = get_obj("order");
- slab->partial = get_obj("partial");
slab->partial = get_obj_and_str("partial", &t);
decode_numa_list(slab->numa_partial, t);
free(t);
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-05-19 0:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-18 6:21 [PATCH v2 0/3] Cleanup and fix tools/mm/slabinfo utility Xuewen Wang
2026-05-18 6:21 ` [PATCH v2 1/3] tools/mm/slabinfo: Fix trace disable logic inversion Xuewen Wang
2026-05-18 6:21 ` [PATCH v2 2/3] tools/mm/slabinfo: remove dead assignment in get_obj_and_str() Xuewen Wang
2026-05-19 0:32 ` SeongJae Park
2026-05-18 6:21 ` [PATCH v2 3/3] tools/mm/slabinfo: remove redundant slab->partial assignment Xuewen Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox