Re: [PATCH] KVM: x86: emulate: correct page fault error code for NoWrite instructions
2015-11-20 10:52 GMT+08:00 Wanpeng Li: > Hi Paolo, > 2015-02-09 17:03 GMT+08:00 Paolo Bonzini : >> NoWrite instructions (e.g. cmp or test) never set the "write access" >> bit in the error code, even if one of the operands is treated as a >> destination. > > Sorry to reply to an old commit, btw, could you point out where in SDM > describe above? I see. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] KVM: x86: emulate: correct page fault error code for NoWrite instructions
Hi Paolo, 2015-02-09 17:03 GMT+08:00 Paolo Bonzini: > NoWrite instructions (e.g. cmp or test) never set the "write access" > bit in the error code, even if one of the operands is treated as a > destination. Sorry to reply to an old commit, btw, could you point out where in SDM describe above? Regards, Wanpeng Li -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] KVM: x86: emulate: correct page fault error code for NoWrite instructions
Wanpeng Liwrote: > 2015-11-20 10:52 GMT+08:00 Wanpeng Li : >> Hi Paolo, >> 2015-02-09 17:03 GMT+08:00 Paolo Bonzini : >>> NoWrite instructions (e.g. cmp or test) never set the "write access" >>> bit in the error code, even if one of the operands is treated as a >>> destination. >> >> Sorry to reply to an old commit, btw, could you point out where in SDM >> describe above? > > I see. I don’t understand whether you still need my help, so to clarify: on a page-fault the error code should indicate whether the access was due to a write access. Previously KVM marked it as “write access” for instructions such as test and cmp that do not perform write. Nadav-- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] KVM: x86: emulate: correct page fault error code for NoWrite instructions
Sorry for that. I’ll try to run some few more tests next week. Nadav Paolo Bonzini pbonz...@redhat.com wrote: NoWrite instructions (e.g. cmp or test) never set the write access bit in the error code, even if one of the operands is treated as a destination. Fixes: c205fb7d7d4f81e46fc577b707ceb9e356af1456 Cc: Nadav Amit na...@cs.technion.ac.il Signed-off-by: Paolo Bonzini pbonz...@redhat.com --- arch/x86/kvm/emulate.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index 81dcf7964701..a943bf0c06d0 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -4954,7 +4954,8 @@ int x86_emulate_insn(struct x86_emulate_ctxt *ctxt) rc = segmented_read(ctxt, ctxt-dst.addr.mem, ctxt-dst.val, ctxt-dst.bytes); if (rc != X86EMUL_CONTINUE) { - if (rc == X86EMUL_PROPAGATE_FAULT + if (!(ctxt-d NoWrite) + rc == X86EMUL_PROPAGATE_FAULT ctxt-exception.vector == PF_VECTOR) ctxt-exception.error_code |= PFERR_WRITE_MASK; goto done; -- 1.8.3.1 -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html