Re: [PATCH v3 10/10] libvduse: Fix assignment in vring_set_avail_event

2022-12-22 Thread Marcel Holtmann
Hi Paolo, >> static inline void vring_set_avail_event(VduseVirtq *vq, uint16_t val) >> { >> -*((uint16_t *)&vq->vring.used->ring[vq->vring.num]) = htole16(val); >> +uint16_t *avail; >> + >> +avail = (uint16_t *)&vq->vring.used->ring[vq->vring.num]; >> +*avail = htole16(val); > >

Re: [PATCH v3 10/10] libvduse: Fix assignment in vring_set_avail_event

2022-12-22 Thread Paolo Bonzini
On 12/21/22 14:10, Marcel Holtmann wrote: static inline void vring_set_avail_event(VduseVirtq *vq, uint16_t val) { -*((uint16_t *)&vq->vring.used->ring[vq->vring.num]) = htole16(val); +uint16_t *avail; + +avail = (uint16_t *)&vq->vring.used->ring[vq->vring.num]; +*avail = htol

[PATCH v3 10/10] libvduse: Fix assignment in vring_set_avail_event

2022-12-21 Thread Marcel Holtmann
Since the assignment is causing a compiler warning, do exactly what is done in libvhost-user.c to avoid the warning. CC libvduse.o libvduse.c: In function ‘vring_set_avail_event’: libvduse.c:603:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-a