[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 11 Aug 2015 21:56:11 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: linus.luessing@...3.blue
Cc: bblanco@...mgrid.com, netdev@...r.kernel.org
Subject: Re: ipv6_mc_check_mld - kernel BUG at net/core/skbuff.c:1128
From: Linus Lüssing <linus.luessing@...3.blue>
Date: Tue, 11 Aug 2015 23:47:25 +0200
> On Tue, Aug 11, 2015 at 10:51:40PM +0200, Linus Lüssing wrote:
>> On Mon, Aug 10, 2015 at 02:56:12PM -0700, Brenden Blanco wrote:
>> > Doing some code reading with Alexei, we found a suspect commit, which
>> > introduces an skb_get and skb_may_pull of the same skb, which leads to the BUG
>> > when skb->len == len.
>>
>> Urgh, didn't know that pskb_may_pull() doesn't like an skb with a
>> reference count greater than one... But yes, the BUG() call in
>> skbuff.c:1128 / pskb_expand_head() says that (though in this case
>> the BUG() in skbuff.c call actually seems kinda weird (/"wrong"?), as
>> it isn't shared between different code paths).
>
> The more I think about it, I'm tending to remove the BUG() call in
> pskb_expand_head() as in this case it obviously isn't a bug.
Calling pskb_expand_head() with a shared SKB is absolutely,
positively, a bug. You just don't understand why it is.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists