summaryrefslogtreecommitdiff
path: root/net/bridge/br_vlan_tunnel.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/bridge/br_vlan_tunnel.c')
-rw-r--r--net/bridge/br_vlan_tunnel.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/bridge/br_vlan_tunnel.c b/net/bridge/br_vlan_tunnel.c
index 03de461a0d44..01017448ebde 100644
--- a/net/bridge/br_vlan_tunnel.c
+++ b/net/bridge/br_vlan_tunnel.c
@@ -204,8 +204,8 @@ int br_handle_egress_vlan_tunnel(struct sk_buff *skb,
return err;
tunnel_dst = rcu_dereference(vlan->tinfo.tunnel_dst);
- if (tunnel_dst)
- skb_dst_set(skb, dst_clone(&tunnel_dst->dst));
+ if (tunnel_dst && dst_hold_safe(&tunnel_dst->dst))
+ skb_dst_set(skb, &tunnel_dst->dst);
return 0;
}