nuttx/net/udp
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 net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
Kconfig net: Enable dynamic allocation of tcp/udp/ipfwd buffer by default 2025-01-07 22:00:21 +08:00
Make.defs net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
udp.h net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_callback.c net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_close.c net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_conn.c net: change conn lock from mutex to rmutex 2025-12-29 09:42:18 +08:00
udp_devpoll.c net/udp: Support zero-length UDP datagrams 2025-12-27 20:38:47 +08:00
udp_finddev.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
udp_input.c net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_ioctl.c net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_ipselect.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
udp_netpoll.c net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_notifier.c udp:Resolve UDP exit delay due to high CPU usage 2025-12-29 09:42:18 +08:00
udp_recvfrom.c net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_send.c net/udp: Support zero-length UDP datagrams 2025-12-27 20:38:47 +08:00
udp_sendto_buffered.c net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_sendto_unbuffered.c net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_setsockopt.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00
udp_txdrain.c net/udp: remove net_lock 2025-12-29 09:42:18 +08:00
udp_wrbuffer.c net/udp: fix build error when NET_UDP_WRITE_BUFFERS disable 2025-12-10 23:44:14 +08:00
udp_wrbuffer_dump.c net: migrate to SPDX identifier 2024-09-12 01:08:11 +08:00