Skip to contentSkip to conversation

[2.4] memleak in implementation of the IEEE 802.2 LLC protocol?

PATCH Oleg Drokin 1 participant 1 message Jun 15, 2003 Networking

lore
Share & tools
lore
#0 lore raw

Hello!

   I am trying to teach smatch's unfree script of skbuffers as those could
   create memory leaks if not freed, and I come across this code in
   ./net/802/llc_sendpdu.c::llc_sendipdu() in 2.4.21 kernel:
                tmp=skb_clone(skb, GFP_ATOMIC);
                if(tmp!=NULL)
                {
                        tmp->dev = lp->dev;
                        dev_queue_xmit(skb);
                }
   (and tmp is not used anywhere else)

Naturally looking at llc_sendipdu() function that have similar construction, I think that this small change should be done to avoid memleak and to make the code correct, what do you think?

===== net/802/llc_sendpdu.c 1.3 vs edited =====

net/802/llc_sendpdu.c +1 -1
@@ -283,7 +283,7 @@
 		if(tmp!=NULL)
 		{
 			tmp->dev = lp->dev;
-			dev_queue_xmit(skb);
+			dev_queue_xmit(tmp);
 		}
 		resend_count++;
 		skb = skb->next;

Bye,
Oleg