From: Jason Gunthorpe Date: Fri, 11 Jun 2021 16:00:33 +0000 (+0300) Subject: RDMA/core: Allow port_groups to be used with namespaces X-Git-Tag: v5.15.73~11667^2~74 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=69d86a66bdf0d5aa7e687751203e5e6a94124fb5;p=platform%2Fkernel%2Flinux-rpi.git RDMA/core: Allow port_groups to be used with namespaces Now that the port_groups data is being destroyed and managed by the core code this restriction is no longer needed. All the ib_port_attrs are compatible with the core's sysfs lifecycle. When the main device is destroyed and moved to another namespace the driver's port sysfs can be created/destroyed as well due to it now being a simple attribute list. Link: https://lore.kernel.org/r/afd8b676eace2821692d44489ff71856277c48d1.1623427137.git.leonro@nvidia.com Signed-off-by: Leon Romanovsky Signed-off-by: Jason Gunthorpe --- diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c index 2cbd77933ea5..92f224a97481 100644 --- a/drivers/infiniband/core/device.c +++ b/drivers/infiniband/core/device.c @@ -1698,13 +1698,11 @@ int ib_device_set_netns_put(struct sk_buff *skb, } /* - * Currently supported only for those providers which support - * disassociation and don't do port specific sysfs init. Once a - * port_cleanup infrastructure is implemented, this limitation will be - * removed. + * All the ib_clients, including uverbs, are reset when the namespace is + * changed and this cannot be blocked waiting for userspace to do + * something, so disassociation is mandatory. */ - if (!dev->ops.disassociate_ucontext || dev->ops.port_groups || - ib_devices_shared_netns) { + if (!dev->ops.disassociate_ucontext || ib_devices_shared_netns) { ret = -EOPNOTSUPP; goto ns_err; }