From 7a59cc124c83d5f026dbc6a11fbc4fe8b311c573 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Fri, 6 Aug 2010 15:36:36 +0800 Subject: [PATCH] --- yaml --- r: 215729 b: refs/heads/master c: c483c02ad35256206d6c45d7170fef1e33a43e9c h: refs/heads/master i: 215727: 7b1315d25731e923b6d80b465365188caf789552 v: v3 --- [refs] | 2 +- trunk/arch/x86/kvm/emulate.c | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 284377101591..08a53e667a47 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ee45b58efebc826ea2ade310f6e311702d4a5ab9 +refs/heads/master: c483c02ad35256206d6c45d7170fef1e33a43e9c diff --git a/trunk/arch/x86/kvm/emulate.c b/trunk/arch/x86/kvm/emulate.c index df349f376da8..78541e8fd149 100644 --- a/trunk/arch/x86/kvm/emulate.c +++ b/trunk/arch/x86/kvm/emulate.c @@ -2787,16 +2787,12 @@ x86_emulate_insn(struct x86_emulate_ctxt *ctxt) c->eip = ctxt->eip; } - if (c->src.type == OP_MEM) { - if (c->d & NoAccess) - goto no_fetch; + if ((c->src.type == OP_MEM) && !(c->d & NoAccess)) { rc = read_emulated(ctxt, ops, c->src.addr.mem, c->src.valptr, c->src.bytes); if (rc != X86EMUL_CONTINUE) goto done; c->src.orig_val64 = c->src.val64; - no_fetch: - ; } if (c->src2.type == OP_MEM) {