ipv4: initialise the itag variable in __mkroute_input
authorLi RongQing <roy.qing.li@gmail.com>
Thu, 22 May 2014 08:36:55 +0000 (16:36 +0800)
committerJiri Slaby <jslaby@suse.cz>
Thu, 29 May 2014 09:49:33 +0000 (11:49 +0200)
[ Upstream commit fbdc0ad095c0a299e9abf5d8ac8f58374951149a ]

the value of itag is a random value from stack, and may not be initiated by
fib_validate_source, which called fib_combine_itag if CONFIG_IP_ROUTE_CLASSID
is not set

This will make the cached dst uncertainty

Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
net/ipv4/route.c

index ae8aadbbb3c7c28b148ddb58516ab31e9b2d52f3..2b681867164dc9a0a22874dbe9d6dcaa62fb7bcf 100644 (file)
@@ -1525,7 +1525,7 @@ static int __mkroute_input(struct sk_buff *skb,
        struct in_device *out_dev;
        unsigned int flags = 0;
        bool do_cache;
-       u32 itag;
+       u32 itag = 0;
 
        /* get a working reference to the output device */
        out_dev = __in_dev_get_rcu(FIB_RES_DEV(*res));