perf probe: Check group string length

In the kernel, the probe group string length is limited up to
MAX_EVENT_NAME_LEN (including the NULL terminator).

Check for this limitation and report an error if it is exceeded.

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Leo Yan <leo.yan@arm.com>
Link: https://lore.kernel.org/r/20241012204725.928794-3-leo.yan@arm.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
Leo Yan
2024-10-12 21:47:24 +01:00
committed by Namhyung Kim
parent d08e3f14e8
commit 6768faf9b7

View File

@@ -2868,6 +2868,12 @@ static int probe_trace_event__set_name(struct probe_trace_event *tev,
else
group = PERFPROBE_GROUP;
if (strlen(group) >= MAX_EVENT_NAME_LEN) {
pr_err("Probe group string='%s' is too long (>= %d bytes)\n",
group, MAX_EVENT_NAME_LEN);
return -ENOMEM;
}
/* Get an unused new event name */
ret = get_new_event_name(buf, sizeof(buf), event, namelist,
tev->point.retprobe, allow_suffix);