mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
perf/core: Need CAP_SYS_ADMIN to create k/uprobe with perf_event_open()
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 <vincent.weaver@maine.edu> Signed-off-by: Song Liu <songliubraving@fb.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Fixes:33ea4b2427
("perf/core: Implement the 'perf_uprobe' PMU") Fixes:e12f03d703
("perf/core: Implement the 'perf_kprobe' PMU") Link: http://lkml.kernel.org/r/C0B2EFB5-C403-4BDB-9046-C14B3EE66999@fb.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
50268a3d26
commit
32e6e967fb
@ -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
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user