mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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 <jbeulich@suse.com> Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
This commit is contained in:
1 parent
ed7e33747d
commit
84c1e7d801
1 file changed
-11
@@ -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);
|
||||
}
|
||||
|
||||