linux/arch
Joerg Roedel cda0008299 KVM: SVM: Restore correct registers after sel_cr0 intercept emulation
This patch implements restoring of the correct rip, rsp, and
rax after the svm emulation in KVM injected a selective_cr0
write intercept into the guest hypervisor. The problem was
that the vmexit is emulated in the instruction emulation
which later commits the registers right after the write-cr0
instruction. So the l1 guest will continue to run with the
l2 rip, rsp and rax resulting in unpredictable behavior.

This patch is not the final word, it is just an easy patch
to fix the issue. The real fix will be done when the
instruction emulator is made aware of nested virtualization.
Until this is done this patch fixes the issue and provides
an easy way to fix this in -stable too.

Cc: stable@kernel.org
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2010-10-24 10:52:24 +02:00
..
alpha Fix up more fallout form alpha signal cleanups 2010-09-30 08:37:38 -07:00
arm Merge master.kernel.org:/home/rmk/linux-2.6-arm 2010-10-13 16:35:33 -07:00
avr32 modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
blackfin Blackfin: bf52x/bf54x boards: drop unused nand page size 2010-08-27 16:08:43 -04:00
cris Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
frv frv: double syscall restarts, syscall restart in sigreturn() 2010-09-20 10:44:38 -07:00
h8300 modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
ia64 KVM: ia64: define kvm_lapic_enabled() to fix a compile error 2010-10-24 10:52:00 +02:00
m32r m32r: test __LITTLE_ENDIAN__ instead of __LITTLE_ENDIAN 2010-10-15 19:37:50 -07:00
m68k arch/m68k/mac/macboing.c: use unsigned long for irqflags 2010-10-01 10:50:58 -07:00
m68knommu m68k,m68knommu: Wire up fanotify_init, fanotify_mark, and prlimit64 2010-09-13 20:28:45 +02:00
microblaze Merge branch 'merge-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-18 09:26:17 -07:00
mips Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus 2010-10-18 13:10:36 -07:00
mn10300 modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
parisc modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
powerpc KVM: PPC: Move of include to __KERNEL__ section 2010-10-24 10:52:23 +02:00
s390 KVM: S390: Export kvm_virtio.h 2010-10-24 10:51:30 +02:00
score Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sh modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2010-09-22 12:09:46 -07:00
tile Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2010-09-24 19:08:39 -07:00
um uml: fix build 2010-10-15 14:42:24 -07:00
x86 KVM: SVM: Restore correct registers after sel_cr0 intercept emulation 2010-10-24 10:52:24 +02:00
xtensa Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
.gitignore
Kconfig kprobes: Fix Kconfig dependency 2010-09-13 20:41:31 +02:00