Re: [PATCH RDMA v2] RDMA/rxe: add mutual exclusion in rxe_net_del()
From: Edward Adam Davis
Date: Sat May 16 2026 - 21:57:18 EST
On Sat, 16 May 2026 16:40:22 -0700, Zhu Yanjun wrote:
> diff --git a/drivers/infiniband/sw/rxe/rxe.c
> b/drivers/infiniband/sw/rxe/rxe.c
> index b0714f9abe3d..84266dc416c4 100644
> --- a/drivers/infiniband/sw/rxe/rxe.c
> +++ b/drivers/infiniband/sw/rxe/rxe.c
> @@ -251,7 +251,9 @@ static int rxe_newlink(const char *ibdev_name,
> struct net_device *ndev)
>
> static int rxe_dellink(struct ib_device *dev)
> {
> + rtnl_lock();
> rxe_net_del(dev);
> + rtnl_unlock();
>
> return 0;
> }
> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c
> b/drivers/infiniband/sw/rxe/rxe_net.c
> index 50a2cb5405e2..ac53ea73996d 100644
> --- a/drivers/infiniband/sw/rxe/rxe_net.c
> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> @@ -649,6 +649,8 @@ void rxe_net_del(struct ib_device *dev)
> struct sock *sk;
> struct net *net;
>
> + ASSERT_RTNL();
> +
> ndev = rxe_ib_device_get_netdev(&rxe->ib_dev);
> if (!ndev)
> return;
Since the solution is the same, and requires no new locks, I favor your
approach.
BR,
Edward