[net] octeontx2-pf: Fix memory leak during interface down

Message ID 20231116155334.3277905-1-sumang@marvell.com
State New
Headers
Series [net] octeontx2-pf: Fix memory leak during interface down |

Commit Message

Suman Ghosh Nov. 16, 2023, 3:53 p.m. UTC
  During 'ifconfig <netdev> down' one RSS memory was not getting freed.
This patch fixes the same.

Fixes: f12098ce9b43 ("octeontx2-pf: Clear RSS enable flag on interace down")
Signed-off-by: Suman Ghosh <sumang@marvell.com>
---
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Simon Horman Nov. 16, 2023, 8:50 p.m. UTC | #1
On Thu, Nov 16, 2023 at 09:23:34PM +0530, Suman Ghosh wrote:
> During 'ifconfig <netdev> down' one RSS memory was not getting freed.
> This patch fixes the same.
> 
> Fixes: f12098ce9b43 ("octeontx2-pf: Clear RSS enable flag on interace down")
> Signed-off-by: Suman Ghosh <sumang@marvell.com>

Hi Suman,

I'm wondering if the fixes tag should refer to the commit
that introduced the allocation that your patch is freeing.

Fixes: 81a4362016e7 ("octeontx2-pf: Add RSS multi group support")

> ---
>  drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
> index 91b99fd70361..ba95ac913274 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
> @@ -1934,6 +1934,8 @@ int otx2_stop(struct net_device *netdev)
>  	/* Clear RSS enable flag */
>  	rss = &pf->hw.rss_info;
>  	rss->enable = false;
> +	if (!netif_is_rxfh_configured(netdev))
> +		kfree(rss->rss_ctx[DEFAULT_RSS_CONTEXT_GROUP]);
>  
>  	/* Cleanup Queue IRQ */
>  	vec = pci_irq_vector(pf->pdev,
> -- 
> 2.25.1
>
  
Suman Ghosh Nov. 17, 2023, 10:25 a.m. UTC | #2
>Hi Suman,
>
>I'm wondering if the fixes tag should refer to the commit that introduced
>the allocation that your patch is freeing.
[Suman] Yes, that make sense. I will update in v2.
>
>Fixes: 81a4362016e7 ("octeontx2-pf: Add RSS multi group support")
>
>> ---
>>  drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
>> b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
>> index 91b99fd70361..ba95ac913274 100644
>> --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
>> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
>> @@ -1934,6 +1934,8 @@ int otx2_stop(struct net_device *netdev)
>>  	/* Clear RSS enable flag */
>>  	rss = &pf->hw.rss_info;
>>  	rss->enable = false;
>> +	if (!netif_is_rxfh_configured(netdev))
>> +		kfree(rss->rss_ctx[DEFAULT_RSS_CONTEXT_GROUP]);
>>
>>  	/* Cleanup Queue IRQ */
>>  	vec = pci_irq_vector(pf->pdev,
>> --
>> 2.25.1
>>
  

Patch

diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
index 91b99fd70361..ba95ac913274 100644
--- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
+++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
@@ -1934,6 +1934,8 @@  int otx2_stop(struct net_device *netdev)
 	/* Clear RSS enable flag */
 	rss = &pf->hw.rss_info;
 	rss->enable = false;
+	if (!netif_is_rxfh_configured(netdev))
+		kfree(rss->rss_ctx[DEFAULT_RSS_CONTEXT_GROUP]);
 
 	/* Cleanup Queue IRQ */
 	vec = pci_irq_vector(pf->pdev,