]> www.infradead.org Git - users/jedix/linux-maple.git/commit
vxlan: fix use-after-free on deletion
authorMark Bloch <markb@mellanox.com>
Fri, 2 Jun 2017 00:24:08 +0000 (03:24 +0300)
committerBrian Maly <brian.maly@oracle.com>
Wed, 12 Jun 2019 15:16:16 +0000 (11:16 -0400)
commit15a48cc22bf0343432461c973c08ff293453a2cf
treeb3e5b20353559d1446d0f72ba0f1386b7f174c71
parent5533e5dc61ac703395a5b52b3115896c107d6b6c
vxlan: fix use-after-free on deletion

Adding a vxlan interface to a socket isn't symmetrical, while adding
is done in vxlan_open() the deletion is done in vxlan_dellink().
This can cause a use-after-free error when we close the vxlan
interface before deleting it.

We add vxlan_vs_del_dev() to match vxlan_vs_add_dev() and call
it from vxlan_stop() to match the call from vxlan_open().

Orabug: 29755932

Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope")
Acked-by: Jiri Benc <jbenc@redhat.com>
Tested-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Mark Bloch <markb@mellanox.com>
Acked-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit a53cb29b0af346af44e4abf13d7e59f807fba690)

Reviewed-by: Rama Nichanamatlu <rama.nichanamatlu@oracle.com>
Signed-off-by: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Conflicts:
drivers/net/vxlan.c

Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/vxlan.c