From 4f7e03db2ef7bdcfbc56dc4def8ab41067472f15 Mon Sep 17 00:00:00 2001 From: zhanghongyu Date: Tue, 22 Apr 2025 15:28:41 +0800 Subject: [PATCH] netdev_upperhalf.c: add net_lock when vlan_foreach avoid illegal address access caused by removing vlan network cards during the traversal of vlan network cards Signed-off-by: zhanghongyu --- drivers/net/netdev_upperhalf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/netdev_upperhalf.c b/drivers/net/netdev_upperhalf.c index 3c9e0438f8e..185e160d98e 100644 --- a/drivers/net/netdev_upperhalf.c +++ b/drivers/net/netdev_upperhalf.c @@ -483,6 +483,7 @@ netdev_upper_vlan_foreach(FAR struct netdev_upperhalf_s *upper, { int i; + net_lock(); for (i = 0; i < CONFIG_NET_VLAN_COUNT; i++) { if (upper->vlan[i].dev) @@ -490,6 +491,8 @@ netdev_upper_vlan_foreach(FAR struct netdev_upperhalf_s *upper, cb(upper->vlan[i].dev); } } + + net_unlock(); } #endif