devlink: call peernet2id_alloc() with net pointer under RCU read lock
authorJiri Pirko <jiri@nvidia.com>
Fri, 13 Oct 2023 12:10:24 +0000 (14:10 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Oct 2023 08:23:01 +0000 (09:23 +0100)
commitc503bc7df602257e9d03851654a347649a33f3c3
treebc45f05aa5587b0c10c8369949a3430d8267e3f5
parent2034d90ae41ae93e30d492ebcf1f06f97a9cfba6
devlink: call peernet2id_alloc() with net pointer under RCU read lock

peernet2id_alloc() allows to be called lockless with peer net pointer
obtained in RCU critical section and makes sure to return ns ID if net
namespaces is not being removed concurrently. Benefit from
read_pnet_rcu() helper addition, use it to obtain net pointer under RCU
read lock and pass it to peernet2id_alloc() to get ns ID.

Fixes: c137743bce02 ("devlink: introduce object and nested devlink relationship infra")
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/devlink/netlink.c