numam-dpdk/lib/eventdev
Naga Harish K S V 81da8a5ff4 eventdev/eth_rx: fix WRR buffer overrun
When a poll queue is removed from a rx_adapter instance, the WRR poll
array is recomputed. The wrr array length is reduced in this case. The
next wrr position to poll is stored in wrr_pos variable of rx_adapter
instance. This wrr_pos can become invalid in some cases after wrr is
recomputed. Using this variable to get the next queue and device pair
may leed to wrr buffer overruns.

Resetting the wrr_pos to zero after recomputation of wrr array fixes
the buffer overrun issue.

Fixes: 9c38b704d2 ("eventdev: add eth Rx adapter implementation")
Cc: stable@dpdk.org

Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
2021-10-21 10:16:00 +02:00
..
event_timer_adapter_pmd.h eventdev: hide timer adapter PMD file 2021-10-21 10:14:50 +02:00
eventdev_pmd_pci.h eventdev: move inline APIs into separate structure 2021-10-21 10:14:50 +02:00
eventdev_pmd_vdev.h eventdev: make driver interface as internal 2021-10-21 10:14:50 +02:00
eventdev_pmd.h eventdev: hide timer adapter PMD file 2021-10-21 10:14:50 +02:00
eventdev_private.c eventdev: move inline APIs into separate structure 2021-10-21 10:14:50 +02:00
eventdev_trace_points.c eventdev: make trace API internal 2021-10-21 10:16:00 +02:00
eventdev_trace.h eventdev: make trace API internal 2021-10-21 10:16:00 +02:00
meson.build eventdev: make trace API internal 2021-10-21 10:16:00 +02:00
rte_event_crypto_adapter.c eventdev: make trace API internal 2021-10-21 10:16:00 +02:00
rte_event_crypto_adapter.h eventdev: use new API for inline functions 2021-10-21 10:14:50 +02:00
rte_event_eth_rx_adapter.c eventdev/eth_rx: fix WRR buffer overrun 2021-10-21 10:16:00 +02:00
rte_event_eth_rx_adapter.h eventdev: promote event vector API to stable 2021-10-21 10:16:00 +02:00
rte_event_eth_tx_adapter.c eventdev: make trace API internal 2021-10-21 10:16:00 +02:00
rte_event_eth_tx_adapter.h eventdev: use new API for inline functions 2021-10-21 10:14:50 +02:00
rte_event_ring.c lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
rte_event_ring.h lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
rte_event_timer_adapter.c eventdev: make trace API internal 2021-10-21 10:16:00 +02:00
rte_event_timer_adapter.h eventdev/timer: rearrange struct fields 2021-10-21 10:14:50 +02:00
rte_eventdev_core.h eventdev: hide event device related structures 2021-10-21 10:14:50 +02:00
rte_eventdev_trace_fp.h lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
rte_eventdev.c eventdev: make trace API internal 2021-10-21 10:16:00 +02:00
rte_eventdev.h eventdev: promote event vector API to stable 2021-10-21 10:16:00 +02:00
version.map eventdev: mark trace variables as internal 2021-10-21 10:16:00 +02:00