[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20131206.151407.756289328683473825.davem@davemloft.net>
Date: Fri, 06 Dec 2013 15:14:07 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: fan.du@...driver.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net] vxlan: release rt when found circular route
From: Fan Du <fan.du@...driver.com>
Date: Thu, 5 Dec 2013 16:03:51 +0800
> Otherwise causing dst memory leakage.
> Have Checked all other type tunnel device transmit implementation,
> no such things happens anymore.
>
> Signed-off-by: Fan Du <fan.du@...driver.com>
...
> @@ -1665,6 +1665,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev,
> }
>
> if (rt->dst.dev == dev) {
> + ip_rt_put(rt);
> netdev_dbg(dev, "circular route to %pI4\n",
> &dst->sin.sin_addr.s_addr);
> dev->stats.collisions++;
There is already a "rt_tx_error" label that will handle releasing the
'rt', so at the end of this basic block, goto rt_tx_error instead of
just plain tx_error.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists