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: <20250731101717.6c340b66@gandalf.local.home>
Date: Thu, 31 Jul 2025 10:17:17 -0400
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>,
 Andrew Morton <akpm@...ux-foundation.org>, Mark Rutland
 <mark.rutland@....com>, Arnd Bergmann <arnd@...db.de>, Nam Cao
 <namcao@...utronix.de>, Ricardo Neri
 <ricardo.neri-calderon@...ux.intel.com>, Yury Norov <yury.norov@...il.com>
Subject: [GIT PULL] tracing: Updates for v6.17


Linus,

tracing changes for 6.17

- Deprecate auto-mounting tracefs to /sys/kernel/debug/tracing

  When tracefs was first introduced back in 2014, the directory
  /sys/kernel/tracing was added and is the designated location to mount
  tracefs. To keep backward compatibility, tracefs was auto-mounted in
  /sys/kernel/debug/tracing as well.

  All distros now mount tracefs on /sys/kernel/tracing. Having it seen in two
  different locations has lead to various issues and inconsistencies.

  The VFS folks have to also maintain debugfs_create_automount() for this
  single user.

  It's been over 10 years. Tooling and scripts should start replacing the
  debugfs location with the tracefs one. The reason tracefs was created in the
  first place was to allow access to the tracing facilities without the need
  to configure debugfs into the kernel. Using tracefs should now be more
  robust.

  A new config is created: CONFIG_TRACEFS_AUTOMOUNT_DEPRECATED
  which is default y, so that the kernel is still built with the automount.
  This config allows those that want to remove the automount from debugfs to
  do so.

  When tracefs is accessed from /sys/kernel/debug/tracing, the following
  printk is triggerd:

   pr_warn("NOTICE: Automounting of tracing to debugfs is deprecated and will be removed in 2030\n");

  This gives users another 5 years to fix their scripts.

- Use queue_rcu_work() instead of call_rcu() for freeing event filters

  The number of filters to be free can be many depending on the number of
  events within an event system. Freeing them from softirq context can
  potentially cause undesired latency. Use the RCU workqueue to free them
  instead.

- Remove pointless memory barriers in latency code

  Memory barriers were added to some of the latency code a long time ago with
  the idea of "making them visible", but that's not what memory barriers are
  for. They are to synchronize access between different variables. There was
  no synchronization here making them pointless.

- Remove "__attribute__()" from the type field of event format

  When LLVM is used to compile the kernel with CONFIG_DEBUG_INFO_BTF=y and
  PAHOLE_HAS_BTF_TAG=y, some of the format fields get expanded with the
  following:

    field:const char * filename;      offset:24;      size:8; signed:0;

  Turns into:

    field:const char __attribute__((btf_type_tag("user"))) * filename;      offset:24;      size:8; signed:0;

  This confuses parsers. Add code to strip these tags from the strings.

- Add eprobe config option CONFIG_EPROBE_EVENTS

  Eprobes were added back in 5.15 but were only enabled when another probe was
  enabled (kprobe, fprobe, uprobe, etc). The eprobes had no config option
  of their own. Add one as they should be a separate entity.

  It's default y to keep with the old kernels but still has dependencies on
  TRACING and HAVE_REGS_AND_STACK_ACCESS_API.

- Add eprobe documentation

  When eprobes were added back in 5.15 no documentation was added to describe
  them. This needs to be rectified.

- Replace open coded cpumask_next_wrap() in move_to_next_cpu()

- Have preemptirq_delay_run() use off-stack CPU mask

- Remove obsolete comment about pelt_cfs event

  DECLARE_TRACE() appends "_tp" to trace events now, but the comment above
  pelt_cfs still mentioned appending it manually.

- Remove EVENT_FILE_FL_SOFT_MODE flag

  The SOFT_MODE flag was required when the soft enabling and disabling of
  trace events was first introduced. But there was a bug with this approach
  as it only worked for a single instance. When multiple users required soft
  disabling and disabling the code was changed to have a ref count. The
  SOFT_MODE flag is now set iff the ref count is non zero. This is redundant
  and just reading the ref count is good enough.

- Fix typo in comment


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


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

Tag SHA1: 24e6f06fdcad116feaabae15bcff715b2ba16386
Head SHA1: 623526ba8984cafdffa0eba7ee424f2e40c8a219


Arnd Bergmann (1):
      kernel: trace: preemptirq_delay_test: use offstack cpu mask

Masami Hiramatsu (Google) (1):
      tracing: Remove "__attribute__()" from the type field of event format

Nam Cao (1):
      tracing: Remove pointless memory barriers

Ricardo Neri (1):
      tracing/sched: Remove obsolete comment on suffixes

Steven Rostedt (6):
      tracing: Use queue_rcu_work() to free filters
      tracing: Remove EVENT_FILE_FL_SOFT_MODE flag
      tracing: Fix comment in trace_module_remove_events()
      tracing: Deprecate auto-mounting tracefs in debugfs
      tracing: Have eprobes have their own config option
      Documentation: tracing: Add documentation about eprobes

Yury Norov (1):
      tracing: Replace opencoded cpumask_next_wrap() in move_to_next_cpu()

----
 .../ABI/obsolete/automount-tracefs-debugfs         |  20 ++
 Documentation/trace/eprobetrace.rst                | 269 +++++++++++++++++++++
 Documentation/trace/index.rst                      |   1 +
 include/linux/trace_events.h                       |   3 -
 include/trace/events/sched.h                       |   2 -
 kernel/trace/Kconfig                               |  27 +++
 kernel/trace/Makefile                              |   2 +-
 kernel/trace/preemptirq_delay_test.c               |  13 +-
 kernel/trace/rv/rv.c                               |   6 -
 kernel/trace/trace.c                               |  49 ++--
 kernel/trace/trace.h                               |   4 +-
 kernel/trace/trace_events.c                        | 154 +++++++++---
 kernel/trace/trace_events_filter.c                 |  28 ++-
 kernel/trace/trace_hwlat.c                         |   5 +-
 14 files changed, 498 insertions(+), 85 deletions(-)
 create mode 100644 Documentation/ABI/obsolete/automount-tracefs-debugfs
 create mode 100644 Documentation/trace/eprobetrace.rst
---------------------------

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ