Skip to contentSkip to conversation

i40e: Fix possible memory leak in i40e_dbg_dump_desc

PATCH In review Joe Perches 2 participants 2 messages Dec 6, 2014 – Dec 7, 2014 1 message not in the archive

Subsystems (3)
lore
Share & tools
lore
#1 lore raw

PATCH 1/1 i40e: Fix possible memory leak in i40e_dbg_dump_desc

In reply to a message not in the archive

I didn't notice that return in the code, fix it by adding a goto out instead to free the memory.

Fixes:

Quoted 2 lines

New smatch warnings:
drivers/net/ethernet/intel/i40e/i40e_debugfs.c:832 i40e_dbg_dump_desc() warn: possible memory leak of 'ring'

---

Jeff Kirsher can legitimately give me a hard time now... Thanks Dan.

 drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/net/ethernet/intel/i40e/i40e_debugfs.c +3 -1
index 433a558..cb0de45 100644
@@ -829,7 +829,7 @@ static void i40e_dbg_dump_desc(int cnt, int vsi_seid, int ring_id, int desc_n,
 		if (desc_n >= ring->count || desc_n < 0) {
 			dev_info(&pf->pdev->dev,
 				 "descriptor %d not found\n", desc_n);
-			return;
+			goto out;
 		}
 		if (!is_rx_ring) {
 			txd = I40E_TX_DESC(ring, desc_n);
@@ -855,6 +855,8 @@ static void i40e_dbg_dump_desc(int cnt, int vsi_seid, int ring_id, int desc_n,
 	} else {
 		dev_info(&pf->pdev->dev, "dump desc rx/tx <vsi_seid> <ring_id> [<desc_n>]\n");
 	}
+
+out:
 	kfree(ring);
 }
 
#2 lore raw
Quoted 11 lines · Joe Perches

I didn't notice that return in the code, fix it by adding a goto out instead to free the memory.

Fixes:

Quoted 2 lines

New smatch warnings:
drivers/net/ethernet/intel/i40e/i40e_debugfs.c:832

i40e_dbg_dump_desc() warn: possible memory leak of 'ring'

Quoted 7 lines

---

Jeff Kirsher can legitimately give me a hard time now... Thanks Dan.

 drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Thanks Joe, I have added your patch to my queue.