ipv4: fix a dst leak in tunnels
authorEric Dumazet <edumazet@google.com>
Fri, 17 Jan 2014 00:41:19 +0000 (16:41 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 18 Jan 2014 02:36:39 +0000 (18:36 -0800)
commit6c7e7610ff6888ea15a901fbcb30c5d461816b34
tree15e55648f844c0338783711c523008301486c637
parentdb893473d313a4ad9455e89d1bd5e136a57f411e
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>
include/net/ip_tunnels.h
net/ipv4/ip_tunnel.c