perf/x86/intel/bts: Fix exclusive event reference leak
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>
Mon, 23 Oct 2017 12:35:33 +0000 (15:35 +0300)
committerIngo Molnar <mingo@kernel.org>
Tue, 24 Oct 2017 11:19:27 +0000 (13:19 +0200)
commit2eece390bf68ec8f733d7e4a3ba8a5ea350082ae
tree94e5167d90a56e6437789583a626ca34a090b27b
parent6cff0a118f23b98c604a3604ea9de11338e24fbe
perf/x86/intel/bts: Fix exclusive event reference leak

Commit:

  d2878d642a4ed ("perf/x86/intel/bts: Disallow use by unprivileged users on paranoid systems")

... adds a privilege check in the exactly wrong place in the event init path:
after the 'LBR exclusive' reference has been taken, and doesn't release it
in the case of insufficient privileges. After this, nobody in the system
gets to use PT or LBR afterwards.

This patch moves the privilege check to where it should have been in the
first place.

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: d2878d642a4ed ("perf/x86/intel/bts: Disallow use by unprivileged users on paranoid systems")
Link: http://lkml.kernel.org/r/20171023123533.16973-1-alexander.shishkin@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/events/intel/bts.c