lkml.org 
[lkml]   [2003]   [Jun]   [15]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateSun, 15 Jun 2003 13:26:56 +0400
FromOleg Drokin <>
Subject[2.4] memleak in implementation of the IEEE 802.2 LLC protocol?
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 =====
--- 1.3/net/802/llc_sendpdu.c	Tue Feb  5 10:39:14 2002
+++ edited/net/802/llc_sendpdu.c	Sun Jun 15 13:23:39 2003
@@ -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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:36    [from the cache]
©2003-2008