[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH V1 14/16] xen/ioreq: Use guest_cmpxchg64() instead of cmpxchg()
On 16/09/2020 10:04, Jan Beulich wrote: On 10.09.2020 22:22, Oleksandr Tyshchenko wrote:@@ -1325,7 +1327,7 @@ static int hvm_send_buffered_ioreq(struct hvm_ioreq_server *s, ioreq_t *p)new.read_pointer = old.read_pointer - n * IOREQ_BUFFER_SLOT_NUM;new.write_pointer = old.write_pointer - n * IOREQ_BUFFER_SLOT_NUM; - cmpxchg(&pg->ptrs.full, old.full, new.full); + guest_cmpxchg64(d, &pg->ptrs.full, old.full, new.full);But the memory we're updating is shared with s->emulator, not with d, if I'm not mistaken. It is unfortunately shared with both s->emulator and d when using the legacy interface. For Arm, there is no plan to support the legacy interface, so we should s->emulator and we should be fully protected. Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |