|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] hvm svm: Inject #UD exception if guest tr
# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1175097125 -3600
# Node ID ffb9dda429461442b0e727775a810b352ec74c9c
# Parent b6eaca0bcee14e2f10815aeeac51aaa248942fd5
hvm svm: Inject #UD exception if guest tries to execute any SVM-related
function (except VMMCALL).
Signed-off-by: Mats Petersson <mats.petersson@xxxxxxx>
---
xen/arch/x86/hvm/svm/svm.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff -r b6eaca0bcee1 -r ffb9dda42946 xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c Wed Mar 28 15:04:14 2007 +0000
+++ b/xen/arch/x86/hvm/svm/svm.c Wed Mar 28 16:52:05 2007 +0100
@@ -3156,14 +3156,22 @@ asmlinkage void svm_vmexit_handler(struc
hvm_triple_fault();
break;
+ case VMEXIT_VMRUN:
+ case VMEXIT_VMLOAD:
+ case VMEXIT_VMSAVE:
+ case VMEXIT_STGI:
+ case VMEXIT_CLGI:
+ case VMEXIT_SKINIT:
+ /* Report "Invalid opcode" on any VM-operation except VMMCALL */
+ svm_inject_exception(v, TRAP_invalid_op, 0, 0);
+ break;
+
case VMEXIT_NPF:
- {
regs->error_code = vmcb->exitinfo1;
if ( !svm_do_nested_pgfault(vmcb->exitinfo2, regs) ) {
domain_crash(v->domain);
}
break;
- }
default:
exit_and_crash:
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] hvm svm: Inject #UD exception if guest tries to execute any SVM-related,
Xen patchbot-unstable <=
|
|
|
|
|