diff options
-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 744e5936c10d..22e73171ea63 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
@@ -1396,9 +1396,10 @@ found: | |||
1396 | struct fib_info *fi = fa->fa_info; | 1396 | struct fib_info *fi = fa->fa_info; |
1397 | int nhsel, err; | 1397 | int nhsel, err; |
1398 | 1398 | ||
1399 | if ((index >= (1ul << fa->fa_slen)) && | 1399 | if ((BITS_PER_LONG > KEYLENGTH) || (fa->fa_slen < KEYLENGTH)) { |
1400 | ((BITS_PER_LONG > KEYLENGTH) || (fa->fa_slen != KEYLENGTH))) | 1400 | if (index >= (1ul << fa->fa_slen)) |
1401 | continue; | 1401 | continue; |
1402 | } | ||
1402 | if (fa->fa_tos && fa->fa_tos != flp->flowi4_tos) | 1403 | if (fa->fa_tos && fa->fa_tos != flp->flowi4_tos) |
1403 | continue; | 1404 | continue; |
1404 | if (fi->fib_dead) | 1405 | if (fi->fib_dead) |