diff options
| author | Parav Pandit <parav@nvidia.com> | 2025-06-26 21:58:08 +0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-08-15 16:39:02 +0200 |
| commit | 09f5abee9ac0569f131d4e94b93456100400cbf2 (patch) | |
| tree | a972c973abc46778be2726400f44ac9887235e7c /drivers/infiniband | |
| parent | bd6919d437d8e0e07f0065547611eca1889cfb53 (diff) | |
| download | linux-09f5abee9ac0569f131d4e94b93456100400cbf2.tar.gz linux-09f5abee9ac0569f131d4e94b93456100400cbf2.tar.bz2 linux-09f5abee9ac0569f131d4e94b93456100400cbf2.zip | |
RDMA/uverbs: Check CAP_NET_RAW in user namespace for RAW QP create
[ Upstream commit a6dca091ba7646ff5304af660c94fa51b6696476 ]
Currently, the capability check is done in the default
init_user_ns user namespace. When a process runs in a
non default user namespace, such check fails. Due to this
when a process is running using Podman, it fails to create
the QP.
Since the RDMA device is a resource within a network namespace,
use the network namespace associated with the RDMA device to
determine its owning user namespace.
Fixes: 6d1e7ba241e9 ("IB/uverbs: Introduce create/destroy QP commands over ioctl")
Signed-off-by: Parav Pandit <parav@nvidia.com>
Link: https://patch.msgid.link/7b6b87505ccc28a1f7b4255af94d898d2df0fff5.1750963874.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/infiniband')
| -rw-r--r-- | drivers/infiniband/core/uverbs_std_types_qp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/core/uverbs_std_types_qp.c b/drivers/infiniband/core/uverbs_std_types_qp.c index 7b4773fa4bc0..be0730e8509e 100644 --- a/drivers/infiniband/core/uverbs_std_types_qp.c +++ b/drivers/infiniband/core/uverbs_std_types_qp.c @@ -133,7 +133,7 @@ static int UVERBS_HANDLER(UVERBS_METHOD_QP_CREATE)( device = xrcd->device; break; case IB_UVERBS_QPT_RAW_PACKET: - if (!capable(CAP_NET_RAW)) + if (!rdma_uattrs_has_raw_cap(attrs)) return -EPERM; fallthrough; case IB_UVERBS_QPT_RC: |
