nuttx/net
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
..
arp net/arp/arp_send.c: replace net_lock with netdev_lock 2025-12-29 09:42:18 +08:00
bluetooth style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
can net: change conn lock from mutex to rmutex 2025-12-29 09:42:18 +08:00
devif net: protect the older network cards driver's tx and rx process 2025-12-29 09:42:18 +08:00
icmp net: change conn lock from mutex to rmutex 2025-12-29 09:42:18 +08:00
icmpv6 net: change conn lock from mutex to rmutex 2025-12-29 09:42:18 +08:00
ieee802154 style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
igmp igmp_msg.c:mod check of IGMP_SCHEDMSG from assert to error log 2025-12-25 09:58:14 +08:00
inet net/inet: replace net_lock with conn_lock 2025-12-29 09:42:18 +08:00
ipfilter fix compile warning with implicit declaration of function 'icmp_reply' 2024-10-08 22:30:11 +08:00
ipforward net/net_initialize: remove the empty functions that are not needed 2025-12-25 09:50:40 +08:00
ipfrag net/netdev: separate netdev_list_lock from net_lock 2025-12-29 09:42:18 +08:00
local local: correct shutdown state when use UDP mode 2025-07-07 23:45:35 +08:00
mld mld: free all mld group when netdev unregister 2025-12-25 08:35:04 -03:00
nat net/nat: replace net_lock with nat_lock(mutex) 2025-12-29 09:42:18 +08:00
neighbor net/ethernet: ARP can be configured on interface 2025-12-25 12:23:38 +08:00
netdev net/utils/net_lock.c: add api to lock conn and netdev 2025-12-29 09:42:18 +08:00
netfilter fix compile warning with ipt_sockopt.c and ip6t_sockopt.c: implicit declaration of function 'popcount' 2024-10-08 22:30:11 +08:00
netlink net/bufpool: fix typo 2025-12-25 08:33:13 -03:00
pkt net: change conn lock from mutex to rmutex 2025-12-29 09:42:18 +08:00
procfs net/tcp: replace net_lock with conn_lock and conn_lock_dev 2025-12-29 09:42:18 +08:00
route style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rpmsg net: Split msg_iovlen check in recvmsg into each protocol 2025-01-20 17:12:14 +08:00
sixlowpan style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
socket net/udp: Support zero-length UDP datagrams 2025-12-27 20:38:47 +08:00
tcp net: change conn lock from mutex to rmutex 2025-12-29 09:42:18 +08:00
udp net: change conn lock from mutex to rmutex 2025-12-29 09:42:18 +08:00
usrsock net/bufpool: fix typo 2025-12-25 08:33:13 -03:00
utils net: change conn lock from mutex to rmutex 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/can: add write buffer to support nonblock send 2025-12-15 10:19:15 +08:00
Makefile Revert "build depend:Revert Make.dep intermediate ddc file" 2024-09-15 19:29:47 +08:00
net_initialize.c net/net_initialize: remove the empty functions that are not needed 2025-12-25 09:50:40 +08:00