[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1358991906.12374.1356.camel@edumazet-glaptop>
Date: Wed, 23 Jan 2013 17:45:06 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Ben Greear <greearb@...delatech.com>
Cc: netdev <netdev@...r.kernel.org>
Subject: Re: 3.7.3+: Bad paging request in ip_rcv_finish while running NFS
traffic.
On Wed, 2013-01-23 at 17:10 -0800, Eric Dumazet wrote:
> Excellent, thats the bug.
>
> I'll send a fix asap, thanks !
loopback device doesnt have a qdisc, and unsets IFF_XMIT_DST_RELEASE
Its hard to believe such an old bug never hit us in the past.
Probably because most of the time, the packet given to netif_rx() is
immediately processed (and loopback device is hard wired ?)
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index 81f8f9e..fcbf680 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -77,6 +77,11 @@ static netdev_tx_t loopback_xmit(struct sk_buff *skb,
skb_orphan(skb);
+ /* Before queueing this packet to netif_rx(),
+ * make sure dst is refcounted.
+ */
+ skb_dst_force(skb);
+
skb->protocol = eth_type_trans(skb, dev);
/* it's OK to use per_cpu_ptr() because BHs are off */
--
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