summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2006-09-26 22:21:22 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-28 18:01:13 -0700
commit1e8aa6f125d959d1a9f16a3f15e9ebbc6df63935 (patch)
treebd3a60b326edf2096556cf6b34faecf64c4a3414
parent1ef1b8c85bb4954b7dca816f1bb7fd54bcd78078 (diff)
downloadlwn-1e8aa6f125d959d1a9f16a3f15e9ebbc6df63935.tar.gz
lwn-1e8aa6f125d959d1a9f16a3f15e9ebbc6df63935.zip
[IPV4] bug: open-coded inet_make_mask() in fib_semantic_match() is broken
... and works only on little-endian Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/fib_semantics.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index 66b78df1c672..f7567e92cd9e 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -914,8 +914,7 @@ out_fill_res:
res->fi = fa->fa_info;
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
res->netmask = mask;
- res->network = zone &
- (0xFFFFFFFF >> (32 - prefixlen));
+ res->network = zone & inet_make_mask(prefixlen);
#endif
atomic_inc(&res->fi->fib_clntref);
return 0;