aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasami Hiramatsu <[email protected]>2018-04-28 21:35:32 +0900
committerIngo Molnar <[email protected]>2018-06-21 17:33:41 +0200
commitffb9bd68ebdb3b8d00ef5a79bbe8167a3281cace (patch)
tree1700ae800a3c3c4574b6ce63a20530a8b9c82f6f
parentf2a3ab36077222437b4826fc76111caa14562b7c (diff)
kprobes: Show blacklist addresses as same as kallsyms does
Show kprobes blacklist addresses under same condition of showing kallsyms addresses. Since there are several name conflict for local symbols, kprobe blacklist needs to show each addresses so that user can identify where is on blacklist by comparing with kallsyms. Signed-off-by: Masami Hiramatsu <[email protected]> Cc: Ananth N Mavinakayanahalli <[email protected]> Cc: Anil S Keshavamurthy <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: David Howells <[email protected]> Cc: David S . Miller <[email protected]> Cc: Heiko Carstens <[email protected]> Cc: Jon Medhurst <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Thomas Richter <[email protected]> Cc: Tobin C . Harding <[email protected]> Cc: Will Deacon <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Link: https://lkml.kernel.org/lkml/152491893217.9916.14760965896164273464.stgit@devbox Signed-off-by: Ingo Molnar <[email protected]>
-rw-r--r--kernel/kprobes.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index 898ee56d4f48..ab1bfa3d1d9c 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -2326,8 +2326,16 @@ static int kprobe_blacklist_seq_show(struct seq_file *m, void *v)
struct kprobe_blacklist_entry *ent =
list_entry(v, struct kprobe_blacklist_entry, list);
- seq_printf(m, "0x%px-0x%px\t%ps\n", (void *)ent->start_addr,
- (void *)ent->end_addr, (void *)ent->start_addr);
+ /*
+ * If /proc/kallsyms is not showing kernel address, we won't
+ * show them here either.
+ */
+ if (!kallsyms_show_value())
+ seq_printf(m, "0x%px-0x%px\t%ps\n", NULL, NULL,
+ (void *)ent->start_addr);
+ else
+ seq_printf(m, "0x%px-0x%px\t%ps\n", (void *)ent->start_addr,
+ (void *)ent->end_addr, (void *)ent->start_addr);
return 0;
}