Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f71055a authored by Michael S. Tsirkin's avatar Michael S. Tsirkin Committed by Roland Dreier
Browse files

IPoIB: protect child list in ipoib_ib_dev_flush



race condition: ipoib_ib_dev_flush is accessing child list without locks.

Signed-off-by: default avatarMichael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 2e86541e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -608,9 +608,13 @@ void ipoib_ib_dev_flush(void *_dev)
	if (test_bit(IPOIB_FLAG_ADMIN_UP, &priv->flags))
		ipoib_ib_dev_up(dev);

	down(&priv->vlan_mutex);

	/* Flush any child interfaces too */
	list_for_each_entry(cpriv, &priv->child_intfs, list)
		ipoib_ib_dev_flush(&cpriv->dev);

	up(&priv->vlan_mutex);
}

void ipoib_ib_dev_cleanup(struct net_device *dev)