Message ID | 1475678535-11241-1-git-send-email-rcojocaru@bitdefender.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c index d759d3f..6ed7486 100644 --- a/xen/arch/x86/hvm/emulate.c +++ b/xen/arch/x86/hvm/emulate.c @@ -1026,17 +1026,6 @@ static int hvmemul_cmpxchg( unsigned int bytes, struct x86_emulate_ctxt *ctxt) { - struct hvm_emulate_ctxt *hvmemul_ctxt = - container_of(ctxt, struct hvm_emulate_ctxt, ctxt); - - if ( unlikely(hvmemul_ctxt->set_context) ) - { - int rc = set_context_data(p_new, bytes); - - if ( rc != X86EMUL_OKAY ) - return rc; - } - /* Fix this in case the guest is really relying on r-m-w atomicity. */ return hvmemul_write(seg, offset, p_new, bytes, ctxt); }
hvmemul_cmpxchg() sets the read emulation context in p_new instead of p_old, which is inconsistent (and wrong). Since p_old is unused in any case and cmpxchg() semantics would be altered even if it wasn't, remove the emulation context setting code. Suggested-by: Jan Beulich <JBeulich@suse.com> Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com> --- Changes since V1: - Modified patch subject and description. - Removed the context setting code altogether. --- xen/arch/x86/hvm/emulate.c | 11 ----------- 1 file changed, 11 deletions(-)