tolomae opened a new issue, #19849:
URL: https://github.com/apache/nuttx/issues/19849

   ### Description / Steps to reproduce the issue
   
   # Summary
   
   We believe to have found a use-after-free race condition between 
tcp_timer_expiry() and tcp_stop_timer() in net/tcp/tcp_timer.c. Under network 
disruption (peer resets, cable pulls, rapid reconnects), it can either crash 
the board or leave the TCP/IP stack permanently deadlocked while the rest of 
the system keeps running.
   
   # Environment
   
   - Board: custom hardware, ESP32-P4, silicon revision 1.3
   - Build: single-core NuttX (CONFIG_SMP not set)
   - Network: Ethernet via the ESP32-P4 EMAC driver (CONFIG_ESPRESSIF_EMAC=y)
   - NuttX version: 13.0.0 commit 8b49e46b9e (nuttx-8.2-26649-g8b49e46b9e)
   - Relevant config: CONFIG_NET_TCP=y, default work queue setup (LPWORK)
   
   # Symptoms
   
   We have an app that periodically sends and receives data on a TCP/IP client 
socket. When the connection gets stale, the app automatically tries to 
establish a new connection to the host. When this connection gets repeatedly 
disrupted (by stopping the server, pulling the network cable, or killing the 
TCP connection), we observed either
   
   1) the board crashing alltogether
   2) the firmware running, but with all network access stopped (no ping, no 
tcp client / servers working anymore)
   
   When in state (2), a call to any IP related app (like ifconfig, ping etc.) 
would then result in the firmware hanging completly.
   
   # What we found
   
   We caught the crash live under JTAG by breaking on riscv_exception. Three 
separate captures all showed the identical signature:
   
   ```
   mcause = 5        (Load Access Fault)
   mtval  = 0x24
   a0     = 0x14
   ```
   
   a0 (the argument to the faulting call) turned out to match `offsetof(struct 
net_driver_s, d_lock)` exactly:
   
   ```
   (gdb) print &((struct net_driver_s *)0)->d_lock
   $1 = (rmutex_t *) 0x14
   ```
   
   And disassembly of the faulting functions entry 
(`nxrmutex_unlock`/`nxsem_trywait`, depending on capture) confirmed it 
dereferences `a0 + 0x10` on its first instruction, where `0x14 + 0x10 = 0x24`, 
matches `mtval`. So it seemed like every crash was some lock-handling call made 
with a device pointer of exactly `NULL`.
   
   Searching the network stack for callers that pass a device pointer into a 
lock/unlock call without a NULL check turned up only `tcp_timer_expiry()` in 
`tcp_timer.c`, which reads `conn->dev` three separate times with no guard at 
all:
   
   ```
   netdev_lock(conn->dev);
   netdev_txnotify_dev(conn->dev, TCP_POLL);
   netdev_unlock(conn->dev);
   ```
   
   It's queued via `work_queue(LPWORK, &conn->work, tcp_timer_expiry, ...)`, 
and each of our captures had work_thread/lpwork on the stack.
   
   Looking for how the pointer was cleared to NULL, what we think is happening 
is the following: after the socket is closed using `tcp_free()`, the whole 
struct is cleared in `net_bufpool_free`:
   
   ```
   memset(net_bufnode, 0, pool->nodesize);   /* zeroes the whole struct, 
including dev */
   ```
   
   Though `tcp_free()` also tries to stop the timer using `tcp_stop_timer`, 
this function internally uses the async `work_cancel()`. We believe the async 
cancel only cancels the timer if it has not yet fired, which leaves a window 
where `tcp_timer_expiry` might run with a zeroed out structure.
   
   # Conclusion
   
   While the above is just our best guess on how the crashes came to be, we 
tried replacing `work_cancel` with `work_cancel_sync` and have since not seen 
any crashes.
   
   The crashes are somewhat reproducible, though it typically takes 10-15 
minutes of disrupting the TCP connection. So should there be any useful things 
to check with GDB, we'll be happy to do so.
   
   ### On which OS does this issue occur?
   
   [OS: Windows]
   
   ### What is the version of your OS?
   
   Windows 11, with Nuttx compiled in WSL
   
   ### NuttX Version
   
   13.0.0
   
   ### Issue Architecture
   
   [Arch: risc-v]
   
   ### Issue Area
   
   [Area: Networking]
   
   ### Host information
   
   make host_info
   /usr/bin/bash: line 1: riscv64-unknown-elf-gcc: command not found
   file sysinfo.h not exists
   NuttX configuration options:
     CONFIG_EXPERIMENTAL=y
     CONFIG_HOST_LINUX=y
     CONFIG_APPS_DIR="../nuttx-apps"
     CONFIG_BASE_DEFCONFIG="../board/configs/ethernet"
     CONFIG_BUILD_FLAT=y
     CONFIG_INTELHEX_BINARY=y
     CONFIG_OUTPUT_STRIP_PATHS=y
     CONFIG_ARCH_HAVE_STDARG_H=y
     CONFIG_ARCH_HAVE_SETJMP=y
     CONFIG_ARCH_NONE_DEBUG_H=y
     CONFIG_FORTIFY_SOURCE=0
     CONFIG_ASSERTIONS_FILENAME=y
     CONFIG_DEBUG_ALERT=y
     CONFIG_SCHED_DUMP_TASKS=y
     CONFIG_DEBUG_FEATURES=y
     CONFIG_DEBUG_ERROR=y
     CONFIG_DEBUG_WARN=y
     CONFIG_DEBUG_INFO=y
     CONFIG_DEBUG_FS=y
     CONFIG_DEBUG_NET=y
     CONFIG_DEBUG_NET_ERROR=y
     CONFIG_ARCH_HAVE_STACKCHECK=y
     CONFIG_STACK_COLORATION=y
     CONFIG_STACK_USAGE_WARNING=0
     CONFIG_DEBUG_SYMBOLS=y
     CONFIG_DEBUG_SYMBOLS_LEVEL="-g"
     CONFIG_ARCH_HAVE_CUSTOMOPT=y
     CONFIG_DEBUG_FULLOPT=y
     CONFIG_LTO_NONE=y
     CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
     CONFIG_DEBUG_LINK_MAP=y
     CONFIG_ARCH_RISCV=y
     CONFIG_ARCH="risc-v"
     CONFIG_ARCH_FAMILY="rv32"
     CONFIG_ARCH_CHIP="esp32p4"
     CONFIG_ARCH_CHIP_ESP32P4=y
     CONFIG_ARCH_RV32=y
     CONFIG_ARCH_RV_ISA_M=y
     CONFIG_ARCH_RV_ISA_A=y
     CONFIG_ARCH_RV_ISA_C=y
     CONFIG_ARCH_RV_ISA_ZICSR_ZIFENCEI=y
     CONFIG_ARCH_RV_ISA_VENDOR_EXTENSIONS=""
     CONFIG_ARCH_RV_MMIO_BITS=32
     CONFIG_ARCH_RV_HARTID_BASE=0
     CONFIG_RISCV_TOOLCHAIN_GNU_RV64=y
     CONFIG_ESPRESSIF_CHIP_SERIES="esp32p4"
     CONFIG_ESPRESSIF_FLASH_16M=y
     CONFIG_ESPRESSIF_DONT_USE_ROM_LIBC=y
     CONFIG_ESPRESSIF_SPIRAM=y
     CONFIG_ESPRESSIF_SPIRAM_BOOT_INIT=y
     CONFIG_ESPRESSIF_SPIRAM_MEMTEST=y
     CONFIG_ESPRESSIF_SPIRAM_SPEED_200M=y
     CONFIG_ESPRESSIF_SPIRAM_SPEED=200
     CONFIG_ESPRESSIF_SPIRAM_USER_HEAP=y
     CONFIG_ESPRESSIF_NUM_CPUS=2
     CONFIG_ESPRESSIF_CPU_FREQ_360=y
     CONFIG_ESPRESSIF_CPU_FREQ_MHZ=360
     CONFIG_ESPRESSIF_REGION_PROTECTION=y
     CONFIG_ESPRESSIF_LOG_LEVEL_ERROR=y
     CONFIG_ESPRESSIF_LOG_LEVEL_WARN=y
     CONFIG_ESPRESSIF_LOG_LEVEL_INFO=y
     CONFIG_ESPRESSIF_LOG_LEVEL=3
     CONFIG_ESPRESSIF_SIMPLE_BOOT=y
     CONFIG_ESPRESSIF_RTC=y
     CONFIG_ESPRESSIF_UART=y
     CONFIG_ESPRESSIF_UART0=y
     CONFIG_ESPRESSIF_SPI=y
     CONFIG_ESPRESSIF_SPI_PERIPH=y
     CONFIG_ESPRESSIF_SPI2=y
     CONFIG_ESPRESSIF_SPI3=y
     CONFIG_ESPRESSIF_SPIFLASH=y
     CONFIG_ESPRESSIF_HR_TIMER=y
     CONFIG_ESPRESSIF_BROWNOUT_DET=y
     CONFIG_ESPRESSIF_EMAC=y
     CONFIG_ESPRESSIF_ETH_NRXDESC=20
     CONFIG_ESPRESSIF_ETH_NTXDESC=20
     CONFIG_ESPRESSIF_ETH_DMA_BUFFER_SIZE=512
     CONFIG_ESPRESSIF_ETH_TX_MAX_RETRIES=32
     CONFIG_ESPRESSIF_ETH_PHY_ADDR=0
     CONFIG_ESPRESSIF_ETH_MDC_GPIO=1
     CONFIG_ESPRESSIF_ETH_MDIO_GPIO=2
     CONFIG_ESPRESSIF_ETH_RMII_CLK_GPIO=50
     CONFIG_ESPRESSIF_ETH_RMII_TX_EN_GPIO=49
     CONFIG_ESPRESSIF_ETH_RMII_TXD0_GPIO=41
     CONFIG_ESPRESSIF_ETH_RMII_TXD1_GPIO=42
     CONFIG_ESPRESSIF_ETH_RMII_CRS_DV_GPIO=51
     CONFIG_ESPRESSIF_ETH_RMII_RXD0_GPIO=52
     CONFIG_ESPRESSIF_ETH_RMII_RXD1_GPIO=53
     CONFIG_ESPRESSIF_ETH_ENABLE_PHY_RSTPIN=y
     CONFIG_ESPRESSIF_ETH_PHY_RST_GPIO=46
     CONFIG_ESPRESSIF_UART0_TXPIN=37
     CONFIG_ESPRESSIF_UART0_RXPIN=38
     CONFIG_ESPRESSIF_SPI_SWCS=y
     CONFIG_ESPRESSIF_SPI_UDCS=y
     CONFIG_ESPRESSIF_SPI2_MODE_MASTER=y
     CONFIG_ESPRESSIF_SPI2_CSPIN=22
     CONFIG_ESPRESSIF_SPI2_CLKPIN=18
     CONFIG_ESPRESSIF_SPI2_MOSIPIN=17
     CONFIG_ESPRESSIF_SPI2_MISOPIN=19
     CONFIG_ESPRESSIF_SPI3_MODE_MASTER=y
     CONFIG_ESPRESSIF_SPI3_CSPIN=8
     CONFIG_ESPRESSIF_SPI3_CLKPIN=7
     CONFIG_ESPRESSIF_SPI3_MOSIPIN=11
     CONFIG_ESPRESSIF_SPI3_MISOPIN=5
     CONFIG_ESPRESSIF_FLASH_MODE_DIO=y
     CONFIG_ESPRESSIF_FLASH_FREQ_80M=y
     CONFIG_ESPRESSIF_FLASH_FREQ="80m"
     CONFIG_ESPRESSIF_MTD=y
     CONFIG_ESPRESSIF_SPIFLASH_MTD_BLKSIZE=64
     CONFIG_ESPRESSIF_STORAGE_MTD_OFFSET=0x800000
     CONFIG_ESPRESSIF_STORAGE_MTD_SIZE=0x800000
     CONFIG_ESPRESSIF_RTC_CLK_INT_RC=y
     CONFIG_ESPRESSIF_BROWNOUT_DET_LVL_SEL_7=y
     CONFIG_ESPRESSIF_BROWNOUT_DET_LVL=7
     CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y
     CONFIG_ESP32P4_REV_MIN_100=y
     CONFIG_ESP32P4_REV_MIN_FULL=100
     CONFIG_ESP_REV_MIN_FULL=100
     CONFIG_ESP32P4_REV_MAX_FULL=199
     CONFIG_ESP_REV_MAX_FULL=199
     CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0
     CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199
     CONFIG_ESPRESSIF_CACHE_L2_CACHE_256KB=y
     CONFIG_ESPRESSIF_CACHE_L2_CACHE_SIZE=0x40000
     CONFIG_ESPRESSIF_CACHE_L2_CACHE_LINE_64B=y
     CONFIG_ESPRESSIF_CACHE_L2_CACHE_LINE_SIZE=64
     CONFIG_ESPRESSIF_CACHE_L1_CACHE_LINE_SIZE=64
     CONFIG_P4_REV3_MSPI_WORKAROUND_SIZE=0
     CONFIG_ARCH_TOOLCHAIN_GNU=y
     CONFIG_ARCH_VECNOTIRQ=y
     CONFIG_ARCH_HAVE_MULTICPU=y
     CONFIG_ARCH_HAVE_CPUID_MAPPING=y
     CONFIG_ARCH_HAVE_FORK=y
     CONFIG_ARCH_HAVE_MPU=y
     CONFIG_ARCH_HAVE_POWEROFF=y
     CONFIG_ARCH_HAVE_RESET=y
     CONFIG_ARCH_HAVE_TESTSET=y
     CONFIG_ARCH_HAVE_THREAD_LOCAL=y
     CONFIG_ARCH_HAVE_SYSCALL_HOOKS=y
     CONFIG_ARCH_HAVE_BACKTRACE=y
     CONFIG_ARCH_HAVE_CPUINFO=y
     CONFIG_ARCH_CPUINFO_FREQ_KHZ=0
     CONFIG_ARCH_HAVE_TCBINFO=y
     CONFIG_ARCH_USE_MPU=y
     CONFIG_NCPUS=1
     CONFIG_ARCH_HAVE_RAMFUNCS=y
     CONFIG_ARCH_RAMFUNCS=y
     CONFIG_ARCH_MINIMAL_VECTORTABLE=y
     CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
     CONFIG_ARCH_IRQ_TO_NDX=y
     CONFIG_ARCH_NUSER_INTERRUPTS=17
     CONFIG_BOARD_LOOPSPERMSEC=15000
     CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
     CONFIG_ARCH_INTERRUPTSTACK=2048
     CONFIG_BOOT_RUNFROMFLASH=y
     CONFIG_RAM_START=0x0
     CONFIG_RAM_SIZE=0
     CONFIG_FLASH_START=0x0
     CONFIG_FLASH_SIZE=0
     CONFIG_ARCH_BOARD_CUSTOM=y
     CONFIG_ARCH_BOARD_CUSTOM_NAME="test"
     CONFIG_ARCH_BOARD_CUSTOM_DIR="../board"
     CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
     CONFIG_MMCSD_HAVE_CARDDETECT=y
     CONFIG_ARCH_BOARD_COMMON=y
     CONFIG_ESPRESSIF_SPIFLASH_AUTO_BRINGUP=y
     CONFIG_ESPRESSIF_SPIFLASH_SMARTFS=y
     CONFIG_ESPRESSIF_SPIFLASH_FS_MOUNT_PT="/data"
     CONFIG_BOARD_CRASHDUMP_NONE=y
     CONFIG_BOARDCTL=y
     CONFIG_BOARDCTL_RESET=y
     CONFIG_BOARD_RESET_ON_ASSERT=0
     CONFIG_BOARD_ASSERT_RESET_VALUE=1
     CONFIG_BOARDCTL_MKRD=y
     CONFIG_BOARD_MEMORY_RANGE=""
     CONFIG_DISABLE_OS_API=y
     CONFIG_ARCH_HAVE_TICKLESS=y
     CONFIG_USEC_PER_TICK=10000
     CONFIG_TIMER_ADJUST_USEC=0
     CONFIG_START_YEAR=2019
     CONFIG_START_MONTH=11
     CONFIG_START_DAY=29
     CONFIG_PREALLOC_TIMERS=0
     CONFIG_IRQ_NWORKS=8
     CONFIG_IRQ_WORK_SECTION=""
     CONFIG_IRQ_WORK_STACKSIZE=2048
     CONFIG_INIT_ENTRY=y
     CONFIG_INIT_ARGS=""
     CONFIG_INIT_STACKSIZE=16384
     CONFIG_INIT_PRIORITY=100
     CONFIG_INIT_ENTRYPOINT="nsh_main"
     CONFIG_INIT_ENTRYNAME="nsh_main"
     CONFIG_RR_INTERVAL=200
     CONFIG_TASK_NAME_SIZE=31
     CONFIG_SCHED_WAITPID=y
     CONFIG_PTHREAD_MUTEX_BOTH=y
     CONFIG_PTHREAD_MUTEX_DEFAULT_UNSAFE=y
     CONFIG_PTHREAD_MUTEX_DEFAULT_PRIO_NONE=y
     CONFIG_SCHED_CPULOAD_NONE=y
     CONFIG_SCHED_CPULOAD_TICKSPERSEC=100
     CONFIG_SCHED_PROFILE_TICKSPERSEC=1000
     CONFIG_SCHED_STACK_RECORD=0
     CONFIG_DEV_CONSOLE=y
     CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
     CONFIG_FILE_STREAM=y
     CONFIG_BOARD_LATE_INITIALIZE=y
     CONFIG_BOARD_INITTHREAD_STACKSIZE=2048
     CONFIG_BOARD_INITTHREAD_PRIORITY=240
     CONFIG_ENABLE_ALL_SIGNALS=y
     CONFIG_SIG_PREALLOC_IRQ_ACTIONS=8
     CONFIG_SIG_PREALLOC_ACTIONS=4
     CONFIG_SIG_ALLOC_ACTIONS=1
     CONFIG_SIG_DEFAULT=y
     CONFIG_SIG_SIGKILL_ACTION=y
     CONFIG_SIG_SIGSTOP_ACTION=y
     CONFIG_PREALLOC_MQ_MSGS=8
     CONFIG_PREALLOC_MQ_IRQ_MSGS=8
     CONFIG_MQ_MAXMSGSIZE=32
     CONFIG_SCHED_WORKQUEUE=y
     CONFIG_SCHED_LPWORK=y
     CONFIG_SCHED_LPNTHREADS=1
     CONFIG_SCHED_LPWORKPRIORITY=100
     CONFIG_SCHED_LPWORKSTACKSIZE=2048
     CONFIG_SCHED_LPWORKSTACKSECTION=""
     CONFIG_DEFAULT_TASK_STACKSIZE=2048
     CONFIG_IDLETHREAD_STACKSIZE=2048
     CONFIG_PTHREAD_STACK_MIN=256
     CONFIG_PTHREAD_STACK_DEFAULT=2048
     CONFIG_PTHREAD_GUARDSIZE_DEFAULT=0
     CONFIG_SCHED_BACKTRACE=y
     CONFIG_GROUP_KILL_CHILDREN_TIMEOUT_MS=-1
     CONFIG_PID_INITIAL_COUNT=16
     CONFIG_ARCH_HAVE_RNG=y
     CONFIG_DEV_RANDOM=y
     CONFIG_ARCH_HAVE_I2CRESET=y
     CONFIG_SPI=y
     CONFIG_SPI_EXCHANGE=y
     CONFIG_SPI_CALLBACK=y
     CONFIG_SPI_DRIVER=y
     CONFIG_ANALOG=y
     CONFIG_ADC=y
     CONFIG_ADC_FIFOSIZE=8
     CONFIG_ADC_NPOLLWAITERS=2
     CONFIG_ADC_MAX31856=y
     CONFIG_ADC_MAX31856_SPI_FREQUENCY=1000000
     CONFIG_ADC_MAX11210=y
     CONFIG_BCH=y
     CONFIG_BCH_BUFFER_ALIGNMENT=0
     CONFIG_DEV_NULL=y
     CONFIG_DEV_ZERO=y
     CONFIG_DEV_OPTEE_NONE=y
     CONFIG_DRVR_MKRD=y
     CONFIG_ARCH_HAVE_RDWR_MEM_CPU_RUN=y
     CONFIG_MMCSD=y
     CONFIG_MMCSD_IOCSUPPORT=y
     CONFIG_MMCSD_NSLOTS=1
     CONFIG_MMCSD_MULTIBLOCK_LIMIT=0
     CONFIG_MMCSD_MMCSUPPORT=y
     CONFIG_MMCSD_HAVE_WRITEPROTECT=y
     CONFIG_MMCSD_SPI=y
     CONFIG_MMCSD_SPICLOCK=4000000
     CONFIG_MMCSD_SPIMODE=0
     CONFIG_MMCSD_IDMODE_CLOCK=400000
     CONFIG_MMCSD_SPIRETRY_COUNT=0
     CONFIG_MTD=y
     CONFIG_MTD_PARTITION=y
     CONFIG_MTD_BYTE_WRITE=y
     CONFIG_MTD_CONFIG_NONE=y
     CONFIG_MTD_SMART=y
     CONFIG_MTD_SMART_SECTOR_SIZE=1024
     CONFIG_MTD_SMART_WEAR_LEVEL=y
     CONFIG_EEPROM=y
     CONFIG_SPI_EE_25XX=y
     CONFIG_EE25XX_SPIMODE=0
     CONFIG_EE25XX_FREQUENCY=10000000
     CONFIG_NETDEVICES=y
     CONFIG_MDIO_BUS=y
     CONFIG_ARCH_HAVE_SERIAL_TERMIOS=y
     CONFIG_SERIAL=y
     CONFIG_SERIAL_CONSOLE=y
     CONFIG_MCU_SERIAL=y
     CONFIG_STANDARD_SERIAL=y
     CONFIG_SERIAL_NPOLLWAITERS=4
     CONFIG_SERIAL_TERMIOS=y
     CONFIG_TTY_SIGINT=y
     CONFIG_TTY_SIGINT_CHAR=0x03
     CONFIG_UART0_SERIAL_CONSOLE=y
     CONFIG_UART0_SERIALDRIVER=y
     CONFIG_UART0_RXBUFSIZE=256
     CONFIG_UART0_TXBUFSIZE=256
     CONFIG_UART0_BAUD=115200
     CONFIG_UART0_BITS=8
     CONFIG_UART0_PARITY=0
     CONFIG_UART0_2STOP=0
     CONFIG_SYSLOG=y
     CONFIG_SYSLOG_DEFAULT_MASK=0xff
     CONFIG_SYSLOG_CRLF=y
     CONFIG_SYSLOG_MAX_CHANNELS=1
     CONFIG_RAMLOG=y
     CONFIG_RAMLOG_NONBLOCKING=y
     CONFIG_RAMLOG_POLLTHRESHOLD=1
     CONFIG_SYSLOG_DEVPATH="/dev/kmsg"
     CONFIG_RAMLOG_SYSLOG=y
     CONFIG_RAMLOG_BUFFER_SECTION=""
     CONFIG_RAMLOG_BUFSIZE=4096
     CONFIG_ARCH_HAVE_NET=y
     CONFIG_ARCH_PHY_INTERRUPT=y
     CONFIG_NET_READAHEAD=y
     CONFIG_NET=y
     CONFIG_NET_DEFAULT_MIN_PORT=4096
     CONFIG_NET_DEFAULT_MAX_PORT=32000
     CONFIG_NET_ETH_PKTSIZE=1514
     CONFIG_NET_GUARDSIZE=2
     CONFIG_NET_LL_GUARDSIZE=14
     CONFIG_NET_RECV_BUFSIZE=0
     CONFIG_NET_ETHERNET=y
     CONFIG_NETDEV_LATEINIT=y
     CONFIG_NETDEV_IOCTL=y
     CONFIG_NETDEV_PHY_IOCTL=y
     CONFIG_NETDEV_IFINDEX=y
     CONFIG_NET_IPv4=y
     CONFIG_NET_IPFORWARD_ALLOC_STRUCT=1
     CONFIG_NET_PREALLOC_DEVIF_CALLBACKS=16
     CONFIG_NET_ALLOC_DEVIF_CALLBACKS=0
     CONFIG_NET_SOCKOPTS=y
     CONFIG_NET_BINDTODEVICE=y
     CONFIG_NET_IPV4_CHECKSUMS=y
     CONFIG_NET_TCP=y
     CONFIG_NET_TCP_CHECKSUMS=y
     CONFIG_NET_TCP_PREALLOC_CONNS=8
     CONFIG_NET_TCP_ALLOC_CONNS=0
     CONFIG_NET_TCP_NPOLLWAITERS=2
     CONFIG_NET_TCP_RTO=3
     CONFIG_NET_TCP_MAXRTX=8
     CONFIG_NET_TCP_MAXSYNRTX=5
     CONFIG_NET_TCP_WAIT_TIMEOUT=120
     CONFIG_NET_MAX_LISTENPORTS=20
     CONFIG_NET_TCP_FAST_RETRANSMIT=y
     CONFIG_NET_TCPBACKLOG=y
     CONFIG_NET_TCPBACKLOG_CONNS=8
     CONFIG_NET_UDP=y
     CONFIG_NET_BROADCAST=y
     CONFIG_NET_UDP_PREALLOC_CONNS=8
     CONFIG_NET_UDP_ALLOC_CONNS=0
     CONFIG_NET_UDP_NPOLLWAITERS=1
     CONFIG_NET_ICMP=y
     CONFIG_NET_ICMP_PMTU_ENTRIES=0
     CONFIG_NET_ICMP_SOCKET=y
     CONFIG_NET_ICMP_CHECKSUMS=y
     CONFIG_NET_ICMP_PREALLOC_CONNS=4
     CONFIG_NET_ICMP_ALLOC_CONNS=0
     CONFIG_NET_ICMP_NPOLLWAITERS=1
     CONFIG_NET_IGMP_CHECKSUMS=y
     CONFIG_NET_ARP=y
     CONFIG_NET_ARPTAB_SIZE=16
     CONFIG_NET_ARP_MAXAGE=120
     CONFIG_NET_ARP_MAXAGE_UNREACHABLE=1
     CONFIG_NET_ARP_SEND=y
     CONFIG_ARP_SEND_MAXTRIES=5
     CONFIG_ARP_SEND_DELAYMSEC=20
     CONFIG_NET_SNOOP_BUFSIZE=4096
     CONFIG_NET_RECV_PACK=y
     CONFIG_FS_NEPOLL_DESCRIPTORS=8
     CONFIG_FS_LOCK_BUCKET_SIZE=0
     CONFIG_SENDFILE_BUFSIZE=512
     CONFIG_FS_BACKTRACE=0
     CONFIG_FS_MQUEUE_VFS_PATH="/var/mqueue"
     CONFIG_FS_MQUEUE_NPOLLWAITERS=4
     CONFIG_FS_ANONMAP=y
     CONFIG_FS_FAT=y
     CONFIG_FAT_LCNAMES=y
     CONFIG_FS_SMARTFS=y
     CONFIG_SMARTFS_ERASEDSTATE=0xff
     CONFIG_SMARTFS_MAXNAMLEN=48
     CONFIG_FS_PROCFS=y
     CONFIG_FS_LITTLEFS=y
     CONFIG_FS_LITTLEFS_PROGRAM_SIZE_FACTOR=4
     CONFIG_FS_LITTLEFS_READ_SIZE_FACTOR=4
     CONFIG_FS_LITTLEFS_BLOCK_SIZE_FACTOR=4
     CONFIG_FS_LITTLEFS_CACHE_SIZE_FACTOR=4
     CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE=0
     CONFIG_FS_LITTLEFS_BLOCK_CYCLE=200
     CONFIG_FS_LITTLEFS_NAME_MAX=48
     CONFIG_FS_LITTLEFS_FILE_MAX=2147483647
     CONFIG_FS_LITTLEFS_ATTR_MAX=1022
     CONFIG_FS_LITTLEFS_LOCAL_PATCHES=y
     CONFIG_FS_LITTLEFS_ATTR_UPDATE=y
     CONFIG_FS_LITTLEFS_GETPATH=y
     CONFIG_FS_LITTLEFS_VERSION="v2.5.1"
     CONFIG_NXFONTS_PACKEDMSFIRST=y
     CONFIG_MM_DEFAULT_MANAGER=y
     CONFIG_MM_KERNEL_HEAP=y
     CONFIG_MM_KERNEL_HEAPSIZE=8192
     CONFIG_MM_DEFAULT_ALIGNMENT=8
     CONFIG_MM_NODE_GUARDSIZE=0
     CONFIG_MM_REGIONS=2
     CONFIG_MM_MAP_COUNT_MAX=1024
     CONFIG_MM_BACKTRACE=-1
     CONFIG_MM_FREE_DELAYCOUNT_MAX=0
     CONFIG_MM_HEAP_BIGGEST_COUNT=30
     CONFIG_MM_HEAP_MEMPOOL_THRESHOLD=-1
     CONFIG_MM_IOB=y
     CONFIG_IOB_NBUFFERS=24
     CONFIG_IOB_BUFSIZE=196
     CONFIG_IOB_ALIGNMENT=4
     CONFIG_IOB_SECTION=""
     CONFIG_IOB_NCHAINS=24
     CONFIG_IOB_THROTTLE=0
     CONFIG_BINFMT_ELF_RELOCATABLE=y
     CONFIG_STDIO_BUFFER_SIZE=64
     CONFIG_STDIO_LINEBUFFER=y
     CONFIG_NUNGET_CHARS=2
     CONFIG_LIBC_FLOATINGPOINT=y
     CONFIG_ARCH_LOWPUTC=y
     CONFIG_LIBC_ARCH_MEMCHR=y
     CONFIG_LIBC_ARCH_MEMCPY=y
     CONFIG_LIBC_ARCH_MEMCMP=y
     CONFIG_LIBC_ARCH_MEMMOVE=y
     CONFIG_LIBC_ARCH_MEMSET=y
     CONFIG_LIBC_ARCH_STRCHR=y
     CONFIG_LIBC_ARCH_STRCMP=y
     CONFIG_LIBC_ARCH_STRCPY=y
     CONFIG_LIBC_ARCH_STRLCPY=y
     CONFIG_LIBC_ARCH_STRNCPY=y
     CONFIG_LIBC_ARCH_STRLEN=y
     CONFIG_LIBC_ARCH_STRNLEN=y
     CONFIG_LIBC_HOMEDIR="/"
     CONFIG_LIBC_TMPDIR="/tmp"
     CONFIG_LIBC_MAX_TMPFILE=32
     CONFIG_LIBC_MAX_EXITFUNS=0
     CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=2048
     CONFIG_LIBC_HOSTNAME=""
     CONFIG_LIBC_OPEN_MAX=256
     CONFIG_NAME_MAX=48
     CONFIG_PATH_MAX=256
     CONFIG_LINE_MAX=256
     CONFIG_LIBC_STRERROR=y
     CONFIG_LIBC_PERROR_STDOUT=y
     CONFIG_LIBC_STRSIGNAL=y
     CONFIG_LIBC_STRFTIME_C_STANDARD_FORMATS=y
     CONFIG_LIBC_STRFTIME_POSIX_FORMATS=y
     CONFIG_LIBC_STRFTIME_NONSTANDARD_FORMATS=y
     CONFIG_TLS_NELEM=0
     CONFIG_TLS_TASK_NELEM=0
     CONFIG_TLS_NCLEANUP=0
     CONFIG_LIBC_NETDB=y
     CONFIG_LIBC_GAISTRERROR_ERRNUM=y
     CONFIG_NETDB_BUFSIZE=256
     CONFIG_NETDB_MAX_IPv4ADDR=1
     CONFIG_NETDB_DNSCLIENT=y
     CONFIG_NETDB_DNSCLIENT_ENTRIES=8
     CONFIG_NETDB_DNSCLIENT_NAMESIZE=256
     CONFIG_NETDB_DNSCLIENT_LIFESEC=3600
     CONFIG_NETDB_DNSCLIENT_MAXRESPONSE=512
     CONFIG_NETDB_DNSCLIENT_RECV_TIMEOUT=5
     CONFIG_NETDB_DNSCLIENT_SEND_TIMEOUT=5
     CONFIG_NETDB_DNSCLIENT_MAX_TIMEOUT=30
     CONFIG_NETDB_DNSCLIENT_RETRIES=3
     CONFIG_NETDB_DNSSERVER_NAMESERVERS=1
     CONFIG_NETDB_DNSSERVER_IPv4=y
     CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x0a000001
     CONFIG_LIBC_FTOK_VFS_PATH="/var/ftok"
     CONFIG_LIBC_MEMFD_ERROR=y
     CONFIG_LIBC_TEMPBUFFER=y
     CONFIG_LIBC_MAX_TEMPBUFFER=2
     CONFIG_LIBC_TEMPBUFFER_MALLOC=y
     CONFIG_LIBC_BACKTRACE_BUFFSIZE=0
     CONFIG_LIBC_MUTEX_BACKTRACE=0
     CONFIG_BUILTIN=y
     CONFIG_STREAM_OUT_BUFFER_SIZE=64
     CONFIG_STREAM_HEXDUMP_BUFFER_SIZE=128
     CONFIG_STREAM_BASE64_BUFFER_SIZE=128
     CONFIG_LIBC_INLINE_QUEUE=y
     CONFIG_LIBM_TOOLCHAIN=y
     CONFIG_BUILTIN_TOOLCHAIN=y
     CONFIG_COVERAGE_NONE=y
     CONFIG_COVERAGE_DEFAULT_PREFIX_STRIP="0"
     CONFIG_COVERAGE_DEFAULT_PREFIX="/data"
     CONFIG_PROFILE_NONE=y
     CONFIG_ADCREAD=y
     CONFIG_ADCREAD_PROGNAME="adcread"
     CONFIG_ADCREAD_PRIORITY=100
     CONFIG_ADCREAD_STACKSIZE=2048
     CONFIG_TESTPROG=y
     CONFIG_TESTPROG_PROGNAME="testprog"
     CONFIG_TESTPROG_PRIORITY=100
     CONFIG_TESTPROG_STACKSIZE=32768
     CONFIG_FSUTILS_FLASH_ERASEALL=y
     CONFIG_FSUTILS_MKFATFS=y
     CONFIG_MKFATFS_BUFFER_ALIGNMENT=0
     CONFIG_FSUTILS_MKSMARTFS=y
     CONFIG_NETUTILS_DHCPC=y
     CONFIG_NETUTILS_DHCPC_HOST_NAME="nuttx"
     CONFIG_NETUTILS_DHCPC_RECV_TIMEOUT_MS=3000
     CONFIG_NETUTILS_DHCPC_RETRIES=3
     CONFIG_NETUTILS_DHCPC_BOOTP_FLAGS=0x0000
     CONFIG_NETUTILS_DHCPC_RELEASE_RETRIES=3
     CONFIG_NETUTILS_DHCPC_RELEASE_TRANSMISSION_DELAY_MS=10
     CONFIG_NETUTILS_DHCPC_RELEASE_ENSURE_TRANSMISSION=y
     CONFIG_NETUTILS_IPERF=y
     CONFIG_NETUTILS_IPERF_PROGNAME="iperf"
     CONFIG_NETUTILS_IPERF_PRIORITY=100
     CONFIG_NETUTILS_IPERF_STACKSIZE=2048
     CONFIG_NETUTILS_IPERFTEST_DEVNAME="eth0"
     CONFIG_NETUTILS_NETLIB=y
     CONFIG_NETUTILS_NETLIB_GENERICURLPARSER=y
     CONFIG_NETUTILS_PING=y
     CONFIG_NETUTILS_WEBCLIENT=y
     CONFIG_NSH_WGET_USERAGENT="NuttX/6.xx.x (; http://www.nuttx.org/)"
     CONFIG_WEBCLIENT_TIMEOUT=10
     CONFIG_WEBCLIENT_MAXHTTPLINE=200
     CONFIG_WEBCLIENT_MAXMIMESIZE=32
     CONFIG_WEBCLIENT_MAXHOSTNAME=40
     CONFIG_WEBCLIENT_MAXFILENAME=100
     CONFIG_NSH_LIBRARY=y
     CONFIG_NSH_PROMPT_STRING="nsh> "
     CONFIG_NSH_PROMPT_MAX=48
     CONFIG_NSH_PROMPT_ENV="PS1"
     CONFIG_NSH_PROMPT_SUFFIX="> "
     CONFIG_NSH_READLINE=y
     CONFIG_NSH_MAXARGUMENTS=7
     CONFIG_NSH_NESTDEPTH=3
     CONFIG_NSH_ALIAS=y
     CONFIG_NSH_ALIAS_MAX_AMOUNT=1
     CONFIG_NSH_BUILTIN_APPS=y
     CONFIG_NSH_DISABLE_DATE=y
     CONFIG_NSH_DISABLE_LOSMART=y
     CONFIG_NSH_DISABLE_LOMTD=y
     CONFIG_NSH_DISABLE_MB=y
     CONFIG_NSH_DISABLE_MH=y
     CONFIG_NSH_DISABLE_MW=y
     CONFIG_NSH_DISABLE_SHUTDOWN=y
     CONFIG_NSH_DISABLE_TIMEDATECTL=y
     CONFIG_NSH_MMCSDMINOR=0
     CONFIG_NSH_MMCSDSLOTNO=0
     CONFIG_NSH_MMCSDSPIPORTNO=0
     CONFIG_NSH_CODECS_BUFSIZE=128
     CONFIG_NSH_PROC_MOUNTPOINT="/proc"
     CONFIG_NSH_FILEIOSIZE=512
     CONFIG_NSH_STRERROR=y
     CONFIG_NSH_SYSINITSCRIPT="init.d/rc.sysinit"
     CONFIG_NSH_INITSCRIPT="init.d/rcS"
     CONFIG_NSH_SCRIPT_REDIRECT_PATH=""
     CONFIG_NSH_CONSOLE=y
     CONFIG_NSH_WGET_BUFF_SIZE=512
     CONFIG_SYSTEM_ARGTABLE3=y
     CONFIG_SYSTEM_ARGTABLE3_VERSION="3.2.0.7402e6e"
     CONFIG_SYSTEM_DD=y
     CONFIG_SYSTEM_DD_PROGNAME="dd"
     CONFIG_SYSTEM_DD_PRIORITY=100
     CONFIG_SYSTEM_DD_STACKSIZE=2048
     CONFIG_SYSTEM_DD_STATS=y
     CONFIG_SYSTEM_DHCPC_RENEW=y
     CONFIG_DHCPC_RENEW_PROGNAME="renew"
     CONFIG_DHCPC_RENEW_PRIORITY=100
     CONFIG_DHCPC_RENEW_STACKSIZE=2048
     CONFIG_SYSTEM_DUMPSTACK=y
     CONFIG_SYSTEM_DUMPSTACK_STACKSIZE=2048
     CONFIG_SYSTEM_DUMPSTACK_PRIORITY=100
     CONFIG_SYSTEM_FLASH_ERASEALL=y
     CONFIG_SYSTEM_NSH=y
     CONFIG_SYSTEM_NSH_PRIORITY=100
     CONFIG_SYSTEM_NSH_STACKSIZE=16384
     CONFIG_SYSTEM_NSH_PROGNAME="nsh"
     CONFIG_SYSTEM_PING=y
     CONFIG_SYSTEM_PING_PROGNAME="ping"
     CONFIG_SYSTEM_PING_PRIORITY=100
     CONFIG_SYSTEM_PING_STACKSIZE=2048
     CONFIG_SYSTEM_READLINE=y
     CONFIG_READLINE_HAVE_EXTMATCH=y
     CONFIG_READLINE_ECHO=y
     CONFIG_SYSTEM_TERMCURSES=y
     CONFIG_SYSTEM_TERMCURSES_VT100=y
     CONFIG_SYSTEM_TERMCURSES_VT100_OSX_ALT_CODES=y
     CONFIG_SYSTEM_VI=y
     CONFIG_SYSTEM_VI_COLS=64
     CONFIG_SYSTEM_VI_ROWS=16
     CONFIG_SYSTEM_VI_DEBUGLEVEL=0
     CONFIG_SYSTEM_VI_STACKSIZE=2048
     CONFIG_SYSTEM_VI_PRIORITY=100
     CONFIG_SYSTEM_VI_INCLUDE_COMMAND_REPEAT=y
     CONFIG_TESTING_FSTEST=y
     CONFIG_TESTING_FSTEST_PROGNAME="fstest"
     CONFIG_TESTING_FSTEST_PRIORITY=100
     CONFIG_TESTING_FSTEST_STACKSIZE=2048
     CONFIG_TESTING_FSTEST_MAXNAME=32
     CONFIG_TESTING_FSTEST_MAXFILE=8192
     CONFIG_TESTING_FSTEST_MAXIO=347
     CONFIG_TESTING_FSTEST_MAXOPEN=512
     CONFIG_TESTING_FSTEST_MOUNTPT="/mnt"
     CONFIG_TESTING_FSTEST_NLOOPS=100
     CONFIG_TESTING_HEAP=y
     CONFIG_TESTING_HEAP_PROGNAME="heap"
     CONFIG_TESTING_HEAP_PRIORITY=100
     CONFIG_TESTING_HEAP_STACKSIZE=2048
   
   Host system OS:
     Ubuntu 22.04.5 LTS Linux nb-mf 5.15.167.4-microsoft-standard-WSL2 #1 SMP 
Tue Nov 5 00:21:55 UTC 2024 x86_64 x86_64
   
   Host system PATH:
     /usr/local/sbin
     /usr/local/bin
     /usr/sbin
     /usr/bin
     /sbin
     /bin
     /usr/games
     /usr/local/games
     /usr/lib/wsl/lib
     /mnt/c/windows/system32
     /mnt/c/windows
     /mnt/c/windows/System32/Wbem
     /mnt/c/windows/System32/WindowsPowerShell/v1.0/
     /mnt/c/windows/System32/OpenSSH/
     /mnt/c/Program Files/dotnet/
     /mnt/c/Tools
     /mnt/c/Program Files/Git/cmd
     /mnt/c/Program Files/Graphviz/bin
     /mnt/c/Program Files/Go/bin
     /snap/bin
   
   Espressif specific information:
   
   Toolchain version:
     esp32: Bootloader image not found
     esp32s2: Bootloader image not found
     esp32s3: Bootloader image not found
     esp32c2: Bootloader image not found
     esp32c3: Bootloader image not found
     esp32c6: Bootloader image not found
     esp32h2: Bootloader image not found
   
   Toolchain version:
     clang: Not found
     gcc: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0
     xtensa-esp32-elf-gcc: Not found
     xtensa-esp32s2-elf-gcc: Not found
     xtensa-esp32s3-elf-gcc: Not found
     riscv-none-elf-gcc: Not found
     riscv32-esp-elf-gcc: Not found
     riscv64-unknown-elf-gcc: Not found
   
   Esptool version:
     Not found
   
   HAL version:
     sync/master.c-nuttx-20260428-24-gb90b1837cb5
   
   ### Verification
   
   - [x] I have verified before submitting the report.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to