All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v2 0/4] Memory corruption due to HW rings allocation
@ 2020-05-13  9:15 Renata Saiakhova
  2020-05-13  9:15 ` [dpdk-dev] [PATCH v2 1/4] librte_ethdev: Introduce a function to release HW rings Renata Saiakhova
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Renata Saiakhova @ 2020-05-13  9:15 UTC (permalink / raw)
  Cc: dev, Renata Saiakhova

igb and ixgbe and some other drivers allocate HW rings using rte_eth_dma_zone_reserve(),
which checks first if the memzone exists for a given name, consisting of port
id, queue_id, rx/tx direction, but not for the size, alignment, and socket_id.
If the memzone with a given name exists it is returned, otherwise it is
allocated.
Disconnecting dpdk port from one type of interface (igb) and connecting it
to another type of interface (ixgbe) for the same port id, potentially creates
memory overlap and corruption, because it may require memzone of bigger size.
That's what is happening from switching from igb to ixgbe having the same port
id.


Renata Saiakhova (4):
  librte_ethdev: Introduce a function to release HW rings
  drivers/net: Fix in igb and ixgbe HW rings memory
  drivers/net: Fix in i40e HW rings memory overlap
  drivers/net: Fix in em and ice HW rings memory overlap

 drivers/net/e1000/em_rxtx.c              |  2 ++
 drivers/net/e1000/igb_rxtx.c             |  2 ++
 drivers/net/i40e/i40e_rxtx.c             |  2 ++
 drivers/net/ice/ice_rxtx.c               |  2 ++
 drivers/net/ixgbe/ixgbe_rxtx.c           |  2 ++
 lib/librte_ethdev/rte_ethdev.c           | 30 ++++++++++++++++++++++--
 lib/librte_ethdev/rte_ethdev_driver.h    | 19 +++++++++++++++
 lib/librte_ethdev/rte_ethdev_version.map |  1 +
 8 files changed, 58 insertions(+), 2 deletions(-)

-- 
2.17.2


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-05-14  7:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-13  9:15 [dpdk-dev] [PATCH v2 0/4] Memory corruption due to HW rings allocation Renata Saiakhova
2020-05-13  9:15 ` [dpdk-dev] [PATCH v2 1/4] librte_ethdev: Introduce a function to release HW rings Renata Saiakhova
2020-05-13  9:48   ` Burakov, Anatoly
2020-05-13 11:00   ` Neil Horman
2020-05-14  7:07   ` Ray Kinsella
2020-05-13  9:15 ` [dpdk-dev] [PATCH v2 2/4] drivers/net: Fix in igb and ixgbe HW rings memory Renata Saiakhova
2020-05-13  9:15 ` [dpdk-dev] [PATCH v2 3/4] drivers/net: Fix in i40e HW rings memory overlap Renata Saiakhova
2020-05-13  9:15 ` [dpdk-dev] [PATCH v2 4/4] drivers/net: Fix in em and ice " Renata Saiakhova

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.