[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <001c01d172fb$cddc7530$69955f90$@cmss.chinamobile.com>
Date: Mon, 29 Feb 2016 22:16:37 +0800
From: 张胜举 <zhangshengju@...s.chinamobile.com>
To: "'Paolo Abeni'" <pabeni@...hat.com>
Cc: <davem@...emloft.net>, <netdev@...r.kernel.org>
Subject: Re: [net] net: fix double free issue of skbuff
> On Mon, 2016-02-29 at 12:22 +0000, Zhang Shengju wrote:
> > If skb_reorder_vlan_header() failed, skb is freed and NULL is returned.
> > Then at skb_vlan_untag(), it will free skbuff again which cause double
> > free.
>
> On skb_reorder_vlan_header() failure, skb_vlan_untag() will call
> kfree_skb() using the return value of skb_reorder_vlan_header(), that is
> NULL. kfree_skb() is a noop when the argument is NULL.
>
> The current code seams safe.
>
> Paolo
Hi Paolo, even current code is safe, this's still a potential problem. We should make an
assumption that inner function doesn't free skb, and let outside function take care of this.
BRs,
Shengju
Powered by blists - more mailing lists