diff options
author | Xin Long <lucien.xin@gmail.com> | 2016-02-18 21:21:19 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-18 11:31:36 -0500 |
commit | deed49df7390d5239024199e249190328f1651e7 (patch) | |
tree | ea42dfb5f3b2e69b5e783c12b62dcc3eb4b53b1c /include/net/ip_fib.h | |
parent | 619fe32640b4b01f370574d50344ae0f62689816 (diff) | |
download | op-kernel-dev-deed49df7390d5239024199e249190328f1651e7.zip op-kernel-dev-deed49df7390d5239024199e249190328f1651e7.tar.gz |
route: check and remove route cache when we get route
Since the gc of ipv4 route was removed, the route cached would has
no chance to be removed, and even it has been timeout, it still could
be used, cause no code to check it's expires.
Fix this issue by checking and removing route cache when we get route.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip_fib.h')
-rw-r--r-- | include/net/ip_fib.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h index 7029527..4079fc1 100644 --- a/include/net/ip_fib.h +++ b/include/net/ip_fib.h @@ -61,6 +61,7 @@ struct fib_nh_exception { struct rtable __rcu *fnhe_rth_input; struct rtable __rcu *fnhe_rth_output; unsigned long fnhe_stamp; + struct rcu_head rcu; }; struct fnhe_hash_bucket { |