Commit ed7231f5 authored by Joe Damato's avatar Joe Damato Committed by Jakub Kicinski
Browse files

netdev-genl: Hold rcu_read_lock in napi_set

Hold rcu_read_lock during netdev_nl_napi_set_doit, which calls
napi_by_id and requires rcu_read_lock to be held.

Closes: https://lore.kernel.org/netdev/719083c2-e277-447b-b6ea-ca3acb293a03@redhat.com/


Fixes: 1287c1ae ("netdev-genl: Support setting per-NAPI config values")
Signed-off-by: default avatarJoe Damato <jdamato@fastly.com>
Link: https://patch.msgid.link/20241114175600.18882-1-jdamato@fastly.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 6cd663f0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -346,6 +346,7 @@ int netdev_nl_napi_set_doit(struct sk_buff *skb, struct genl_info *info)
	napi_id = nla_get_u32(info->attrs[NETDEV_A_NAPI_ID]);

	rtnl_lock();
	rcu_read_lock();

	napi = napi_by_id(napi_id);
	if (napi) {
@@ -355,6 +356,7 @@ int netdev_nl_napi_set_doit(struct sk_buff *skb, struct genl_info *info)
		err = -ENOENT;
	}

	rcu_read_unlock();
	rtnl_unlock();

	return err;