perf: Require exclude_guest to use PEBS - kernel side enforcement
authorPeter Zijlstra <peterz@infradead.org>
Thu, 13 Sep 2012 20:59:14 +0000 (14:59 -0600)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 16 Oct 2012 15:43:58 +0000 (12:43 -0300)
commit20b279ddb38ca42f8863cec07b4d45ec24589f13
tree993ddf58189bc665e0f392042321770e488e123d
parent1342798cc13e3b48d9b5738f0c8fa812ccea8101
perf: Require exclude_guest to use PEBS - kernel side enforcement

Intel PEBS in VT-x context uses the DS address as a guest linear
address, even though its programmed by the host as a host linear
address. This either results in guest memory corruption and or the
hardware faulting and 'crashing' the virtual machine.  Therefore we have
to disable PEBS on VT-x enter and re-enable on VT-x exit, enforcing a
strict exclude_guest.

This patch enforces exclude_guest kernel side.

Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Avi Kivity <avi@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Gleb Natapov <gleb@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Robert Richter <robert.richter@amd.com>
Link: http://lkml.kernel.org/r/1347569955-54626-3-git-send-email-dsahern@gmail.com
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
arch/x86/kernel/cpu/perf_event.c