From: Razvan Cojocaru Date: Fri, 7 Oct 2016 09:35:58 +0000 (+0200) Subject: x86/hvm: remove emulation context setting from hvmemul_cmpxchg() X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~196 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=84c1e7d8017c773c41d6e8b79384f37a67be1479;p=xen.git x86/hvm: remove emulation context setting from hvmemul_cmpxchg() 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 Signed-off-by: Razvan Cojocaru --- diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c index d759d3f7d1..6ed74866de 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); }