numam-dpdk/drivers/net/virtio
Maxime Coquelin aa0d4b8a01 net/virtio: fix secondary process crash with PCI devices
The Virtio rework series mistakenly moved the rte_pci_device
pointer to struct virtio_hw, which is shared between the two
processes. But this structure is per-process, so this change
made secondary process to try accessing primary process-only
memory, leading to a crash.

This patch reverts to proper behavior, by storing the
rte_pci_device pointer into the per-process
virtio_pci_internal struct. It also provides helper to get
the pointer from the virtio_hw struct pointer.

Bugzilla ID: 633
Fixes: c8d4b02f72 ("net/virtio: move legacy IO to virtio PCI")

Reported-by: Anatoly Burakov <anatoly.burakov@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
2021-02-04 18:19:36 +01:00
..
virtio_user net/virtio: fix listen file initialization 2021-02-03 00:48:11 +01:00
meson.build net/virtio: move features definition to generic header 2021-01-29 18:16:09 +01:00
version.map build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
virtio_ethdev.c net/virtio: fix PCI ops assignment 2021-02-03 00:48:11 +01:00
virtio_ethdev.h net/virtio: move virtqueue defines in generic header 2021-01-29 18:16:09 +01:00
virtio_logs.h net/virtio: implement dynamic logging 2018-01-16 18:47:49 +01:00
virtio_pci_ethdev.c net/virtio: fix secondary process crash with PCI devices 2021-02-04 18:19:36 +01:00
virtio_pci.c net/virtio: fix secondary process crash with PCI devices 2021-02-04 18:19:36 +01:00
virtio_pci.h net/virtio: fix secondary process crash with PCI devices 2021-02-04 18:19:36 +01:00
virtio_ring.h net/virtio: move features definition to generic header 2021-01-29 18:16:09 +01:00
virtio_rxtx_packed_avx.h net/virtio: remove last PCI refs in non-PCI code 2021-01-29 18:16:09 +01:00
virtio_rxtx_packed_neon.h net/virtio: fix Arm build with old compiler 2021-01-29 18:16:10 +01:00
virtio_rxtx_packed.c net/virtio: add election for packed vector NEON path 2021-01-08 18:07:55 +01:00
virtio_rxtx_packed.h net/virtio: remove last PCI refs in non-PCI code 2021-01-29 18:16:09 +01:00
virtio_rxtx_simple_altivec.c ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
virtio_rxtx_simple_neon.c ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
virtio_rxtx_simple_sse.c ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
virtio_rxtx_simple.c ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
virtio_rxtx_simple.h net/virtio: force IOVA as VA mode for virtio-user 2021-01-29 18:16:09 +01:00
virtio_rxtx.c net/virtio: remove last PCI refs in non-PCI code 2021-01-29 18:16:09 +01:00
virtio_rxtx.h net/virtio: fix Rx stats with vectorized functions 2019-10-07 15:00:57 +02:00
virtio_user_ethdev.c net/virtio: move vhost-user specifics to its backend 2021-01-29 18:16:09 +01:00
virtio.c net/virtio: make interrupt handling more generic 2021-01-29 18:16:09 +01:00
virtio.h net/virtio: move vring alignment to generic header 2021-01-29 18:16:09 +01:00
virtqueue.c net/virtio: remove last PCI refs in non-PCI code 2021-01-29 18:16:09 +01:00
virtqueue.h net/virtio: remove last PCI refs in non-PCI code 2021-01-29 18:16:09 +01:00