numam-dpdk/drivers/net/virtio
Ilya Maximets d21d05c7a9 net/virtio: add barrier before reading the flags
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: c1f86306a0 ("virtio: add new driver")
Cc: stable@dpdk.org

Reported-by: Shahaf Shuler <shahafs@mellanox.com>
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-14 17:44:29 +01:00
..
virtio_user net/virtio-user: fix supported features list 2019-01-14 17:44:29 +01:00
Makefile
meson.build
rte_pmd_virtio_version.map
virtio_ethdev.c net/virtio: add non-mergeable support to in-order path 2018-12-21 16:22:41 +01:00
virtio_ethdev.h net/virtio: add non-mergeable support to in-order path 2018-12-21 16:22:41 +01:00
virtio_logs.h
virtio_pci.c net/virtio: fix unchecked return value 2018-11-14 00:35:53 +01:00
virtio_pci.h net/virtio: add packed virtqueue helpers 2018-12-21 16:22:40 +01:00
virtio_ring.h net/virtio: vring init for packed queues 2018-12-21 16:22:40 +01:00
virtio_rxtx_simple_neon.c
virtio_rxtx_simple_sse.c
virtio_rxtx_simple.c eal: add macro for attribute weak 2018-10-25 02:11:23 +02:00
virtio_rxtx_simple.h
virtio_rxtx.c net/virtio: improve batching in mergeable path 2018-12-21 16:22:41 +01:00
virtio_rxtx.h
virtio_user_ethdev.c net/virtio-user: fix packed vq option parsing 2019-01-14 17:44:29 +01:00
virtqueue.c net/virtio: implement Rx path for packed queues 2018-12-21 16:22:40 +01:00
virtqueue.h net/virtio: add barrier before reading the flags 2019-01-14 17:44:29 +01:00