diff options
author | Eric Dumazet <edumazet@google.com> | 2014-01-17 04:41:19 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-18 06:36:39 +0400 |
commit | 6c7e7610ff6888ea15a901fbcb30c5d461816b34 (patch) | |
tree | 15e55648f844c0338783711c523008301486c637 /include/net | |
parent | db893473d313a4ad9455e89d1bd5e136a57f411e (diff) | |
download | linux-6c7e7610ff6888ea15a901fbcb30c5d461816b34.tar.xz |
ipv4: fix a dst leak in tunnels
This patch :
1) Remove a dst leak if DST_NOCACHE was set on dst
Fix this by holding a reference only if dst really cached.
2) Remove a lockdep warning in __tunnel_dst_set()
This was reported by Cong Wang.
3) Remove usage of a spinlock where xchg() is enough
4) Remove some spurious inline keywords.
Let compiler decide for us.
Fixes: 7d442fab0a67 ("ipv4: Cache dst in tunnels")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Cong Wang <cwang@twopensource.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Maciej Żenczykowski <maze@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/ip_tunnels.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h index cd729becbb07..48ed75c21260 100644 --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h @@ -40,7 +40,6 @@ struct ip_tunnel_prl_entry { struct ip_tunnel_dst { struct dst_entry __rcu *dst; - spinlock_t lock; }; struct ip_tunnel { |