Patchwork llc: free the right skb

login
register
mail settings
Submitter Sorin Dumitru
Date Aug. 6, 2012, 12:35 p.m.
Message ID <1344256558-22649-1-git-send-email-sdumitru@ixiacom.com>
Download mbox | patch
Permalink /patch/175333/
State Accepted
Delegated to: David Miller
Headers show

Comments

Sorin Dumitru - Aug. 6, 2012, 12:35 p.m.
We are freeing skb instead of nskb, resulting in a double
free on skb and a leak from nskb.

Signed-off-by: Sorin Dumitru <sdumitru@ixiacom.com>
---
 net/llc/llc_station.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
David Miller - Aug. 6, 2012, 8:31 p.m.
From: Sorin Dumitru <sdumitru@ixiacom.com>
Date: Mon, 6 Aug 2012 15:35:58 +0300

> We are freeing skb instead of nskb, resulting in a double
> free on skb and a leak from nskb.
> 
> Signed-off-by: Sorin Dumitru <sdumitru@ixiacom.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/net/llc/llc_station.c b/net/llc/llc_station.c
index 39a8d89..6828e39 100644
--- a/net/llc/llc_station.c
+++ b/net/llc/llc_station.c
@@ -268,7 +268,7 @@  static int llc_station_ac_send_null_dsap_xid_c(struct sk_buff *skb)
 out:
 	return rc;
 free:
-	kfree_skb(skb);
+	kfree_skb(nskb);
 	goto out;
 }
 
@@ -293,7 +293,7 @@  static int llc_station_ac_send_xid_r(struct sk_buff *skb)
 out:
 	return rc;
 free:
-	kfree_skb(skb);
+	kfree_skb(nskb);
 	goto out;
 }
 
@@ -322,7 +322,7 @@  static int llc_station_ac_send_test_r(struct sk_buff *skb)
 out:
 	return rc;
 free:
-	kfree_skb(skb);
+	kfree_skb(nskb);
 	goto out;
 }