diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2006-09-26 22:21:22 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-28 18:01:13 -0700 |
commit | 1e8aa6f125d959d1a9f16a3f15e9ebbc6df63935 (patch) | |
tree | bd3a60b326edf2096556cf6b34faecf64c4a3414 | |
parent | 1ef1b8c85bb4954b7dca816f1bb7fd54bcd78078 (diff) | |
download | lwn-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.c | 3 |
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; |