nuttx/net/utils
zhanghongyu 0900b21217 net: change conn lock from mutex to rmutex
UDP and PKT will hold the dev lock and conn lock when calling back the
protocol stack from the network dirver. At this time, if the poll_notify
notifies usrsock_server and executes poll_teardown, a conn double lock
will appear. so we changed the lock to a recursive lock

sched_dumpstack
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/Libs/libc/sched/sched_dumpstack.c:71
__assert
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/libs/libc/assert/lib_assert.c:49
nxsem_wait_slow
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/sched/semaphore/sem_wait.c:102 (discriminator 1)
nxmutex_lock
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/include/nuttx/mutex.h:514
udp_pollteardown
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/net/udp/udp_netpoll.c:278
usrsock_rpmsg_poll_setup
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/drivers/usrsock/usrsock_rpmsg_server.c:1232
usrsock_rpmsg_poll_cb
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/drivers/usrsock/usrsock_rpmsg_server.c:1299
poll_notify
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/fs/vfs/fs_poll.c:296
udp_poll_eventhandler
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/net/udp/udp_netpoll.c:105
devif_conn_event
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/net/devif/devif_callback.c:481
udp_callback
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/net/udp/udp_callback.c:324
udp_input_conn
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/net/udp/udp_input.c:150
ipv4_in
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/net/devif/ipv4_input.c:425
ipv4_input
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/net/devif/ipv4_input.c:533
tun_net_receive_tun
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/drivers/net/tun.c:574
tun_net_receive_tun
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/drivers/net/tun.c:574
file_writev_compat
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/fs/vfs/fs_write.c:89
rpmsgdev_write_handler
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/drivers/misc/rpmsgdev_server.c:354
rpmsg_virtio_process_rx_buffer
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/drivers/rpmsg/rpmsg_virtio.c:256
rpmsg_virtio_rx_worker
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/drivers/rpmsg/rpmsg_virtio.c:291
work_dispatch
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/sched/wqueue/kwork_thread.c:233
work_thread
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/sched/wqueue/kwork_thread.c:293
nxtask_start
/home/work/ssd1/workspace/MiRTOS-062-dev-system-CI/nuttx/sched/task/task_start.c:99

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2025-12-29 09:42:18 +08:00
..
CMakeLists.txt nuttx/net: Expose the net_ipv6addr_maskcmp interface to user-mode calls 2025-12-25 22:13:43 +08:00
Kconfig net: Rename tcp_dataconcat to net_iob_concat 2023-07-18 10:51:45 +08:00
Make.defs nuttx/net: Expose the net_ipv6addr_maskcmp interface to user-mode calls 2025-12-25 22:13:43 +08:00
net_bufpool.c net/utils/net_bufpool: add lock to struct net_bufpool_s and bufpool_navail 2025-12-07 11:11:21 +08:00
net_chksum.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_cmsg.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_dsec2tick.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_dsec2timeval.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_icmpchksum.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_incr32.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_iob_concat.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_ipchksum.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
net_ipv6_payload.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_ipv6_pref2mask.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_lock.c net: change conn lock from mutex to rmutex 2025-12-29 09:42:18 +08:00
net_mask2pref.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
net_snoop.c net: unify Private Types banners 2025-05-28 10:17:15 +08:00
net_tcpchksum.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_timeval2dsec.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
net_udpchksum.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
utils.h net/utils/net_lock.c: add api to lock conn and netdev 2025-12-29 09:42:18 +08:00