hsr: hold rcu and dev lock for hsr_get_port_ndev
authorHangbin Liu <liuhangbin@gmail.com>
Fri, 5 Sep 2025 09:15:33 +0000 (09:15 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 11 Sep 2025 09:49:19 +0000 (11:49 +0200)
commit847748fc66d08a89135a74e29362a66ba4e3ab15
tree7ea317895bccd7085aea1b15fbc5aea0aa9fac97
parent393c841fe4333cdd856d0ca37b066d72746cfaa6
hsr: hold rcu and dev lock for hsr_get_port_ndev

hsr_get_port_ndev calls hsr_for_each_port, which need to hold rcu lock.
On the other hand, before return the port device, we need to hold the
device reference to avoid UaF in the caller function.

Suggested-by: Paolo Abeni <pabeni@redhat.com>
Fixes: 9c10dd8eed74 ("net: hsr: Create and export hsr_get_port_ndev()")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250905091533.377443-4-liuhangbin@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/ti/icssg/icssg_prueth.c
net/hsr/hsr_device.c