net/llc: avoid BUG_ON() in skb_orphan()
authorEric Dumazet <edumazet@google.com>
Sun, 12 Feb 2017 22:03:52 +0000 (14:03 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Feb 2017 03:14:49 +0000 (22:14 -0500)
commit8b74d439e1697110c5e5c600643e823eb1dd0762
treeedfcfac1f41af2d3c3397eea8a66ae9b53f29ab3
parent7f677633379b4abb3281cdbe7e7006f049305c03
net/llc: avoid BUG_ON() in skb_orphan()

It seems nobody used LLC since linux-3.12.

Fortunately fuzzers like syzkaller still know how to run this code,
otherwise it would be no fun.

Setting skb->sk without skb->destructor leads to all kinds of
bugs, we now prefer to be very strict about it.

Ideally here we would use skb_set_owner() but this helper does not exist yet,
only CAN seems to have a private helper for that.

Fixes: 376c7311bdb6 ("net: add a temporary sanity check in skb_orphan()")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/llc/llc_conn.c
net/llc/llc_sap.c