[dpdk-stable] [PATCH 18.11] net/af_packet: fix for stale sockets
John W. Linville
linville at tuxdriver.com
Mon Aug 19 20:35:05 CEST 2019
As indicated, I've already seen this patch. Please merge it as Abhishek
is requesting.
Thanks,
John
On Mon, Aug 19, 2019 at 06:44:20PM +0530, abhishek.sachan at altran.com wrote:
> From: abhishek sachan <abhishek.sachan at altran.com>
>
> af_packet driver is leaving stale socket after device is removed.
> Ring buffers are memory mapped when device is added using rte_dev_probe.
> There is no corresponding munmap call when device is removed/closed.
> This commit fixes the issue by calling munmap
> from rte_pmd_af_packet_remove().
>
> Bugzilla ID: 339
>
> Signed-off-by: abhishek sachan <abhishek.sachan at altran.com>
> Reviewed-by: John W. Linville <linville at redhat.com>
> ---
> drivers/net/af_packet/rte_eth_af_packet.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
> index 264cfc0..657ad85 100644
> --- a/drivers/net/af_packet/rte_eth_af_packet.c
> +++ b/drivers/net/af_packet/rte_eth_af_packet.c
> @@ -972,6 +972,7 @@ rte_pmd_af_packet_remove(struct rte_vdev_device *dev)
> {
> struct rte_eth_dev *eth_dev = NULL;
> struct pmd_internals *internals;
> + struct tpacket_req *req;
> unsigned q;
>
> PMD_LOG(INFO, "Closing AF_PACKET ethdev on numa socket %u",
> @@ -992,7 +993,10 @@ rte_pmd_af_packet_remove(struct rte_vdev_device *dev)
> return rte_eth_dev_release_port(eth_dev);
>
> internals = eth_dev->data->dev_private;
> + req = &internals->req;
> for (q = 0; q < internals->nb_queues; q++) {
> + munmap(internals->rx_queue[q].map,
> + 2 * req->tp_block_size * req->tp_block_nr);
> rte_free(internals->rx_queue[q].rd);
> rte_free(internals->tx_queue[q].rd);
> }
> --
> 2.7.4
>
>
--
John W. Linville Someday the world will need a hero, and you
linville at tuxdriver.com might be all we have. Be ready.
More information about the stable
mailing list