lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251218161640.48ac722f@gandalf.local.home>
Date: Thu, 18 Dec 2025 16:16:40 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: LKML <linux-kernel@...r.kernel.org>, Masami Hiramatsu
 <mhiramat@...nel.org>, Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
 "Darrick J. Wong" <djwong@...nel.org>, Lukas Bulwahn
 <lukas.bulwahn@...hat.com>, Menglong Dong <menglong8.dong@...il.com>
Subject: [GIT PULL] tracing: Fixes for v6.19-rc1


Linus,

tracing fixes for v6.19:

- Add Documentation/core-api/tracepoint.rst to TRACING in MAINTAINERS file

  Updates to the tracepoint.rst document should be reviewed by the
  tracing maintainers.

- Fix warning triggered by perf attaching to synthetic events

  The synthetic events do not add a function to be registered when
  perf attaches to them. This causes a warning when perf registers
  a synthetic event and passes a NULL pointer to the tracepoint register
  function. Ideally synthetic events should be updated to work with
  perf, but as that's a feature and not a bug fix, simply now return
  -ENODEV when perf tries to register an event that has a NULL pointer
  for its function. This no longer causes a kernel warning and simply
  causes the perf code to fail with an error message.

- Fix 32bit overflow in option flag test

  The option's flags changed from 32 bits in size to 64 bits in size.
  Fix one of the places that shift 1 by the option bit number to
  to be 1ULL.

- Fix the output of printing the direct jmp functions

  The enabled_functions that shows how functions are being attached by
  ftrace wasn't updated to accommodate the new direct jmp trampolines
  that set the LSB of the pointer, and outputs garbage. Update the
  output to handle the direct jmp trampolines.


Please pull the latest trace-v6.19-rc1 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-v6.19-rc1

Tag SHA1: fb11857ac474c8e9b28605d062dc37de624e4338
Head SHA1: 39263f986da55c5b7bc328c757fe378a6a41799d


Darrick J. Wong (1):
      tracing: Fix UBSAN warning in __remove_instance()

Lukas Bulwahn (1):
      MAINTAINERS: add tracepoint core-api doc files to TRACING

Menglong Dong (1):
      ftrace: Fix address for jmp mode in t_show()

Steven Rostedt (1):
      tracing: Do not register unsupported perf events

----
 MAINTAINERS                 | 1 +
 kernel/trace/ftrace.c       | 7 +++++--
 kernel/trace/trace.c        | 2 +-
 kernel/trace/trace_events.c | 2 ++
 4 files changed, 9 insertions(+), 3 deletions(-)
---------------------------
diff --git a/MAINTAINERS b/MAINTAINERS
index 5b11839cba9d..8e90454bb817 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -26464,6 +26464,7 @@ L:	linux-trace-kernel@...r.kernel.org
 S:	Maintained
 Q:	https://patchwork.kernel.org/project/linux-trace-kernel/list/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
+F:	Documentation/core-api/tracepoint.rst
 F:	Documentation/trace/*
 F:	fs/tracefs/
 F:	include/linux/trace*.h
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 3ec2033c0774..ef2d5dca6f70 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -4518,8 +4518,11 @@ static int t_show(struct seq_file *m, void *v)
 			unsigned long direct;
 
 			direct = ftrace_find_rec_direct(rec->ip);
-			if (direct)
-				seq_printf(m, "\n\tdirect-->%pS", (void *)direct);
+			if (direct) {
+				seq_printf(m, "\n\tdirect%s-->%pS",
+					   ftrace_is_jmp(direct) ? "(jmp)" : "",
+					   (void *)ftrace_jmp_get(direct));
+			}
 		}
 	}
 
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index e575956ef9b5..6f2148df14d9 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -10507,7 +10507,7 @@ static int __remove_instance(struct trace_array *tr)
 
 	/* Disable all the flags that were enabled coming in */
 	for (i = 0; i < TRACE_FLAGS_MAX_SIZE; i++) {
-		if ((1 << i) & ZEROED_TRACE_FLAGS)
+		if ((1ULL << i) & ZEROED_TRACE_FLAGS)
 			set_tracer_flag(tr, 1ULL << i, 0);
 	}
 
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index b16a5a158040..76067529db61 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -700,6 +700,8 @@ int trace_event_reg(struct trace_event_call *call,
 
 #ifdef CONFIG_PERF_EVENTS
 	case TRACE_REG_PERF_REGISTER:
+		if (!call->class->perf_probe)
+			return -ENODEV;
 		return tracepoint_probe_register(call->tp,
 						 call->class->perf_probe,
 						 call);

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ