From dd80159656fc98216dd5c57b8e0c3f89db14096e Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Wed, 13 May 2009 10:02:57 +0200 Subject: [PATCH] --- yaml --- r: 147451 b: refs/heads/master c: a026dfecc035f213c1cfa0bf6407ce3155f6a9df h: refs/heads/master i: 147449: 9d2a22fd26151a79edcf2c870983a9287a07c9ad 147447: df72c8ee150f7f789b502b1c38e61f8aa923a44a v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/cpu/perf_counter.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b505b3c628a1..18bd401396b0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f5a5a2f6e69e88647ae12da39f0ff3a510bcf0a6 +refs/heads/master: a026dfecc035f213c1cfa0bf6407ce3155f6a9df diff --git a/trunk/arch/x86/kernel/cpu/perf_counter.c b/trunk/arch/x86/kernel/cpu/perf_counter.c index 88ae8cebf3c1..c19e927b6979 100644 --- a/trunk/arch/x86/kernel/cpu/perf_counter.c +++ b/trunk/arch/x86/kernel/cpu/perf_counter.c @@ -280,8 +280,11 @@ static int __hw_perf_counter_init(struct perf_counter *counter) * If privileged enough, allow NMI events: */ hwc->nmi = 0; - if (capable(CAP_SYS_ADMIN) && hw_event->nmi) + if (hw_event->nmi) { + if (sysctl_perf_counter_priv && !capable(CAP_SYS_ADMIN)) + return -EACCES; hwc->nmi = 1; + } hwc->irq_period = hw_event->irq_period; if ((s64)hwc->irq_period <= 0 || hwc->irq_period > x86_pmu.max_period)