summaryrefslogtreecommitdiff
path: root/include/net
diff options
context:
space:
mode:
authorXin Long <lucien.xin@gmail.com>2016-02-18 16:21:19 +0300
committerJiri Slaby <jslaby@suse.cz>2016-03-02 18:29:14 +0300
commit27b6d267f4d3652dee80ced90800904ed0df6a05 (patch)
tree8a87d42cf2b15e12a55383ee98488b12f26bffff /include/net
parent00028cc77254f4973e6af17ea84fde3b1c2802dc (diff)
downloadlinux-27b6d267f4d3652dee80ced90800904ed0df6a05.tar.xz
route: check and remove route cache when we get route
[ Upstream commit deed49df7390d5239024199e249190328f1651e7 ] 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> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/ip_fib.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h
index cbf2be37c91a..4dae9d5268ca 100644
--- a/include/net/ip_fib.h
+++ b/include/net/ip_fib.h
@@ -59,6 +59,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 {