[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110413.105446.183041592.davem@davemloft.net>
Date: Wed, 13 Apr 2011 10:54:46 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: venki@...gle.com
Cc: kaber@...sh.net, zbr@...emap.net, linux-kernel@...r.kernel.org
Subject: Re: System crash, bisect points to "connector: convert to
synchronous netlink message processing"
From: Venkatesh Pallipadi <venki@...gle.com>
Date: Wed, 13 Apr 2011 10:25:39 -0700
> I started seeing crashes with linus git recently. The failure
> signature is something like:
There is a fix in net-2.6 for this already:
--------------------
commit 0e08785845093ef4ed220463a739bc8d0db95de7
Author: Patrick McHardy <kaber@...sh.net>
Date: Tue Apr 12 05:39:51 2011 +0000
connector: fix skb double free in cn_rx_skb()
When a skb is delivered to a registered callback, cn_call_callback()
incorrectly returns -ENODEV after freeing the skb, causing cn_rx_skb()
to free the skb a second time.
Reported-by: Eric B Munson <emunson@...bm.net>
Signed-off-by: Patrick McHardy <kaber@...sh.net>
Tested-by: Eric B Munson <emunson@...bm.net>
Signed-off-by: David S. Miller <davem@...emloft.net>
diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c
index d770058..219d88a 100644
--- a/drivers/connector/connector.c
+++ b/drivers/connector/connector.c
@@ -142,6 +142,7 @@ static int cn_call_callback(struct sk_buff *skb)
cbq->callback(msg, nsp);
kfree_skb(skb);
cn_queue_release_callback(cbq);
+ err = 0;
}
return err;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists