linux-stable/drivers/infiniband/core
Mark Zhang 37fbd834b4 IB/core: Fix oops in netdev_next_upper_dev_rcu()
When support for bonding of RoCE devices was added, there was
necessarily a link between the RoCE device and the paired netdevice that
was part of the bond.  If you remove the mlx4_en module, that paired
association is broken (the RoCE device is still present but the paired
netdevice has been released).  We need to account for this in
is_upper_ndev_bond_master_filter() and filter out those links with a
broken pairing or else we later oops in netdev_next_upper_dev_rcu().

Fixes: 408f1242d9 ("IB/core: Delete lower netdevice default GID entries in bonding scenario")
Signed-off-by: Mark Zhang <markz@mellanox.com>
Reviewed-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2018-12-12 12:14:49 -05:00
..
addr.c RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
agent.c IB/core: Rename ib_destroy_ah to rdma_destroy_ah 2017-05-01 14:32:43 -04:00
agent.h
cache.c Merge branch 'for-rc' into rdma.git for-next 2018-10-16 00:01:02 -06:00
cgroup.c IB/core: added support to use rdma cgroup controller 2017-01-10 11:14:27 -05:00
cm.c RDMA/cm: Respect returned status of cm_init_av_by_path 2018-10-16 08:29:24 -06:00
cm_msgs.h IB/cm: Remove unused and erroneous msg sequence encoding 2018-07-09 11:39:28 -06:00
cma.c RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
cma_configfs.c RDMA/core: Use dev_name instead of ibdev->name 2018-09-26 13:51:48 -06:00
cma_priv.h RDMA/cma: Move rdma_cm_state to cma_priv.h 2018-03-29 13:54:21 -06:00
core_priv.h RDMA/core: Increase total number of RDMA ports across all devices 2018-10-16 14:36:20 -04:00
cq.c RDMA/restrack: Consolidate task name updates in one place 2018-10-05 16:07:39 -06:00
device.c RDMA/core: Refactor ib_register_device() function 2018-10-17 11:43:07 -04:00
fmr_pool.c RDMA/core: Use dev_name instead of ibdev->name 2018-09-26 13:51:48 -06:00
iwcm.c RDMA/core: Use dev_name instead of ibdev->name 2018-09-26 13:51:48 -06:00
iwcm.h
iwpm_msg.c RDMA/iwpm: Properly mark end of NL messages 2017-09-29 11:32:42 -04:00
iwpm_util.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
iwpm_util.h
mad.c RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
mad_priv.h RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
mad_rmpp.c IB/mad: Change slid in RMPP recv from 16 to 32 bits 2017-08-08 14:47:18 -04:00
mad_rmpp.h
Makefile IB/uverbs: Remove struct uverbs_root_spec and all supporting code 2018-08-13 09:17:19 -06:00
mr_pool.c
multicast.c IB: Make ib_init_ah_from_mcmember set sgid_attr 2018-06-25 14:19:56 -06:00
netlink.c RDMA/netlink: Simplify netlink listener existence check 2018-10-03 16:06:07 -06:00
nldev.c RDMA/nldev: Allow IB device rename through RDMA netlink 2018-10-16 13:37:16 -04:00
opa_smi.h
packer.c
rdma_core.c RDMA/uverbs: Get rid of ucontext->tgid 2018-09-21 11:58:36 -04:00
rdma_core.h RDMA/ucontext: Add a core API for mmaping driver IO memory 2018-09-20 16:19:30 -04:00
restrack.c RDMA/restrack: Protect from reentry to resource return path 2018-10-16 08:24:36 -06:00
roce_gid_mgmt.c IB/core: Fix oops in netdev_next_upper_dev_rcu() 2018-12-12 12:14:49 -05:00
rw.c IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]() 2018-10-17 12:18:20 -05:00
sa.h RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
sa_query.c RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
security.c RDMA/core: Use dev_name instead of ibdev->name 2018-09-26 13:51:48 -06:00
smi.c
smi.h
sysfs.c RDMA/core: Fix comment for hw stats init for port == 0 2018-10-17 11:43:07 -04:00
ucm.c IB/ucm: Fix Spectre v1 vulnerability 2018-10-16 11:32:40 -04:00
ucma.c RDMA/ucma: Fix Spectre v1 vulnerability 2018-10-16 12:47:40 -04:00
ud_header.c
umem.c RDMA/core: Acquire and release mmap_sem on page range 2018-09-27 12:40:20 -06:00
umem_odp.c IB/umem: Set correct address to the invalidation function 2018-11-26 16:28:36 -07:00
user_mad.c RDMA/umad: Use kernel API to allocate umad indexes 2018-10-16 14:36:21 -04:00
uverbs.h RDMA/ucontext: Add a core API for mmaping driver IO memory 2018-09-20 16:19:30 -04:00
uverbs_cmd.c Merge branch 'for-rc' into rdma.git for-next 2018-10-16 00:01:02 -06:00
uverbs_ioctl.c RDMA/uverbs: Fix RCU annotation for radix slot deference 2018-10-03 16:01:40 -06:00
uverbs_main.c RDMA/uverbs: Use kernel API to allocate uverbs indexes 2018-10-16 14:36:21 -04:00
uverbs_marshall.c IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *' 2018-06-25 14:19:57 -06:00
uverbs_std_types.c IB/uverbs: Remove the ib_uverbs_attr pointer from each attr 2018-08-10 16:06:24 -06:00
uverbs_std_types_counters.c IB/uverbs: Use uverbs_alloc for allocations 2018-08-13 09:16:13 -06:00
uverbs_std_types_cq.c IB/uverbs: Do not pass struct ib_device to the ioctl methods 2018-08-01 14:55:48 -06:00
uverbs_std_types_dm.c IB/uverbs: Do not pass struct ib_device to the ioctl methods 2018-08-01 14:55:48 -06:00
uverbs_std_types_flow_action.c RDMA/uverbs: Add generic function to fill in flow action object 2018-09-05 15:23:59 -06:00
uverbs_std_types_mr.c IB/uverbs: Do not pass struct ib_device to the ioctl methods 2018-08-01 14:55:48 -06:00
uverbs_uapi.c Merge branch 'for-rc' into rdma.git for-next 2018-10-16 00:01:02 -06:00
verbs.c First merge window pull request 2018-10-26 07:38:19 -07:00