hsr: use rtnl lock when iterating over ports
authorHangbin Liu <liuhangbin@gmail.com>
Fri, 5 Sep 2025 09:15:31 +0000 (09:15 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 11 Sep 2025 09:49:19 +0000 (11:49 +0200)
commit8884c693991333ae065830554b9b0c96590b1bb2
tree9fe53993506ffcb3baa0778bd88a2295cdebc0e2
parent3a1a66d124547f2a4896bf346a33ebe6eb301bf4
hsr: use rtnl lock when iterating over ports

hsr_for_each_port is called in many places without holding the RCU read
lock, this may trigger warnings on debug kernels. Most of the callers
are actually hold rtnl lock. So add a new helper hsr_for_each_port_rtnl
to allow callers in suitable contexts to iterate ports safely without
explicit RCU locking.

This patch only fixed the callers that is hold rtnl lock. Other caller
issues will be fixed in later patches.

Fixes: c5a759117210 ("net/hsr: Use list_head (and rcu) instead of array for slave devices.")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250905091533.377443-2-liuhangbin@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/hsr/hsr_device.c
net/hsr/hsr_main.c
net/hsr/hsr_main.h