From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B3BB3A7186 for ; Tue, 16 Jun 2026 22:09:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=216.40.44.12 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781647774; cv=none; b=NtFHPTZAIaVLATCoIkQjqtOcnClWXSJXaDEqzRspI0UVouUhcEuxx/6DiVqBdtH9B5Rlzhkhx3qwUP+4bwr7g/FtM7nmaqUnOjanSxODf6D0m+EDrxkf1lTCnityMiLPfFbhNwQudk5Qh6YLnIh6dmufGWzgpFvYCtDt80+g3WM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781647774; c=relaxed/simple; bh=02aqf5BtZHFayfoVuhjOZQEYRZiI8A3WRTM/h1Nc0Q8=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type; b=m34m+D2ANl1821OmNAhd/maoFIo7CLBpNv4+QpmiDWOt0ey2+cREZBgVHGgTDhEZSZbTzud/yn3jdWqJ2tfzsu0avIHvwRz1hRMN/dW4U4z4W/I7HmVZf9stwiuXdTWykYJz8teDGG1mUQoFWuHLhI4rvwXRivF6NcV5t6o1K/I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=goodmis.org; spf=pass smtp.mailfrom=goodmis.org; arc=none smtp.client-ip=216.40.44.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=goodmis.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=goodmis.org Received: from omf12.hostedemail.com (lb01a-stub [10.200.18.249]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 252CCA0165; Tue, 16 Jun 2026 22:01:29 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: rostedt@goodmis.org) by omf12.hostedemail.com (Postfix) with ESMTPA id B978C20; Tue, 16 Jun 2026 22:01:24 +0000 (UTC) Date: Tue, 16 Jun 2026 18:01:22 -0400 From: Steven Rostedt To: Linus Torvalds Cc: LKML , Masami Hiramatsu , Mathieu Desnoyers , Ao Sun , David Carlier , Karl Mehltretter , Martin Kaiser , Pengpeng Hou , Qian-Yu Lin , Rik van Riel , Rosen Penev , Shuvam Pandey , Vineeth Pillai , Yash Suthar , Yu Peng Subject: [GIT PULL] tracing: Updates for 7.2 Message-ID: <20260616180122.57a3b426@fedora> X-Mailer: Claws Mail 4.4.0 (GTK 3.24.52; x86_64-redhat-linux-gnu) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspamout05 X-Rspamd-Queue-Id: B978C20 X-Stat-Signature: kmysffqad4kki1mwfgnnfzuydnf78m4c X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Session-ID: U2FsdGVkX18YdnOIOgfviNI7+YDgCMQh/E5HohqxYBg= X-HE-Tag: 1781647284-199304 X-HE-Meta: U2FsdGVkX18QQDtISMnzDE0+iSDLwV6o95EC/S7LBWWf5b5Cumx6i9TMoMkPmFbnnnyIpVWg9taxx63FYmmQ5CjNB1fKQ+GWvFm/lJqr0nm/oNar21ey9dIa1HC3JIZiX2swwaGDclnm1bkhujiNsGFPJrGJLU/6s9yQyrVMq88fiJJAWrMJO9CAc3VNLSie+qcKgtMSlrKRnlcuNtj6u3IFMfKUmP2Z5MIudAPnshCSFRxtU7XGUXd26ejwd0DZnccNQaPcbmShUD9ucqA27ZlfClduqeKrD1GUv0XMytriDw7rmSDoO5nBPFYIMTrP40lVbb/g2RO2jfx31wOMcwI5+qROG5A13QFehLE/W11Kww4FZ+s4tw== Linus, tracing: Updates for v7.2: - Remove a redundant IS_ERR() check trace_pipe_open() already checks for IS_ERR() and does it again in the return path. Remove the return check. - Export seq_buf_putmem_hex() to allow kunit tests against them To add Kunit tests on seq_buf_putmem_hex(), it needs to be exported. - Replace strcat() and strcpy() with seq_buf() logic The code for synthetic events uses a series of strcat() and strcpy() which can be error prone. Replace them with seq_buf() logic that does all the necessary bound checking. - Add a lockdep rcu_is_watching() to trace_##event##_enabled() call The trace_##event##_enabled() is a static branch that is true if the "event" is enabled. But this can hide bugs if this logic is in a location where RCU is disabled and not "watching". It would only trigger if lockdep is enabled and the event is enabled. Add a "rcu_is_watching()" warning if lockdep is enabled in that helper function to trigger regardless if the event is enabled or not. - Remove the local variable in the trace_printk() macro For name space integrity, remove the _______STR variable in the trace_printk() macro for using the sizeof() macro directly. - Use guard()s for the trace_recursion_record.c file - Fix typo in a comment of eventfs_callback() kerneldoc - Use trace_call__##event() in events called within trace_##event##_enabled() A couple of events are called within an if block guarded by trace_##event##_enabled(). That is a static key that is only enabled when the event is enabled. The trace_call_##event() calls the tracepoint code directly without adding a redundant static key for that check. - Allow perf to read synthetic events Currently, perf does not have the ability to enable a synthetic event. If it does, it will either cause a kernel warning or error with "No such device". Synthetic events are not much different than kprobes and perf can handle fine with a few modifications. - Replace printk(KERN_WARNING ...) with pr_warn() - Replace krealloc() on an array with krealloc_array() - Fix README file path name for synthetic events - Change tracing_map tracing_map_array to use a flexible array Instead of allocating a separate pointer to hold the pages field of tracing_map_array, allocate the pages field as a flexible array when allocating the structure. - Fold trace_iterator_increment() into trace_find_next_entry_inc() The function trace_iterator_increment() was only used by trace_find_next_entry_inc(). It's not big enough to be a helper function for one user. Fold it into its caller. - Make field_var_str field a flexible array of hist_elt_data Instead of allocating a separate pointer for the field_var_str array of the hist_elt_data structure, allocate it as a flexible array when allocating the structure. - Disable KCOV for trace_irqsoff.c Like trace_preemptirq.c, trace_irqsoff.c has code that will crash when KCOV is enabled on ARM. The irqsoff tracing can be called on ARM because the irqsoff tracing code can be run from early interrupt code and produce coverage unrelated to syscall inputs. - Fix warning in __unregister_ftrace_function() called by perf Perf calls unregister_ftrace_function() without checking if its ftrace_ops has already been unregistered. There's an error path where on clean up it will unregister the ftrace_ops even if it wasn't registered and causes a warning. Please pull the latest trace-v7.2 tree, which can be found at: NOTE: I did check to make sure this merges cleanly into your tree. git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git trace-v7.2 Tag SHA1: d65b33218c1565f4819c4f06a26556e79de7d8ee Head SHA1: 9581123304b23049437324038698af9fb56ee663 Ao Sun (1): tracing: Fix README path for synthetic_events David Carlier (1): tracepoint: Add lockdep rcu_is_watching() check to trace_##name##_enabled() Karl Mehltretter (1): tracing: Disable KCOV instrumentation for trace_irqsoff.o Martin Kaiser (1): tracefs: Fix typo in a comment of eventfs_callback() kerneldoc Pengpeng Hou (1): tracing: Bound synthetic-field strings with seq_buf Qian-Yu Lin (1): tracing: Remove local variable for argument detection from trace_printk() Rik van Riel (1): perf/ftrace: Fix WARNING in __unregister_ftrace_function Rosen Penev (2): tracing: Simplify pages allocation for tracing_map logic tracing: Turn hist_elt_data field_var_str into a flexible array Shuvam Pandey (1): seq_buf: Export seq_buf_putmem_hex() and add KUnit tests Steven Rostedt (2): tracing: Allow perf to read synthetic events tracing: Move trace_iterator_increment() into trace_find_next_entry_inc() Vineeth Pillai (2): cpufreq: amd-pstate: Use trace_call__##name() at guarded tracepoint call site HID: Use trace_call__##name() at guarded tracepoint call sites Yash Suthar (2): tracing: Remove redundant IS_ERR() check in trace_pipe_open() tracing: Switch trace_recursion_record.c code over to use guard() Yu Peng (2): tracing/branch: Use pr_warn() instead of printk(KERN_WARNING) tracing: Use krealloc_array() for trace option array growth ---- drivers/cpufreq/amd-pstate.c | 3 +- drivers/hid/intel-ish-hid/ipc/pci-ish.c | 2 +- include/linux/trace_printk.h | 3 +- include/linux/tracefs.h | 2 +- include/linux/tracepoint.h | 4 ++ kernel/trace/Makefile | 5 +- kernel/trace/trace.c | 25 +++---- kernel/trace/trace_branch.c | 9 +-- kernel/trace/trace_event_perf.c | 12 +++- kernel/trace/trace_events_hist.c | 72 ++++++++++--------- kernel/trace/trace_events_synth.c | 121 +++++++++++++++++++++++++------- kernel/trace/trace_recursion_record.c | 8 +-- kernel/trace/trace_remote.c | 2 +- kernel/trace/tracing_map.c | 30 +++----- kernel/trace/tracing_map.h | 2 +- lib/seq_buf.c | 1 + lib/tests/seq_buf_kunit.c | 34 +++++++++ 17 files changed, 222 insertions(+), 113 deletions(-) ---------------------------