Re: [linux-next] oops in ip_route_input_noref

From: David Ahern
Date: Wed Sep 16 2015 - 11:04:23 EST


On 9/16/15 9:00 AM, Fabio Estevam wrote:
On Wed, Sep 16, 2015 at 6:24 AM, Sergey Senozhatsky
<sergey.senozhatsky.work@xxxxxxxxx> wrote:

added by b7503e0cdb5dbec5d201aa69d8888c14679b5ae8

net: Add FIB table id to rtable

Add the FIB table id to rtable to make the information available for
IPv4 as it is for IPv6.

I see the same issue here when booting a mx25 ARM processor via NFS.

defconfig is arch/arm/configs/imx_v4_v5_defconfig.


I am still not able to reproduce. While I work on a full Cumulus image for other test cases here's a patch to try; eagle eye Nikolay noted a potential use without init in the maze of goto's.

Thanks,
David
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index da427a4a33fe..80f7c5b7b832 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1712,6 +1712,7 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
goto martian_source;

res.fi = NULL;
+ res.table = NULL;
if (ipv4_is_lbcast(daddr) || (saddr == 0 && daddr == 0))
goto brd_input;

@@ -1834,6 +1835,7 @@ out: return err;
RT_CACHE_STAT_INC(in_no_route);
res.type = RTN_UNREACHABLE;
res.fi = NULL;
+ res.table = NULL;
goto local_input;

/*