projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
50268a3
)
perf/core: Need CAP_SYS_ADMIN to create k/uprobe with perf_event_open()
author
Song Liu
<
[email protected]
>
Wed, 11 Apr 2018 18:02:37 +0000
(18:02 +0000)
committer
Ingo Molnar
<
[email protected]
>
Thu, 12 Apr 2018 07:55:50 +0000
(09:55 +0200)
Non-root user cannot create kprobe or uprobe through the text-based
interface (kprobe_events, uprobe_events),so they should not be able
to create probes via perf_event_open() either.
Reported-by: Vince Weaver <
[email protected]
>
Signed-off-by: Song Liu <
[email protected]
>
Cc: Linus Torvalds <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Thomas Gleixner <
[email protected]
>
Fixes: 33ea4b24277b ("perf/core: Implement the 'perf_uprobe' PMU")
Fixes: e12f03d7031a ("perf/core: Implement the 'perf_kprobe' PMU")
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Ingo Molnar <
[email protected]
>
kernel/events/core.c
patch
|
blob
|
history
diff --git
a/kernel/events/core.c
b/kernel/events/core.c
index d7af8282737360daf00156c36c2ba064f9c06156..2d5fe26551f8775f2e537c667a12345c8c8a8e0d 100644
(file)
--- a/
kernel/events/core.c
+++ b/
kernel/events/core.c
@@
-8400,6
+8400,10
@@
static int perf_kprobe_event_init(struct perf_event *event)
if (event->attr.type != perf_kprobe.type)
return -ENOENT;
+
+ if (!capable(CAP_SYS_ADMIN))
+ return -EACCES;
+
/*
* no branch sampling for probe events
*/
@@
-8437,6
+8441,10
@@
static int perf_uprobe_event_init(struct perf_event *event)
if (event->attr.type != perf_uprobe.type)
return -ENOENT;
+
+ if (!capable(CAP_SYS_ADMIN))
+ return -EACCES;
+
/*
* no branch sampling for probe events
*/