]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ipv6: fix the noflags test in addrconf_get_prefix_route
authorRomain Kuntz <r.kuntz@ipflavors.com>
Wed, 9 Jan 2013 14:02:26 +0000 (15:02 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 20 Feb 2013 03:15:32 +0000 (03:15 +0000)
[ Upstream commit 85da53bf1c336bb07ac038fb951403ab0478d2c5 ]

The tests on the flags in addrconf_get_prefix_route() does no make
much sense: the 'noflags' parameter contains the set of flags that
must not match with the route flags, so the test must be done
against 'noflags', and not against 'flags'.

Signed-off-by: Romain Kuntz <r.kuntz@ipflavors.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/ipv6/addrconf.c

index aef80d7f588bdf33f032168d8c9a6d9552d27bec..b27baed45ad48a308d9e064d54e275fb0545cf4c 100644 (file)
@@ -1739,7 +1739,7 @@ static struct rt6_info *addrconf_get_prefix_route(const struct in6_addr *pfx,
                        continue;
                if ((rt->rt6i_flags & flags) != flags)
                        continue;
-               if ((noflags != 0) && ((rt->rt6i_flags & flags) != 0))
+               if ((rt->rt6i_flags & noflags) != 0)
                        continue;
                dst_hold(&rt->dst);
                break;