[dpdk-dev] net/vmxnet3: fix memory leak when releasing queues
Checks
Commit Message
From: Chas Williams <chas3@att.com>
At the end of the queue release, we can free the containers for the
queue objects.
Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver implementation")
Signed-off-by: <chas3@att.com>
---
drivers/net/vmxnet3/vmxnet3_rxtx.c | 5 +++++
1 file changed, 5 insertions(+)
Comments
On Wed, 2017-11-01 at 16:38 -0400, Chas Williams wrote:
> From: Chas Williams <chas3@att.com>
>
> At the end of the queue release, we can free the containers for the
> queue objects.
>
> Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver
> implementation")
>
> Signed-off-by: <chas3@att.com>
> ---
> drivers/net/vmxnet3/vmxnet3_rxtx.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c
> b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> index 01c85f1..18dce72 100644
> --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
> +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> @@ -203,6 +203,8 @@ vmxnet3_dev_tx_queue_release(void *txq)
> vmxnet3_cmd_ring_release(&tq->cmd_ring);
> /* Release the memzone */
> rte_memzone_free(tq->mz);
> + /* Release the queue */
> + rte_free(tq);
> }
> }
>
> @@ -223,6 +225,9 @@ vmxnet3_dev_rx_queue_release(void *rxq)
>
> /* Release the memzone */
> rte_memzone_free(rq->mz);
> +
> + /* Release the queue */
> + rte_free(rq);
> }
> }
>
Reviewed-by: Luca Boccassi <bluca@debian.org>
On 11/2/2017 3:03 AM, Luca Boccassi wrote:
> On Wed, 2017-11-01 at 16:38 -0400, Chas Williams wrote:
>> From: Chas Williams <chas3@att.com>
>>
>> At the end of the queue release, we can free the containers for the
>> queue objects.
>>
>> Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver
>> implementation")
>>
>> Signed-off-by: <chas3@att.com>
> Reviewed-by: Luca Boccassi <bluca@debian.org>
Applied to dpdk-next-net/master, thanks.
@@ -203,6 +203,8 @@ vmxnet3_dev_tx_queue_release(void *txq)
vmxnet3_cmd_ring_release(&tq->cmd_ring);
/* Release the memzone */
rte_memzone_free(tq->mz);
+ /* Release the queue */
+ rte_free(tq);
}
}
@@ -223,6 +225,9 @@ vmxnet3_dev_rx_queue_release(void *rxq)
/* Release the memzone */
rte_memzone_free(rq->mz);
+
+ /* Release the queue */
+ rte_free(rq);
}
}