summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCristian Marussi <cristian.marussi@arm.com>2026-08-08 20:12:34 +0100
committerSudeep Holla <sudeep.holla@kernel.org>2026-09-10 14:00:53 +0100
commit7d5b79cd7d59dd114fb1eb5f60aaac92333edf0e (patch)
treec71ae21d96e36e77d44869ab273dfcf26e8350cd
parent8544e0da1a04c77b98e2e313a423a5c72e48ea32 (diff)
downloadlinux-next-7d5b79cd7d59dd114fb1eb5f60aaac92333edf0e.tar.gz
linux-next-7d5b79cd7d59dd114fb1eb5f60aaac92333edf0e.zip
include: trace: Use string helpers in msg_dump trace events
Use proper available ftrace macros to handle tag strings of variable size, to avoid wasting space using statically oversized arrays while risking to expose stale stack data when such array is not properly padded when filled. Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Link: https://patch.msgid.link/20260808191234.402312-1-cristian.marussi@arm.com Signed-off-by: Sudeep Holla <sudeep.holla@kernel.org>
-rw-r--r--include/trace/events/scmi.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/include/trace/events/scmi.h b/include/trace/events/scmi.h
index 703b7bb68e44..b421c253df00 100644
--- a/include/trace/events/scmi.h
+++ b/include/trace/events/scmi.h
@@ -7,8 +7,6 @@
#include <linux/tracepoint.h>
-#define TRACE_SCMI_MAX_TAG_LEN 6
-
TRACE_EVENT(scmi_fc_call,
TP_PROTO(u8 protocol_id, u8 msg_id, u32 res_id, u32 val1, u32 val2),
TP_ARGS(protocol_id, msg_id, res_id, val1, val2),
@@ -156,7 +154,7 @@ TRACE_EVENT(scmi_msg_dump,
__field(u8, channel_id)
__field(u8, protocol_id)
__field(u8, msg_id)
- __array(char, tag, TRACE_SCMI_MAX_TAG_LEN)
+ __string(tag, tag)
__field(u16, seq)
__field(int, status)
__field(size_t, len)
@@ -168,7 +166,7 @@ TRACE_EVENT(scmi_msg_dump,
__entry->channel_id = channel_id;
__entry->protocol_id = protocol_id;
__entry->msg_id = msg_id;
- strscpy(__entry->tag, tag, TRACE_SCMI_MAX_TAG_LEN);
+ __assign_str(tag);
__entry->seq = seq;
__entry->status = status;
__entry->len = len;
@@ -177,7 +175,7 @@ TRACE_EVENT(scmi_msg_dump,
TP_printk("id=%d ch=%02X pt=%02X t=%s msg_id=%02X seq=%04X s=%d pyld=%s",
__entry->id, __entry->channel_id, __entry->protocol_id,
- __entry->tag, __entry->msg_id, __entry->seq, __entry->status,
+ __get_str(tag), __entry->msg_id, __entry->seq, __entry->status,
__print_hex_str(__get_dynamic_array(cmd), __entry->len))
);
#endif /* _TRACE_SCMI_H */