Linux Documentation
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>,
	Naveen N Rao <naveen@kernel.org>,
	"David S . Miller" <davem@davemloft.net>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Tiezhu Yang <yangtiezhu@loongson.cn>,
	linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org,
	John Ogness <john.ogness@linutronix.de>
Subject: Re: [PATCH 0/3] probes: Use trace_printk() in probe handlers
Date: Mon, 2 Nov 2026 12:34:08 -0500	[thread overview]
Message-ID: <20261102123408.0fb950bf@gandalf.local.home> (raw)
In-Reply-To: <179360345418.115681.193455787480210412.stgit@devnote2>


[ Cc'ing John Ogness ]

On Mon,  2 Nov 2026 16:10:54 +0900
"Masami Hiramatsu (Google)" <mhiramat@kernel.org> wrote:

> Hi,
> 
> Here are patches to update the probe sample code to use trace_printk
> instead of normal printk. Since the fprobe and kprobe/kretprobe handlers
> can be called from somewhere where console is locked, using printk() is
> basically unsafe. Only the unoptimized kprobe on x86 is safe because it
> is ran with NMI context (in this case, the kernel uses printk_deferred()
> automatically), but optimized kprobe/kretprobe/fprobe are not.

I don't think printk() is unsafe in these situations anymore.

John?

-- Steve

> 
> Thus, this series replaces those printk() (pr_*()) with trace_printk()
> which should be safe to output the result into trace buffer, and use
> trace_dump_stack() instead of stack_trace_print().
> 
> The similar issue had been reported by Tiezhu Yang [1] in 2023, but
> it was pointed different reason, and not applicable to upstream.
> I investigated it again.
> 
> [1] https://lore.kernel.org/all/d179086d-78d8-d0e3-e113-9072cffa55f4@loongson.cn/
> 
> Thank you,
> ---
> base-commit: bc71431221f5ba8bb33918399552636e059c2c45
> 
> Masami Hiramatsu (Google) (3):
>       samples/kprobes: Use trace_printk() in probe handlers
>       samples/fprobe: Use trace_printk() and trace_dump_stack()
>       docs: trace: Warn against using printk() in probe handlers
> 
> 
>  Documentation/trace/fprobe.rst      |    5 +++
>  Documentation/trace/kprobes.rst     |   11 +++++-
>  samples/Kconfig                     |    4 +-
>  samples/fprobe/fprobe_example.c     |   49 +++++--------------------
>  samples/kprobes/kprobe_example.c    |   69 ++++++++++++++++++-----------------
>  samples/kprobes/kretprobe_example.c |   10 +++--
>  6 files changed, 66 insertions(+), 82 deletions(-)
> 
> --
> Masami Hiramatsu (Google) <mhiramat@kernel.org>


  parent reply	other threads:[~2026-11-02 17:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-02  7:10 [PATCH 0/3] probes: Use trace_printk() in probe handlers Masami Hiramatsu (Google)
2026-11-02  7:11 ` [PATCH 1/3] samples/kprobes: " Masami Hiramatsu (Google)
2026-11-02  7:11 ` [PATCH 2/3] samples/fprobe: Use trace_printk() and trace_dump_stack() Masami Hiramatsu (Google)
2026-11-02  7:11 ` [PATCH 3/3] docs: trace: Warn against using printk() in probe handlers Masami Hiramatsu (Google)
2026-11-02 17:34 ` Steven Rostedt [this message]
2026-11-02 22:01   ` [PATCH 0/3] probes: Use trace_printk() " John Ogness

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261102123408.0fb950bf@gandalf.local.home \
    --to=rostedt@goodmis.org \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=john.ogness@linutronix.de \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    --cc=naveen@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=skhan@linuxfoundation.org \
    --cc=yangtiezhu@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox