RDMA/core: Allow detaching gid attribute netdevice for RoCE
When there is active traffic through a GID, a QP/AH holds reference to this GID entry. RoCE GID entry holds reference to its attached netdevice. Due to this when netdevice is deleted by admin user, its refcount is not dropped. Therefore, while deleting RoCE GID, wait for all GID attribute's netdev users to finish accessing netdev in rcu context. Once all users done accessing it, release the netdev refcount. Signed-off-by: Huy Nguyen <huyn@mellanox.com> Signed-off-by: Parav Pandit <parav@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:

zatwierdzone przez
Jason Gunthorpe

rodzic
5102eca903
commit
943bd984b1
@@ -124,7 +124,7 @@ enum ib_gid_type {
|
||||
|
||||
#define ROCE_V2_UDP_DPORT 4791
|
||||
struct ib_gid_attr {
|
||||
struct net_device *ndev;
|
||||
struct net_device __rcu *ndev;
|
||||
struct ib_device *device;
|
||||
union ib_gid gid;
|
||||
enum ib_gid_type gid_type;
|
||||
|
Reference in New Issue
Block a user