linux/drivers/infiniband/ulp/ipoib
Jason Gunthorpe 13476d35bb IB/ipoib: Maintain the child_intfs list from ndo_init/uninit
This fixes a bug in the netlink path where the vlan_rwsem was not
held around __ipoib_vlan_add causing the child_intfs to be manipulated
unsafely.

In the process this greatly simplifies the vlan_rwsem write side locking
to only cover a single non-sleeping statement.

This also further increases the safety of the removal ordering by holding
the netdev of the parent while the child is active to ensure most bugs
become either an oops on a NULL priv or a deadlock on the netdev refcount.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
2018-08-02 20:27:44 -06:00
..
ipoib_cm.c IB/ipoib: Get rid of the sysfs_mutex 2018-08-02 20:27:43 -06:00
ipoib_ethtool.c RDMA: Fix return code check in rdma_set_cq_moderation 2018-07-31 17:03:46 -06:00
ipoib_fs.c RDMA/ipoib: Fix use of sizeof() 2018-07-09 12:02:42 -06:00
ipoib_ib.c IB/IPoIB: Simplify ib_post_(send|recv|srq_recv)() calls 2018-07-24 16:06:36 -06:00
ipoib_main.c IB/ipoib: Maintain the child_intfs list from ndo_init/uninit 2018-08-02 20:27:44 -06:00
ipoib_multicast.c IB/IPoIB: Set ah valid flag in multicast send flow 2018-08-01 15:23:03 -06:00
ipoib_netlink.c IB/ipoib: Maintain the child_intfs list from ndo_init/uninit 2018-08-02 20:27:44 -06:00
ipoib_verbs.c RDMA/ipoib: Fix return code from ipoib_cm_dev_init 2018-07-09 15:19:08 -06:00
ipoib_vlan.c IB/ipoib: Maintain the child_intfs list from ndo_init/uninit 2018-08-02 20:27:44 -06:00
ipoib.h IB/ipoib: Do not remove child devices from within the ndo_uninit 2018-08-02 20:27:43 -06:00
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00