Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752754AbdFMJvM convert rfc822-to-8bit (ORCPT ); Tue, 13 Jun 2017 05:51:12 -0400 Received: from cmccmta2.chinamobile.com ([221.176.66.80]:19270 "EHLO cmccmta2.chinamobile.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751891AbdFMJvK (ORCPT ); Tue, 13 Jun 2017 05:51:10 -0400 X-RM-TRANSID: 2ee6593fb58b0ac-02058 X-RM-SPAM-FLAG: 00000000 X-RM-TRANSID: 2ee5593fb58abf3-ce4b0 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: [PATCH] ip6_tunnel: fix potential issue in __ip6_tnl_rcv From: =?utf-8?B?5Lil5rW35Y+M?= In-Reply-To: <1497344195-19900-2-git-send-email-yanhaishuang@cmss.chinamobile.com> Date: Tue, 13 Jun 2017 17:51:06 +0800 Cc: Linux Kernel Network Developers , LKML , Alexei Starovoitov Content-Transfer-Encoding: 8BIT Message-Id: <3FF0F242-3647-47DF-B412-10A5A840AE71@cmss.chinamobile.com> References: <1497344195-19900-1-git-send-email-yanhaishuang@cmss.chinamobile.com> <1497344195-19900-2-git-send-email-yanhaishuang@cmss.chinamobile.com> To: "David S. Miller" , Hideaki YOSHIFUJI , Patrick McHardy , zhangshengju X-Mailer: Apple Mail (2.3273) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1124 Lines: 41 > On 13 Jun 2017, at 4:56 PM, Haishuang Yan wrote: > > When __ip6_tnl_rcv fails, the tun_dst won't be freed, so call > dst_release to free it in error code path. > > CC: Alexei Starovoitov > Fixes: 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels") > Signed-off-by: Haishuang Yan > Tested-by: Zhang Shengju > > --- > v4: > - Add tester information > v3: > - Free tun_dst from error code path > v2: > - Add the the missing Fixes information > --- > net/ipv6/ip6_tunnel.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c > index 9b37f97..ef99d59 100644 > --- a/net/ipv6/ip6_tunnel.c > +++ b/net/ipv6/ip6_tunnel.c > @@ -859,6 +859,8 @@ static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb, > return 0; > > drop: > + if (tun_dst) > + dst_release((struct dst_entry *)tun_dst); > kfree_skb(skb); > return 0; > } > -- > 1.8.3.1 > > Hi David, Please ignore the patches, I forgot to add subject prefix, sorry.