On 03/30/2017 03:05 PM, Jan Beulich wrote:
> What I do note though is that you don't copy back the value
> __cmpxchg() returns, yet that's what is needed. *map may
> have changed again already.

Changing the code to:

1162     ret = __cmpxchg(map, old, new, bytes);
1163
1164     if ( ret != old )
1165     {
1166         memcpy(p_old, &ret, bytes);
1167         rc = X86EMUL_CMPXCHG_FAILED;
1168     }

where ret is an unsigned long still triggers BSODs when I add my patch
to yours. I'll need to dig deeper.


Thanks,
Razvan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to