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)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 9 Jun 2014 12:29:00 +0000 (13:29 +0100)
[ 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: Ben Hutchings <ben@decadent.org.uk>
net/ipv4/route.c

index 6768ce2..6526110 100644 (file)
@@ -2142,7 +2142,7 @@ static int __mkroute_input(struct sk_buff *skb,
        struct in_device *out_dev;
        unsigned int flags = 0;
        __be32 spec_dst;
-       u32 itag;
+       u32 itag = 0;
 
        /* get a working reference to the output device */
        out_dev = __in_dev_get_rcu(FIB_RES_DEV(*res));