From: Greg Kroah-Hartman Date: Wed, 9 Apr 2025 08:01:26 +0000 (+0200) Subject: 6.12-stable patches X-Git-Tag: v5.4.292~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=13cd9cd96de2f252d6b718668c435709516b14c1;p=thirdparty%2Fkernel%2Fstable-queue.git 6.12-stable patches added patches: tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch --- diff --git a/queue-6.12/series b/queue-6.12/series index 9aea7ee9d9..8494268450 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -421,3 +421,4 @@ nfsd-nfsd_unlink-clobbers-non-zero-status-returned-from-fh_fill_pre_attrs.patch nfsd-never-return-nfs4err_file_open-when-removing-a-directory.patch nfsd-skip-sending-cb_recall_any-when-the-backchannel-isn-t-up.patch arm-9443-1-require-linker-to-support-keep-within-overlay-for-dce.patch +tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch diff --git a/queue-6.12/tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch b/queue-6.12/tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch new file mode 100644 index 0000000000..0d21ab91cb --- /dev/null +++ b/queue-6.12/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 +@@ -865,8 +865,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; +@@ -877,8 +879,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: