diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2005-07-06 00:00:32 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-07-06 00:00:32 +0200 |
commit | bb1d23b02657f494dff295f6cdd1f29df30fa61e (patch) | |
tree | 59c170cb94d2f65a0717ea67e169b3e2e22be11e /net/decnet | |
parent | [IPV4]: Use the fancy alloc_large_system_hash() function for route hash table (diff) | |
download | linux-bb1d23b02657f494dff295f6cdd1f29df30fa61e.tar.xz linux-bb1d23b02657f494dff295f6cdd1f29df30fa61e.zip |
[IPV4]: Bug fix in rt_check_expire()
- rt_check_expire() fixes (an overflow occured if size of the hash
was >= 65536)
reminder of the bugfix:
The rt_check_expire() has a serious problem on machines with large
route caches, and a standard HZ value of 1000.
With default values, ie ip_rt_gc_interval = 60*HZ = 60000 ;
the loop count :
for (t = ip_rt_gc_interval << rt_hash_log; t >= 0;
overflows (t is a 31 bit value) as soon rt_hash_log is >= 16 (65536
slots in route cache hash table).
In this case, rt_check_expire() does nothing at all
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/decnet')
0 files changed, 0 insertions, 0 deletions