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

Re: [OOPS] In __netif_receive_skb_core

From: Eric Dumazet <hidden>
Date: 2016-01-12 14:19:42
Also in: linux-omap, lkml

On Tue, 2016-01-12 at 09:16 +0200, Ivaylo Dimitrov wrote:
On 12.01.2016 04:25, Eric Dumazet wrote:
quoted
OK please try this fix :
diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c
index 10d42f3220ab..f925753668a7 100644
--- a/net/phonet/af_phonet.c
+++ b/net/phonet/af_phonet.c
@@ -377,6 +377,10 @@ static int phonet_rcv(struct sk_buff *skb, struct net_device *dev,
  	struct sockaddr_pn sa;
  	u16 len;

+	skb = skb_share_check(skb, GFP_ATOMIC);
+	if (!skb)
+		return NET_RX_DROP;
+
  	/* check we have at least a full Phonet header */
  	if (!pskb_pull(skb, sizeof(struct phonethdr)))
  		goto out;
That one fixes the oops, though I wonder if your previous patch is 
needed (I reverted it before testing the current). Unfortunately I don't 
have SIM card around to test GPRS connection with, will do it as soon as 
I find one and will report.
Well, this bug in phonet_rcv() is rather obvious, I have no idea why
nobody got crashes or corruptions before today.

I'll send a formal patch.

Thanks for your help !
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help