diff options
Diffstat (limited to 'net/ipv4/fib_trie.c')
-rw-r--r-- | net/ipv4/fib_trie.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index 7aea0ccb6be6..d07fc076bea0 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
@@ -1394,9 +1394,10 @@ found: | |||
1394 | struct fib_info *fi = fa->fa_info; | 1394 | struct fib_info *fi = fa->fa_info; |
1395 | int nhsel, err; | 1395 | int nhsel, err; |
1396 | 1396 | ||
1397 | if ((index >= (1ul << fa->fa_slen)) && | 1397 | if ((BITS_PER_LONG > KEYLENGTH) || (fa->fa_slen < KEYLENGTH)) { |
1398 | ((BITS_PER_LONG > KEYLENGTH) || (fa->fa_slen != KEYLENGTH))) | 1398 | if (index >= (1ul << fa->fa_slen)) |
1399 | continue; | 1399 | continue; |
1400 | } | ||
1400 | if (fa->fa_tos && fa->fa_tos != flp->flowi4_tos) | 1401 | if (fa->fa_tos && fa->fa_tos != flp->flowi4_tos) |
1401 | continue; | 1402 | continue; |
1402 | if (fi->fib_dead) | 1403 | if (fi->fib_dead) |