linux/arch
Peter Zijlstra 20b279ddb3 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>
2012-10-16 12:43:58 -03:00
..
alpha alpha: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:43 -07:00
arm regulator: Updates for v3.7 2012-10-01 08:58:47 -07:00
avr32 ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION 2012-07-30 17:25:21 -07:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin 2012-09-12 07:12:53 +08:00
c6x c6x: use asm-generic/barrier.h 2012-09-24 14:39:36 -04:00
cris cris: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:44 -07:00
frv frv: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:45 -07:00
h8300 h8300: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:46 -07:00
hexagon Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2012-07-30 11:24:53 -07:00
ia64 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:43:39 -07:00
m32r m32r: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:47 -07:00
m68k Merge remote-tracking branch 'tip/core/rcu' into next.2012.09.25b 2012-09-25 10:03:56 -07:00
microblaze Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2012-08-03 10:52:41 -07:00
mips Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-09-22 12:47:53 -07:00
mn10300 mn10300: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:48 -07:00
openrisc
parisc parisc: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:49 -07:00
powerpc Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:43:39 -07:00
s390 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:43:39 -07:00
score score: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:50 -07:00
sh sh: Fix up TIF_NOTIFY_RESUME sans TIF_SIGPENDING handling. 2012-09-18 17:04:37 +09:00
sparc sparc: fix the return value of module_alloc() 2012-09-21 12:14:20 -07:00
tile Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:43:39 -07:00
um Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:16:42 -07:00
unicore32 PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
x86 perf: Require exclude_guest to use PEBS - kernel side enforcement 2012-10-16 12:43:58 -03:00
xtensa xtensa: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:51 -07:00
.gitignore
Kconfig Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:43:39 -07:00