On 1/9/19 3:50 PM, Ilya Maximets wrote:
Reading the used->flags could be reordered with avail->idx update.
vhost in kernel disables notifications for the time of packets
receiving, like this:

     1. disable notify
     2. process packets
     3. enable notify
     4. has more packets ? goto 1

In case of reordering, virtio driver could read the flags on
step 2 while notifications disabled and update avail->idx after
the step 4, i.e. vhost will exit the loop on step 4 with
notifications enabled, but virtio will not notify.

Fixes: c1f86306a026 ("virtio: add new driver")
CC: sta...@dpdk.org

Reported-by: Shahaf Shuler <shah...@mellanox.com>
Signed-off-by: Ilya Maximets <i.maxim...@samsung.com>
---
  drivers/net/virtio/virtqueue.h | 8 ++++++++
  1 file changed, 8 insertions(+)


Reviewed-by: Maxime Coquelin <maxime.coque...@redhat.com>

Thanks,
Maxime

Reply via email to