diff options
| -rw-r--r-- | kernel/events/core.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index d7af82827373..2d5fe26551f8 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c | |||
| @@ -8400,6 +8400,10 @@ static int perf_kprobe_event_init(struct perf_event *event) | |||
| 8400 | 8400 | ||
| 8401 | if (event->attr.type != perf_kprobe.type) | 8401 | if (event->attr.type != perf_kprobe.type) |
| 8402 | return -ENOENT; | 8402 | return -ENOENT; |
| 8403 | |||
| 8404 | if (!capable(CAP_SYS_ADMIN)) | ||
| 8405 | return -EACCES; | ||
| 8406 | |||
| 8403 | /* | 8407 | /* |
| 8404 | * no branch sampling for probe events | 8408 | * no branch sampling for probe events |
| 8405 | */ | 8409 | */ |
| @@ -8437,6 +8441,10 @@ static int perf_uprobe_event_init(struct perf_event *event) | |||
| 8437 | 8441 | ||
| 8438 | if (event->attr.type != perf_uprobe.type) | 8442 | if (event->attr.type != perf_uprobe.type) |
| 8439 | return -ENOENT; | 8443 | return -ENOENT; |
| 8444 | |||
| 8445 | if (!capable(CAP_SYS_ADMIN)) | ||
| 8446 | return -EACCES; | ||
| 8447 | |||
| 8440 | /* | 8448 | /* |
| 8441 | * no branch sampling for probe events | 8449 | * no branch sampling for probe events |
| 8442 | */ | 8450 | */ |
