linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tracing/probes: fix traceprobe out-of-bounds argument allocation
@ 2024-08-13 17:25 Fernando Fernandez Mancera
  2024-08-25  7:41 ` Masami Hiramatsu
  0 siblings, 1 reply; 9+ messages in thread
From: Fernando Fernandez Mancera @ 2024-08-13 17:25 UTC (permalink / raw)
  To: linux-trace-kernel; +Cc: Fernando Fernandez Mancera

When initializing trace_probes::nr_args, make sure the maximum number of
probe arguments is honored. Oherwise, we can hit a NULL pointer
dereferences in multiple situations like on traceprobe_set_print_fmt().

Link: https://bugzilla.redhat.com/2303876

Fixes: 035ba76014c0 ("tracing/probes: cleanup: Set trace_probe::nr_args at trace_probe_init")
Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
---
 kernel/trace/trace_probe.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
index 39877c80d6cb..f577b5e71026 100644
--- a/kernel/trace/trace_probe.c
+++ b/kernel/trace/trace_probe.c
@@ -2043,10 +2043,14 @@ int trace_probe_init(struct trace_probe *tp, const char *event,
 		goto error;
 	}
 
-	tp->nr_args = nargs;
+	if (nargs > MAX_TRACE_ARGS)
+		tp->nr_args = MAX_TRACE_ARGS;
+	else
+		tp->nr_args = nargs;
+
 	/* Make sure pointers in args[] are NULL */
 	if (nargs)
-		memset(tp->args, 0, sizeof(tp->args[0]) * nargs);
+		memset(tp->args, 0, sizeof(tp->args[0]) * tp->nr_args);
 
 	return 0;
 
-- 
2.46.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-10-23  8:48 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-13 17:25 [PATCH] tracing/probes: fix traceprobe out-of-bounds argument allocation Fernando Fernandez Mancera
2024-08-25  7:41 ` Masami Hiramatsu
2024-08-25 17:06   ` Fernando F. Mancera
2024-08-25 23:56     ` Masami Hiramatsu
2024-08-26 14:58       ` Fernando F. Mancera
2024-09-04 22:19       ` Fernando F. Mancera
2024-10-22  5:40         ` Masami Hiramatsu
2024-10-22 13:47           ` Masami Hiramatsu
2024-10-23  8:48           ` Fernando F. Mancera

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).