From 7c779ebf442db70bd6f0931792d455d1ca548885 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 9 Apr 2025 10:00:36 +0200 Subject: [PATCH] 5.10-stable patches added patches: tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch --- queue-5.10/series | 1 + ...-perf-enums-when-perf-is-not-defined.patch | 52 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 queue-5.10/tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch diff --git a/queue-5.10/series b/queue-5.10/series index cead5efa1c..f484ccecfe 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -225,3 +225,4 @@ nfsd-put-dl_stid-if-fail-to-queue-dl_recall.patch nfsd-skip-sending-cb_recall_any-when-the-backchannel-isn-t-up.patch netfilter-conntrack-fix-crash-due-to-confirmed-bit-load-reordering.patch x86-kexec-fix-double-free-of-elf-header-buffer.patch +tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch diff --git a/queue-5.10/tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch b/queue-5.10/tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch new file mode 100644 index 0000000000..195e795ec0 --- /dev/null +++ b/queue-5.10/tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch @@ -0,0 +1,52 @@ +From 8eb1518642738c6892bd629b46043513a3bf1a6a Mon Sep 17 00:00:00 2001 +From: Steven Rostedt +Date: Sun, 23 Mar 2025 15:21:51 -0400 +Subject: tracing: Do not use PERF enums when perf is not defined + +From: Steven Rostedt + +commit 8eb1518642738c6892bd629b46043513a3bf1a6a upstream. + +An update was made to up the module ref count when a synthetic event is +registered for both trace and perf events. But if perf is not configured +in, the perf enums used will cause the kernel to fail to build. + +Cc: Masami Hiramatsu +Cc: Mathieu Desnoyers +Cc: Douglas Raillard +Link: https://lore.kernel.org/20250323152151.528b5ced@batman.local.home +Fixes: 21581dd4e7ff ("tracing: Ensure module defining synth event cannot be unloaded while tracing") +Reported-by: kernel test robot +Closes: https://lore.kernel.org/oe-kbuild-all/202503232230.TeREVy8R-lkp@intel.com/ +Signed-off-by: Steven Rostedt (Google) +Signed-off-by: Greg Kroah-Hartman +--- + kernel/trace/trace_events_synth.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/kernel/trace/trace_events_synth.c ++++ b/kernel/trace/trace_events_synth.c +@@ -755,8 +755,10 @@ static int synth_event_reg(struct trace_ + struct synth_event *event = container_of(call, struct synth_event, call); + + switch (type) { +- case TRACE_REG_REGISTER: ++#ifdef CONFIG_PERF_EVENTS + case TRACE_REG_PERF_REGISTER: ++#endif ++ case TRACE_REG_REGISTER: + if (!try_module_get(event->mod)) + return -EBUSY; + break; +@@ -767,8 +769,10 @@ static int synth_event_reg(struct trace_ + int ret = trace_event_reg(call, type, data); + + switch (type) { +- case TRACE_REG_UNREGISTER: ++#ifdef CONFIG_PERF_EVENTS + case TRACE_REG_PERF_UNREGISTER: ++#endif ++ case TRACE_REG_UNREGISTER: + module_put(event->mod); + break; + default: -- 2.47.3