On (09/16/15 10:16), David Ahern wrote:
[..]
> The root cause is use of res.table uninitialized.
> 
> Thanks to Nikolay for noticing the uninitialized use amongst the maze of
> gotos.
> 
> As Nikolay pointed out the second initialization is not required to fix
> the oops, but rather to fix a related problem where a valid lookup should
> be invalidated before creating the rth entry.
> 
> Fixes: b7503e0cdb5d ("net: Add FIB table id to rtable")
> Reported-by: Sergey Senozhatsky <sergey.senozhatsky.w...@gmail.com>

works for me, thanks

Tested-by: Sergey Senozhatsky <sergey.senozhat...@gmail.com>

        -ss

> Reported-by: Richard Alpe <richard.a...@ericsson.com>
> Reported-by: Fabio Estevam <feste...@gmail.com>
> Tested-by: Fabio Estevam <fabio.este...@freescale.com>
> Signed-off-by: David Ahern <d...@cumulusnetworks.com>
> ---
> v2:
> - clarification in the commit message regarding the second initialization
> 
>  net/ipv4/route.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> 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;
>  
>       /*
> -- 
> 2.3.2 (Apple Git-55)
> 
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to