macvlan: Fix one possible double free
authorGao Feng <gfree.wind@vip.163.com>
Tue, 26 Dec 2017 13:44:32 +0000 (21:44 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Mar 2018 09:23:26 +0000 (10:23 +0100)
commit88f72bd9f99fc2315acfde7a15a1a8eecb154bcb
treeaa4b0bdead79290c17fba25df8dd43197ad15f8a
parentc33d49420c5cdab3420a9516a04b988cb65ee9ad
macvlan: Fix one possible double free

[ Upstream commit d02fd6e7d2933ede6478a15f9e4ce8a93845824e ]

Because the macvlan_uninit would free the macvlan port, so there is one
double free case in macvlan_common_newlink. When the macvlan port is just
created, then register_netdevice or netdev_upper_dev_link failed and they
would invoke macvlan_uninit. Then it would reach the macvlan_port_destroy
which triggers the double free.

Signed-off-by: Gao Feng <gfree.wind@vip.163.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/macvlan.c