Subject: Re: [linux-next] oops in ip_route_input_noref

From: David Ahern <[email-masked]>
Date: Wed, 16 Sep 2015 09:04:15 -0600

On 9/16/15 9:00 AM, Fabio Estevam wrote:
> On Wed, Sep 16, 2015 at 6:24 AM, Sergey Senozhatsky
> <[email-masked]> 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;
 
 	/*