linux_dsm_epyc7002/drivers/infiniband
Parav Pandit c31d4b2ddf RDMA/core: Protect against changing dst->dev during destination resolve
During resolving address process, during route lookup and while performing
src address translation in case of loopback mode, hold the rcu lock so
that if netdevice is moving to different net namespace, or being
unregistered, it can be synchronized with net/core/dev.c, ie

change_net_namespace()
->dev_close_many()
  ->rt6_uncached_list_flush_dev() who would change dst->dev

to loopback device of the given net namespace.

Therefore, hold the rcu lock and sync with synchronize_net() of
change_net_namespace() to ensure that netdevice cannot get freed while
dst->dev is being used.

Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-09-12 16:32:16 -06:00
..
core RDMA/core: Protect against changing dst->dev during destination resolve 2018-09-12 16:32:16 -06:00
hw IB/mlx5: Allow transition of DCI QP to reset 2018-09-12 14:58:17 -06:00
sw IB/{hfi1, qib, rdmavt}: Schedule multi RC/UC packets instead of posting 2018-09-11 09:55:02 -06:00
ulp IB/ipoib: Ensure that MTU isn't less than minimum permitted 2018-09-06 13:35:16 -06:00
Kconfig IB/ucm: fix UCM link error 2018-08-21 16:56:32 -06:00
Makefile IB/rdmavt: Create module framework and handle driver registration 2016-03-10 20:37:04 -05:00