[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] hvm svm: Inject #UD exception if guest tries to execute any SVM-related
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |