Thread (17 messages) 17 messages, 5 authors, 2016-01-13

Re: [PATCH net] phonet: properly unshare skbs in phonet_rcv()

From: Eric Dumazet <hidden>
Date: 2016-01-13 15:07:34

On Wed, 2016-01-13 at 14:26 +0200, Rémi Denis-Courmont wrote:
Le 2016-01-12 18:58, Eric Dumazet a écrit :
quoted
From: Eric Dumazet <edumazet@google.com>

Ivaylo Dimitrov reported a regression caused by commit 7866a621043f
("dev: add per net_device packet type chains").

skb->dev becomes NULL and we crash in __netif_receive_skb_core().

Before above commit, different kind of bugs or corruptions could 
happen
without major crash.
Hmm... was that always a problem then, or did it get introduced 
earlier? I thought it was impossible for skb to be shared on PF-recv 
callback way back.
Always been a problem.

Use tcpdump and you risk use after free.

Or simply panics if skb->head needs to be expanded.

Other relevant commits to explain this :

044453b3efdc90bdd5feffe74b99d95dec70ac43 arp: fix possible crash in
arp_rcv()

b30532515f0a62bfe17207ab00883dd262497006 bonding: Ensure that we unshare
skbs prior to calling pskb_may_pull
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help