aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/fib_trie.c7
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)