diff mbox series

enic: Remove redundant free in enic_set_ringparam

Message ID 20201223123833.14733-1-dinghao.liu@zju.edu.cn
State New
Headers show
Series enic: Remove redundant free in enic_set_ringparam | expand

Commit Message

Dinghao Liu Dec. 23, 2020, 12:38 p.m. UTC
The error handling paths in enic_alloc_vnic_resources()
have called enic_free_vnic_resources() before returning.
So we may not need to call it again on failure at caller
side.

Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
---
 drivers/net/ethernet/cisco/enic/enic_ethtool.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Jakub Kicinski Dec. 23, 2020, 8:37 p.m. UTC | #1
On Wed, 23 Dec 2020 20:38:33 +0800 Dinghao Liu wrote:
> The error handling paths in enic_alloc_vnic_resources()
> have called enic_free_vnic_resources() before returning.
> So we may not need to call it again on failure at caller
> side.
> 
> Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>

But it's harmless, right? So the patch is just a cleanup not a fix?

In that case, could you please repost in two weeks? We're currently 
in the merge window period, we're only accepting fixes to the
networking trees.

Thanks!
Dinghao Liu Dec. 24, 2020, 10:16 a.m. UTC | #2
> On Wed, 23 Dec 2020 20:38:33 +0800 Dinghao Liu wrote:
> > The error handling paths in enic_alloc_vnic_resources()
> > have called enic_free_vnic_resources() before returning.
> > So we may not need to call it again on failure at caller
> > side.
> > 
> > Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
> 
> But it's harmless, right? So the patch is just a cleanup not a fix?
> 

I think it's harmless. Since there is a check every time before freeing,
calling enic_free_vnic_resources() twice has no security issue.

> In that case, could you please repost in two weeks? We're currently 
> in the merge window period, we're only accepting fixes to the
> networking trees.
> 
> Thanks!
diff mbox series

Patch

diff --git a/drivers/net/ethernet/cisco/enic/enic_ethtool.c b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
index 1a9803f2073e..85a139d39f27 100644
--- a/drivers/net/ethernet/cisco/enic/enic_ethtool.c
+++ b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
@@ -235,7 +235,6 @@  static int enic_set_ringparam(struct net_device *netdev,
 	if (err) {
 		netdev_err(netdev,
 			   "Failed to alloc vNIC resources, aborting\n");
-		enic_free_vnic_resources(enic);
 		goto err_out;
 	}
 	enic_init_vnic_resources(enic);