diff options
| author | Parav Pandit <[email protected]> | 2025-06-26 18:58:10 +0000 |
|---|---|---|
| committer | Leon Romanovsky <[email protected]> | 2025-07-02 09:11:44 +0000 |
| commit | bd82467f17e0940c6f6a5396278cda586c9cb6fd (patch) | |
| tree | 8ec7cc0de30cfc15da04ce58d528f788857ec1e7 /drivers/infiniband/hw/mlx5/devx.c | |
| parent | RDMA/uverbs: Check CAP_NET_RAW in user namespace for RAW QP create (diff) | |
| download | kernel-bd82467f17e0940c6f6a5396278cda586c9cb6fd.tar.gz kernel-bd82467f17e0940c6f6a5396278cda586c9cb6fd.zip | |
RDMA/mlx5: Check CAP_NET_RAW in user namespace for devx create
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 devx object.
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: a8b92ca1b0e5 ("IB/mlx5: Introduce DEVX")
Signed-off-by: Parav Pandit <[email protected]>
Link: https://patch.msgid.link/36ee87e92defd81410c6a2b33f9d6c0d6dcfd64c.1750963874.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <[email protected]>
Diffstat (limited to 'drivers/infiniband/hw/mlx5/devx.c')
| -rw-r--r-- | drivers/infiniband/hw/mlx5/devx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mlx5/devx.c b/drivers/infiniband/hw/mlx5/devx.c index 2479da8620ca..c03fe5414b9a 100644 --- a/drivers/infiniband/hw/mlx5/devx.c +++ b/drivers/infiniband/hw/mlx5/devx.c @@ -159,7 +159,7 @@ int mlx5_ib_devx_create(struct mlx5_ib_dev *dev, bool is_user, u64 req_ucaps) uctx = MLX5_ADDR_OF(create_uctx_in, in, uctx); if (is_user && (MLX5_CAP_GEN(dev->mdev, uctx_cap) & MLX5_UCTX_CAP_RAW_TX) && - capable(CAP_NET_RAW)) + rdma_dev_has_raw_cap(&dev->ib_dev)) cap |= MLX5_UCTX_CAP_RAW_TX; if (is_user && (MLX5_CAP_GEN(dev->mdev, uctx_cap) & |
