diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 5c36b6745dbce6a96a5aa6b9fa914faf65e4fc74..90c9123078147e7f84d9be65d9d4bb57f2f301eb 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -313,8 +313,10 @@ static int erspan_rcv(struct sk_buff *skb, struct tnl_ptk_info *tpi, return PACKET_REJECT; md = ip_tunnel_info_opts(&tun_dst->u.tun_info); - if (!md) + if (!md) { + dst_release((struct dst_entry *)tun_dst); return PACKET_REJECT; + } memcpy(md, pkt_md, sizeof(*md)); md->version = ver;