aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/events/intel/bts.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/events/intel/bts.c b/arch/x86/events/intel/bts.c
index 16076eb34699..141e07b06216 100644
--- a/arch/x86/events/intel/bts.c
+++ b/arch/x86/events/intel/bts.c
@@ -546,9 +546,6 @@ static int bts_event_init(struct perf_event *event)
546 if (event->attr.type != bts_pmu.type) 546 if (event->attr.type != bts_pmu.type)
547 return -ENOENT; 547 return -ENOENT;
548 548
549 if (x86_add_exclusive(x86_lbr_exclusive_bts))
550 return -EBUSY;
551
552 /* 549 /*
553 * BTS leaks kernel addresses even when CPL0 tracing is 550 * BTS leaks kernel addresses even when CPL0 tracing is
554 * disabled, so disallow intel_bts driver for unprivileged 551 * disabled, so disallow intel_bts driver for unprivileged
@@ -562,6 +559,9 @@ static int bts_event_init(struct perf_event *event)
562 !capable(CAP_SYS_ADMIN)) 559 !capable(CAP_SYS_ADMIN))
563 return -EACCES; 560 return -EACCES;
564 561
562 if (x86_add_exclusive(x86_lbr_exclusive_bts))
563 return -EBUSY;
564
565 ret = x86_reserve_hardware(); 565 ret = x86_reserve_hardware();
566 if (ret) { 566 if (ret) {
567 x86_del_exclusive(x86_lbr_exclusive_bts); 567 x86_del_exclusive(x86_lbr_exclusive_bts);