]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tracing: Fix allocation of printing set_event file content
authorSteven Rostedt <rostedt@goodmis.org>
Tue, 21 Jan 2025 20:12:36 +0000 (15:12 -0500)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 21 Jan 2025 20:22:41 +0000 (15:22 -0500)
The adding of cached events for modules not loaded yet required a
descriptor to separate the iteration of events with the iteration of
cached events for a module. But the allocation used the size of the
pointer and not the size of the contents to allocate its data and caused a
slab-out-of-bounds.

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/20250121151236.47fcf433@gandalf.local.home
Reported-by: Sasha Levin <sashal@kernel.org>
Closes: https://lore.kernel.org/all/Z4_OHKESRSiJcr-b@lappy/
Fixes: b355247df104e ("tracing: Cache ":mod:" events for modules not loaded yet")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/trace_events.c

index 51c5014877e85ef111045f085923da8f60f0dac8..5217dcddcb4c70ec005152368e8f540ecc5944a9 100644 (file)
@@ -1588,7 +1588,7 @@ static void *s_start(struct seq_file *m, loff_t *pos)
        struct set_event_iter *iter;
        loff_t l;
 
-       iter = kzalloc(sizeof(iter), GFP_KERNEL);
+       iter = kzalloc(sizeof(*iter), GFP_KERNEL);
        if (!iter)
                return NULL;