From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-arch@vger.kernel.org,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
x86@kernel.org, lkml <linux-kernel@vger.kernel.org>,
"Steven Rostedt (Red Hat)" <rostedt@goodmis.org>,
virtualization@lists.linux-foundation.org,
"David S. Miller" <davem@davemloft.net>
Subject: [PATCH -tip RFC v2 21/22] notifier: Use NOKPROBE_SYMBOL macro in notifier
Date: Fri, 15 Nov 2013 04:54:16 +0000 [thread overview]
Message-ID: <20131115045416.27580.96824.stgit@kbuild-fedora.novalocal> (raw)
In-Reply-To: <20131115045312.27580.95902.stgit@kbuild-fedora.novalocal>
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>
---
kernel/notifier.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/kernel/notifier.c b/kernel/notifier.c
index 2d5cc4c..61fc78a 100644
--- a/kernel/notifier.c
+++ b/kernel/notifier.c
@@ -71,9 +71,9 @@ static int notifier_chain_unregister(struct notifier_block **nl,
* @returns: notifier_call_chain returns the value returned by the
* last notifier function called.
*/
-static int __kprobes notifier_call_chain(struct notifier_block **nl,
- unsigned long val, void *v,
- int nr_to_call, int *nr_calls)
+static int notifier_call_chain(struct notifier_block **nl,
+ unsigned long val, void *v,
+ int nr_to_call, int *nr_calls)
{
int ret = NOTIFY_DONE;
struct notifier_block *nb, *next_nb;
@@ -102,6 +102,7 @@ static int __kprobes notifier_call_chain(struct notifier_block **nl,
}
return ret;
}
+NOKPROBE_SYMBOL(notifier_call_chain);
/*
* Atomic notifier chain routines. Registration and unregistration
@@ -172,9 +173,9 @@ EXPORT_SYMBOL_GPL(atomic_notifier_chain_unregister);
* Otherwise the return value is the return value
* of the last notifier function called.
*/
-int __kprobes __atomic_notifier_call_chain(struct atomic_notifier_head *nh,
- unsigned long val, void *v,
- int nr_to_call, int *nr_calls)
+int __atomic_notifier_call_chain(struct atomic_notifier_head *nh,
+ unsigned long val, void *v,
+ int nr_to_call, int *nr_calls)
{
int ret;
@@ -184,13 +185,15 @@ int __kprobes __atomic_notifier_call_chain(struct atomic_notifier_head *nh,
return ret;
}
EXPORT_SYMBOL_GPL(__atomic_notifier_call_chain);
+NOKPROBE_SYMBOL(__atomic_notifier_call_chain);
-int __kprobes atomic_notifier_call_chain(struct atomic_notifier_head *nh,
- unsigned long val, void *v)
+int atomic_notifier_call_chain(struct atomic_notifier_head *nh,
+ unsigned long val, void *v)
{
return __atomic_notifier_call_chain(nh, val, v, -1, NULL);
}
EXPORT_SYMBOL_GPL(atomic_notifier_call_chain);
+NOKPROBE_SYMBOL(atomic_notifier_call_chain);
/*
* 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,
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)
{
next prev parent reply other threads:[~2013-11-15 4:54 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-15 4:53 [PATCH -tip RFC v2 00/22] kprobes: introduce NOKPROBE_SYMBOL() and general cleaning of kprobe blacklist Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 01/22] kprobes: Prohibit probing on .entry.text code Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 16:43 ` Steven Rostedt
2013-11-15 16:43 ` Steven Rostedt
2013-11-15 17:46 ` Geert Uytterhoeven
2013-11-17 7:21 ` Masami Hiramatsu
2013-11-17 7:21 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 02/22] kprobes: Introduce NOKPROBE_SYMBOL() macro for blacklist Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 03/22] kprobes: Show blacklist entries via debugfs Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 04/22] kprobes: Support blacklist functions in module Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 05/22] kprobes: Use NOKPROBE_SYMBOL() in sample modules Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 06/22] kprobes/x86: Allow probe on some kprobe preparation functions Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 07/22] kprobes/x86: Use NOKPROBE_SYMBOL instead of __kprobes Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 08/22] kprobes: Allow probe on some kprobe functions Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 09/22] kprobes: Use NOKPROBE_SYMBOL macro instead of __kprobes Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 10/22] ftrace/kprobes: Allow probing on some preparation functions Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 11/22] ftrace/kprobes: Use NOKPROBE_SYMBOL macro in ftrace Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 12/22] x86/hw_breakpoint: Use NOKPROBE_SYMBOL macro in hw_breakpoint Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 13/22] x86/trap: Use NOKPROBE_SYMBOL macro in trap.c Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:53 ` [PATCH -tip RFC v2 14/22] x86/fault: Use NOKPROBE_SYMBOL macro in fault.c Masami Hiramatsu
2013-11-15 4:53 ` Masami Hiramatsu
2013-11-15 4:54 ` [PATCH -tip RFC v2 15/22] x86/alternative: Use NOKPROBE_SYMBOL macro in alternative.c Masami Hiramatsu
2013-11-15 4:54 ` Masami Hiramatsu
2013-11-15 4:54 ` [PATCH -tip RFC v2 16/22] x86/nmi: Use NOKPROBE_SYMBOL macro for nmi handlers Masami Hiramatsu
2013-11-15 4:54 ` Masami Hiramatsu
2013-11-15 4:54 ` [PATCH -tip RFC v2 17/22] x86/kvm: Use NOKPROBE_SYMBOL macro in kvm.c Masami Hiramatsu
2013-11-15 4:54 ` Masami Hiramatsu
2013-11-15 4:54 ` [PATCH -tip RFC v2 18/22] x86/dumpstack: Use NOKPROBE_SYMBOL macro in dumpstack.c Masami Hiramatsu
2013-11-15 4:54 ` Masami Hiramatsu
2013-11-15 4:54 ` [PATCH -tip RFC v2 19/22] [BUGFIX] kprobes/x86: Prohibit probing on debug_stack_* Masami Hiramatsu
2013-11-15 4:54 ` Masami Hiramatsu
2013-11-15 4:54 ` [PATCH -tip RFC v2 20/22] [BUGFIX] kprobes: Prohibit probing on func_ptr_is_kernel_text Masami Hiramatsu
2013-11-15 4:54 ` Masami Hiramatsu
2013-11-15 4:54 ` Masami Hiramatsu [this message]
2013-11-15 4:54 ` [PATCH -tip RFC v2 21/22] notifier: Use NOKPROBE_SYMBOL macro in notifier Masami Hiramatsu
2013-11-15 4:54 ` [PATCH -tip RFC v2 22/22] sched: Use NOKPROBE_SYMBOL macro in sched Masami Hiramatsu
2013-11-15 4:54 ` Masami Hiramatsu
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=20131115045416.27580.96824.stgit@kbuild-fedora.novalocal \
--to=masami.hiramatsu.pt@hitachi.com \
--cc=ananth@in.ibm.com \
--cc=davem@davemloft.net \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=rostedt@goodmis.org \
--cc=virtualization@lists.linux-foundation.org \
--cc=x86@kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).