summaryrefslogtreecommitdiffstats
path: root/net/ipv4/fib_semantics.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2006-09-27 07:21:22 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-29 03:01:13 +0200
commit1e8aa6f125d959d1a9f16a3f15e9ebbc6df63935 (patch)
treebd3a60b326edf2096556cf6b34faecf64c4a3414 /net/ipv4/fib_semantics.c
parent[IPV4]: fib_semantic_match() annotations (diff)
downloadlinux-1e8aa6f125d959d1a9f16a3f15e9ebbc6df63935.tar.xz
linux-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>
Diffstat (limited to 'net/ipv4/fib_semantics.c')
-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;