This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH -tip v8 17/26] notifier: Use NOKPROBE_SYMBOL macro in notifier
- From: Steven Rostedt <rostedt at goodmis dot org>
- To: Masami Hiramatsu <masami dot hiramatsu dot pt at hitachi dot com>
- Cc: linux-kernel at vger dot kernel dot org, Ingo Molnar <mingo at kernel dot org>, Andi Kleen <andi at firstfloor dot org>, Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>, Sandeepa Prabhu <sandeepa dot prabhu at linaro dot org>, Frederic Weisbecker <fweisbec at gmail dot com>, x86 at kernel dot org, fche at redhat dot com, mingo at redhat dot com, systemtap at sourceware dot org, "H. Peter Anvin" <hpa at zytor dot com>, Thomas Gleixner <tglx at linutronix dot de>
- Date: Mon, 24 Mar 2014 16:12:27 -0400
- Subject: Re: [PATCH -tip v8 17/26] notifier: Use NOKPROBE_SYMBOL macro in notifier
- Authentication-results: sourceware.org; auth=none
- References: <20140305115843 dot 22766 dot 8355 dot stgit at ltc230 dot yrl dot intra dot hitachi dot co dot jp> <20140305120042 dot 22766 dot 48538 dot stgit at ltc230 dot yrl dot intra dot hitachi dot co dot jp>
On Wed, 05 Mar 2014 21:00:42 +0900
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
> Use NOKPROBE_SYMBOL macro to protect functions from
> kprobes instead of __kprobes annotation in notifier.
>
> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
> /*
> * Blocking notifier chain routines. All access to the chain is
> @@ -527,7 +530,7 @@ EXPORT_SYMBOL_GPL(srcu_init_notifier_head);
>
> static ATOMIC_NOTIFIER_HEAD(die_chain);
>
> -int notrace __kprobes notify_die(enum die_val val, const char *str,
> +int notrace notify_die(enum die_val val, const char *str,
Hmm, I wonder why notify_die() is marked notrace? But that's unrelated
to this patch.
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
-- Steve
> struct pt_regs *regs, long err, int trap, int sig)
> {
> struct die_args args = {
> @@ -540,6 +543,7 @@ int notrace __kprobes notify_die(enum die_val val, const char *str,
> };
> return atomic_notifier_call_chain(&die_chain, val, &args);
> }
> +NOKPROBE_SYMBOL(notify_die);
>
> int register_die_notifier(struct notifier_block *nb)
> {
>