KVM: fix hypercall cache/decache
PATCH 1/1 KVM: fix hypercall cache/decache
Subject: [patch] KVM: fix hypercall cache/decache
From: Ingo Molnar <[email protected]>
a recent change to kvm_hypercall() flipped around the order of ->cache_regs() and ->decache_regs(), but that is bogus and causes ESP/RIP corruption: ->cache_regs() will 'cache' the CPU-side registers into the vcpu structure, and ->decache_regs() will sync it back to the CPU.
fix this by using the correct order again.
--- drivers/kvm/kvm_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/kvm/kvm_main.c +3 -2
@@ -1177,7 +1177,7 @@ int kvm_hypercall(struct kvm_vcpu *vcpu, {unsigned long nr, a0, a1, a2, a3, a4, a5, ret; - kvm_arch_ops->decache_regs (vcpu); + kvm_arch_ops->cache_regs (vcpu); ret = -KVM_EINVAL ;#ifdef CONFIG_X86_64 if (is_long_mode (vcpu)) {
@@ -1204,7 +1204,8 @@ int kvm_hypercall(struct kvm_vcpu *vcpu, ; } vcpu->regs[VCPU_REGS_RAX ] = ret; - kvm_arch_ops->cache_regs (vcpu); + kvm_arch_ops->decache_regs (vcpu); +return 1 ; }EXPORT_SYMBOL_GPL (kvm_hypercall);
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 12 lines · Ingo Molnar
Subject: [patch] KVM: fix hypercall cache/decache
From: Ingo Molnar <[email protected]>a recent change to
kvm_hypercall()flipped around the order of ->cache_regs() and ->decache_regs(), but that is bogus and causes ESP/RIP corruption: ->cache_regs() will 'cache' the CPU-side registers into the vcpu structure, and ->decache_regs() will sync it back to the CPU.fix this by using the correct order again.
That's 57d78025d84fb607aa335d015a79b257517aa209 in my tree...
Signature · 8 lines
error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
A message that is not in the archive (sent off-list or not yet received): 45FFA790.7080007-atKUWr5tajBWk0Htik3J/[email protected]
Quoted 10 lines · Avi Kivity
Quoted 9 lines · Ingo Molnar
Subject: [patch] KVM: fix hypercall cache/decache
From: Ingo Molnar <[email protected]>a recent change to
kvm_hypercall()flipped around the order of ->cache_regs() and ->decache_regs(), but that is bogus and causes ESP/RIP corruption: ->cache_regs() will 'cache' the CPU-side registers into the vcpu structure, and ->decache_regs() will sync it back to the CPU.
Quoted 3 lines
Quoted 1 line
fix this by using the correct order again.
That's
57d78025d84fb607aa335d015a79b257517aa209in my tree...
ok :)
Ingo
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV