[dpdk-dev] [PATCH v3 0/4] Memory corruption due to HW rings allocation

Zhao1, Wei wei.zhao1 at intel.com
Sat Jun 20 05:27:46 CEST 2020


Reviewed-by: Wei Zhao <wei.zhao1 at intel.com>


> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Renata Saiakhova
> Sent: Wednesday, May 13, 2020 9:14 PM
> To: dev at dpdk.org
> Cc: Renata Saiakhova <Renata.Saiakhova at ekinops.com>
> Subject: [dpdk-dev] [PATCH v3 0/4] Memory corruption due to HW rings
> allocation
> 
> 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.
> 
> v2->v3: Remove #undef ETH_DMA_MZONE_NAME and minor changes in code
> v2->standard
> v1->v2: Minor changes on code standard and additional fixes in i40e em
> v1->and ice drivers
> 
> 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           | 28 ++++++++++++++++++++++--
>  lib/librte_ethdev/rte_ethdev_driver.h    | 20 +++++++++++++++++
>  lib/librte_ethdev/rte_ethdev_version.map |  1 +
>  8 files changed, 57 insertions(+), 2 deletions(-)
> 
> --
> 2.17.2



More information about the dev mailing list