diff --git a/doc/releases/migration-guide-4.3.rst b/doc/releases/migration-guide-4.3.rst index 1af99949b69ef..bd89c1f51a9f0 100644 --- a/doc/releases/migration-guide-4.3.rst +++ b/doc/releases/migration-guide-4.3.rst @@ -51,6 +51,15 @@ Base Libraries may include :zephyr_file:`include/zephyr/posix/posix_limits.h` for Zephyr's definitions. Some runtime-invariant values may need to be queried via :c:func:`sysconf`. +* The number of file descriptor table size and its availability is now determined by + a ``ZVFS_OPEN_SIZE`` define instead of the :kconfig:option:`CONFIG_ZVFS_OPEN_MAX` + Kconfig option. Subsystems can specify their own custom file descriptor table size + requirements by specifying Kconfig options with the prefix ``CONFIG_ZVFS_OPEN_ADD_SIZE_``. + The old Kconfig option still exists, but will be overridden if the custom requirements + are larger. To force the old Kconfig option to be used, even when its value is less + than the indicated custom requirements, a new :kconfig:option:`CONFIG_ZVFS_OPEN_IGNORE_MIN` + option has been introduced (which defaults being disabled). + Boards ****** diff --git a/include/zephyr/sys/fdtable.h b/include/zephyr/sys/fdtable.h index d4153828fbb2d..676c0dc3a3745 100644 --- a/include/zephyr/sys/fdtable.h +++ b/include/zephyr/sys/fdtable.h @@ -245,7 +245,7 @@ struct zvfs_pollfd { __syscall int zvfs_poll(struct zvfs_pollfd *fds, int nfds, int poll_timeout); struct zvfs_fd_set { - uint32_t bitset[(CONFIG_ZVFS_OPEN_MAX + 31) / 32]; + uint32_t bitset[DIV_ROUND_UP(ZVFS_OPEN_SIZE, 32)]; }; /** @brief Number of file descriptors which can be added @ref zvfs_fd_set */ diff --git a/lib/os/CMakeLists.txt b/lib/os/CMakeLists.txt index c8c56d7e07281..7fc5f23ff4748 100644 --- a/lib/os/CMakeLists.txt +++ b/lib/os/CMakeLists.txt @@ -13,6 +13,36 @@ zephyr_sources( thread_entry.c ) +if(CONFIG_ZVFS_OPEN_IGNORE_MIN) + set(final_fd_size ${CONFIG_ZVFS_OPEN_MAX}) +else() + # Import all custom ZVFS_OPEN_ size requirements + import_kconfig(CONFIG_ZVFS_OPEN_ADD_SIZE_ ${DOTCONFIG} add_size_keys) + + # Calculate the sum of all "ADD_SIZE" requirements + set(add_size_sum 0) + foreach(add_size ${add_size_keys}) + math(EXPR add_size_sum "${add_size_sum} + ${${add_size}}") + endforeach() + + if(CONFIG_ZVFS_OPEN_MAX LESS "${add_size_sum}") + # Only warn if default value 0 has been modified + if(NOT CONFIG_ZVFS_OPEN_MAX EQUAL 0) + message(WARNING " + CONFIG_ZVFS_OPEN_MAX is less than requested minimum: + ${CONFIG_ZVFS_OPEN_MAX} < ${add_size_sum} + Setting the file descriptor size to ${add_size_sum}") + endif() + + set(final_fd_size ${add_size_sum}) + else() + # CONFIG_ZVFS_OPEN_MAX was greater than the sum of the requirements + set(final_fd_size ${CONFIG_ZVFS_OPEN_MAX}) + endif() +endif() + +zephyr_compile_definitions(ZVFS_OPEN_SIZE=${final_fd_size}) + zephyr_sources_ifdef(CONFIG_FDTABLE fdtable.c) zephyr_syscall_header_ifdef(CONFIG_FDTABLE ${ZEPHYR_BASE}/include/zephyr/sys/fdtable.h diff --git a/lib/os/Kconfig b/lib/os/Kconfig index bca940023c6e5..eb1433e09d1e3 100644 --- a/lib/os/Kconfig +++ b/lib/os/Kconfig @@ -12,13 +12,27 @@ config FDTABLE config ZVFS_OPEN_MAX int "Maximum number of open file descriptors" - default 24 if NRF70_ENABLE_DUAL_VIF - default 16 if WIFI_NM_WPA_SUPPLICANT - default 16 if POSIX_API - default 4 + default 0 help Maximum number of open file descriptors, this includes - files, sockets, special devices, etc. + files, sockets, special devices, etc. If subsystems + specify ZVFS_OPEN_ADD_SIZE_* options, these will be added together + and the sum will be compared to the ZVFS_OPEN_MAX value. + If the sum is greater than the ZVFS_OPEN_MAX option (even if this + has the default 0 value), then the actual file descriptor count will be + rounded up to the sum of the individual requirements (unless the + ZVFS_OPEN_IGNORE_MIN option is enabled). If the final value, after + considering both this option as well as sum of the custom + requirements, ends up being zero, then no file descriptors will be + available. + +config ZVFS_OPEN_IGNORE_MIN + bool "Ignore the minimum fd count requirement" + help + This option can be set to force setting a smaller file descriptor + count than what's specified by enabled subsystems. This can be useful + when optimizing memory usage and a more precise minimum fd count + is known for a given application. config PRINTK_SYNC bool "Serialize printk() calls" diff --git a/lib/os/fdtable.c b/lib/os/fdtable.c index be53627efca7b..25b27eca38070 100644 --- a/lib/os/fdtable.c +++ b/lib/os/fdtable.c @@ -39,10 +39,10 @@ struct fd_entry { #if defined(CONFIG_POSIX_DEVICE_IO) static const struct fd_op_vtable stdinout_fd_op_vtable; -BUILD_ASSERT(CONFIG_ZVFS_OPEN_MAX >= 3, "CONFIG_ZVFS_OPEN_MAX >= 3 for CONFIG_POSIX_DEVICE_IO"); +BUILD_ASSERT(ZVFS_OPEN_SIZE >= 3, "ZVFS_OPEN_SIZE >= 3 for CONFIG_POSIX_DEVICE_IO"); #endif /* defined(CONFIG_POSIX_DEVICE_IO) */ -static struct fd_entry fdtable[CONFIG_ZVFS_OPEN_MAX] = { +static struct fd_entry fdtable[ZVFS_OPEN_SIZE] = { #if defined(CONFIG_POSIX_DEVICE_IO) /* * Predefine entries for stdin/stdout/stderr. diff --git a/lib/posix/options/Kconfig.device_io b/lib/posix/options/Kconfig.device_io index 416ccf74a6218..f7d035abe8543 100644 --- a/lib/posix/options/Kconfig.device_io +++ b/lib/posix/options/Kconfig.device_io @@ -45,12 +45,17 @@ config POSIX_DEVICE_IO_ALIAS_WRITE endif # POSIX_DEVICE_IO +# Allocate fd for stdin, stdout and stderr +config ZVFS_OPEN_ADD_SIZE_POSIX + int "Amount of file descriptors used by Posix" + default 3 + config POSIX_OPEN_MAX int - default ZVFS_OPEN_MAX + default ZVFS_OPEN_ADD_SIZE_POSIX help The maximum number of files that a process can have open at one time. This option is not - directly user-configurable but can be adjusted via CONFIG_ZVFS_OPEN_MAX. + directly user-configurable but can be adjusted via CONFIG_ZVFS_OPEN_ADD_SIZE_POSIX. For more information, please see https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html diff --git a/modules/hostap/Kconfig b/modules/hostap/Kconfig index d6ddc3eeaec77..581745d352185 100644 --- a/modules/hostap/Kconfig +++ b/modules/hostap/Kconfig @@ -24,6 +24,10 @@ config WIFI_NM_WPA_SUPPLICANT if WIFI_NM_WPA_SUPPLICANT +config ZVFS_OPEN_ADD_SIZE_WIFI_NM_WPA_SUPPLICANT + int "Number of socket descriptors needed by hostap" + default 12 + config WIFI_NM_WPA_SUPPLICANT_GLOBAL_HEAP bool "Use Zephyr kernel heap for Wi-Fi driver" default y diff --git a/modules/nrf_wifi/Kconfig b/modules/nrf_wifi/Kconfig index 655fce838e50a..518a068d7139c 100644 --- a/modules/nrf_wifi/Kconfig +++ b/modules/nrf_wifi/Kconfig @@ -4,4 +4,8 @@ config ZEPHYR_NRF_WIFI_MODULE bool +config ZVFS_OPEN_ADD_SIZE_NRF70_ENABLE_DUAL_VIF + int "Number of socket descriptors needed by nrf wifi driver" + default 8 + source "modules/nrf_wifi/bus/Kconfig" diff --git a/samples/drivers/video/tcpserversink/prj.conf b/samples/drivers/video/tcpserversink/prj.conf index a49aa3de90ff3..d7c140b6aae2b 100644 --- a/samples/drivers/video/tcpserversink/prj.conf +++ b/samples/drivers/video/tcpserversink/prj.conf @@ -3,7 +3,6 @@ CONFIG_NETWORKING=y CONFIG_NET_TCP=y CONFIG_NET_IPV4=y CONFIG_NET_SOCKETS=y -CONFIG_ZVFS_OPEN_MAX=6 CONFIG_POSIX_API=y # Kernel options diff --git a/samples/modules/thrift/hello/client/prj.conf b/samples/modules/thrift/hello/client/prj.conf index bce2363d7f1ee..fcb7bcae24c18 100644 --- a/samples/modules/thrift/hello/client/prj.conf +++ b/samples/modules/thrift/hello/client/prj.conf @@ -28,7 +28,6 @@ CONFIG_NET_TCP=y CONFIG_NET_IPV6=n CONFIG_NET_IPV4=y CONFIG_NET_SOCKETS=y -CONFIG_ZVFS_OPEN_MAX=6 CONFIG_NET_CONNECTION_MANAGER=y # Kernel options @@ -59,10 +58,6 @@ CONFIG_NET_CONFIG_NEED_IPV4=y CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.0.2.1" CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2" -# Number of socket descriptors might need adjusting -# if there are more than 1 handlers defined. -CONFIG_ZVFS_OPEN_MAX=16 - # Some platforms require relatively large stack sizes. # This can be tuned per-board. CONFIG_MAIN_STACK_SIZE=8192 diff --git a/samples/modules/thrift/hello/server/prj.conf b/samples/modules/thrift/hello/server/prj.conf index 4095642c136d0..0f7c523db595b 100644 --- a/samples/modules/thrift/hello/server/prj.conf +++ b/samples/modules/thrift/hello/server/prj.conf @@ -50,10 +50,6 @@ CONFIG_NET_CONFIG_NEED_IPV4=y CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.0.2.1" CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2" -# Number of socket descriptors might need adjusting -# if there are more than 1 handlers defined. -CONFIG_ZVFS_OPEN_MAX=16 - # Some platforms require relatively large stack sizes. # This can be tuned per-board. CONFIG_MAIN_STACK_SIZE=8192 diff --git a/samples/net/common/Kconfig b/samples/net/common/Kconfig index ceed53efa8692..ee55cdacfccb2 100644 --- a/samples/net/common/Kconfig +++ b/samples/net/common/Kconfig @@ -50,3 +50,8 @@ config NET_SAMPLE_COMMON_TUNNEL_MY_ADDR depends on NET_L2_IPIP help The value depends on your network setup. + +# Generic way to allocate enough sockets for the application +config ZVFS_OPEN_ADD_SIZE_NET_SAMPLE + int "Amount of sockets needed by the networking sample" + default 0 diff --git a/samples/net/dns_resolve/prj.conf b/samples/net/dns_resolve/prj.conf index de837ae082889..16d77bdaace76 100644 --- a/samples/net/dns_resolve/prj.conf +++ b/samples/net/dns_resolve/prj.conf @@ -15,7 +15,6 @@ CONFIG_NET_IPV4=y CONFIG_NET_DHCPV4=n CONFIG_ZVFS_POLL_MAX=5 -CONFIG_ZVFS_OPEN_MAX=5 # Enable the DNS resolver CONFIG_DNS_RESOLVER=y diff --git a/samples/net/dsa/prj.conf b/samples/net/dsa/prj.conf index 02d94378f822a..f7f00d5eb8e77 100644 --- a/samples/net/dsa/prj.conf +++ b/samples/net/dsa/prj.conf @@ -18,7 +18,6 @@ CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=5 CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=5 CONFIG_NET_IF_UNICAST_IPV4_ADDR_COUNT=1 CONFIG_NET_MAX_CONTEXTS=4 -CONFIG_ZVFS_OPEN_MAX=4 CONFIG_ZVFS_POLL_MAX=4 CONFIG_NET_MAX_CONN=4 diff --git a/samples/net/lwm2m_client/Kconfig b/samples/net/lwm2m_client/Kconfig index 7952bf39b1887..d9b8b427b8797 100644 --- a/samples/net/lwm2m_client/Kconfig +++ b/samples/net/lwm2m_client/Kconfig @@ -52,4 +52,5 @@ config NET_SAMPLE_LWM2M_WAIT_DNS Make sure we get DNS server addresses from the network before considering the connection to be up. +source "samples/net/common/Kconfig" source "Kconfig.zephyr" diff --git a/samples/net/lwm2m_client/boards/native_sim.conf b/samples/net/lwm2m_client/boards/native_sim.conf index 8ac063ecc3164..f5607d22b9f69 100644 --- a/samples/net/lwm2m_client/boards/native_sim.conf +++ b/samples/net/lwm2m_client/boards/native_sim.conf @@ -4,4 +4,4 @@ CONFIG_DNS_SERVER1="192.0.2.2" CONFIG_LWM2M_DNS_SUPPORT=y CONFIG_NET_CONFIG_MY_IPV4_GW="192.0.2.2" CONFIG_HEAP_MEM_POOL_SIZE=32768 -CONFIG_ZVFS_OPEN_MAX=16 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET_SAMPLE=16 diff --git a/samples/net/mqtt_sn_publisher/prj.conf b/samples/net/mqtt_sn_publisher/prj.conf index d3f62bcd387f6..c943a391f3986 100644 --- a/samples/net/mqtt_sn_publisher/prj.conf +++ b/samples/net/mqtt_sn_publisher/prj.conf @@ -4,7 +4,6 @@ CONFIG_NET_UDP=y CONFIG_NET_IPV4=y CONFIG_NET_IPV6=y CONFIG_NET_SOCKETS=y -CONFIG_ZVFS_OPEN_MAX=6 CONFIG_NET_CONNECTION_MANAGER=y # Kernel options diff --git a/samples/net/openthread/border_router/prj.conf b/samples/net/openthread/border_router/prj.conf index 8cd6f164af7b6..3e4581555b04f 100644 --- a/samples/net/openthread/border_router/prj.conf +++ b/samples/net/openthread/border_router/prj.conf @@ -16,7 +16,6 @@ CONFIG_NET_ROUTE_MCAST=y CONFIG_NET_SOCKETS_SERVICE=y CONFIG_NET_CONTEXT_RECV_PKTINFO=y CONFIG_NET_CONTEXT_RECV_HOPLIMIT=y -CONFIG_ZVFS_POLL_MAX=15 CONFIG_NET_SOCKETS_SERVICE_STACK_SIZE=12288 CONFIG_NET_MAX_CONN=12 CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=2048 @@ -72,10 +71,6 @@ CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=6 CONFIG_NET_IF_MAX_IPV4_COUNT=2 CONFIG_NET_IF_MAX_IPV6_COUNT=6 -# Number of socket descriptors might need adjusting -# if there are more than 1 handlers defined. -CONFIG_ZVFS_OPEN_MAX=15 - # DNS resolver required by DNS upstream resolver CONFIG_DNS_RESOLVER=y CONFIG_DNS_RESOLVER_PACKET_FORWARDING=y diff --git a/samples/net/prometheus/prj.conf b/samples/net/prometheus/prj.conf index b863915a8386c..2f9aee94c6e7e 100644 --- a/samples/net/prometheus/prj.conf +++ b/samples/net/prometheus/prj.conf @@ -5,13 +5,11 @@ CONFIG_LOG=y CONFIG_ENTROPY_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_INIT_STACKS=y -CONFIG_ZVFS_OPEN_MAX=32 CONFIG_POSIX_API=y CONFIG_FDTABLE=y CONFIG_NET_SOCKETS_POLL_MAX=32 CONFIG_REQUIRES_FULL_LIBC=y CONFIG_HEAP_MEM_POOL_SIZE=2048 -CONFIG_ZVFS_OPEN_MAX=32 # Prometheus CONFIG_PROMETHEUS=y diff --git a/samples/net/sockets/dumb_http_server_mt/prj.conf b/samples/net/sockets/dumb_http_server_mt/prj.conf index 7b802e6e8b482..77ec17c7c7e00 100644 --- a/samples/net/sockets/dumb_http_server_mt/prj.conf +++ b/samples/net/sockets/dumb_http_server_mt/prj.conf @@ -2,7 +2,6 @@ CONFIG_TEST_RANDOM_GENERATOR=y # POSIX options -CONFIG_ZVFS_OPEN_MAX=20 CONFIG_POSIX_API=y # Networking config diff --git a/samples/net/sockets/echo_client/Kconfig b/samples/net/sockets/echo_client/Kconfig index 851189b1454a7..5fe58b8f062ea 100644 --- a/samples/net/sockets/echo_client/Kconfig +++ b/samples/net/sockets/echo_client/Kconfig @@ -58,4 +58,5 @@ config NET_SAMPLE_SEND_ITERATIONS Send sample data this many times before exiting. A value of zero means that the sample application is run forever. +source "samples/net/common/Kconfig" source "Kconfig.zephyr" diff --git a/samples/net/sockets/echo_client/overlay-tls.conf b/samples/net/sockets/echo_client/overlay-tls.conf index c807e9a1c9580..90cc5aea2b211 100644 --- a/samples/net/sockets/echo_client/overlay-tls.conf +++ b/samples/net/sockets/echo_client/overlay-tls.conf @@ -13,4 +13,4 @@ CONFIG_NET_SOCKETS_SOCKOPT_TLS=y CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=4 CONFIG_NET_SOCKETS_ENABLE_DTLS=y CONFIG_NET_SOCKETS_DTLS_MAX_FRAGMENT_LENGTH=2048 -CONFIG_ZVFS_OPEN_MAX=12 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET_SAMPLE=9 diff --git a/samples/net/sockets/echo_server/overlay-tls.conf b/samples/net/sockets/echo_server/overlay-tls.conf index f2351c0ecc86b..3ec1b7dc82329 100644 --- a/samples/net/sockets/echo_server/overlay-tls.conf +++ b/samples/net/sockets/echo_server/overlay-tls.conf @@ -14,4 +14,4 @@ CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=6 CONFIG_NET_SOCKETS_ENABLE_DTLS=y CONFIG_NET_SOCKETS_DTLS_TIMEOUT=30000 CONFIG_NET_SOCKETS_DTLS_MAX_FRAGMENT_LENGTH=2048 -CONFIG_ZVFS_OPEN_MAX=20 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET_SAMPLE=16 diff --git a/samples/net/sockets/echo_server/overlay-ws-console.conf b/samples/net/sockets/echo_server/overlay-ws-console.conf index 84bbed81d4f86..c8b990cfcee1e 100644 --- a/samples/net/sockets/echo_server/overlay-ws-console.conf +++ b/samples/net/sockets/echo_server/overlay-ws-console.conf @@ -9,4 +9,4 @@ CONFIG_NET_SOCKETS_POLL_MAX=32 CONFIG_NET_MAX_CONN=32 CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=32 CONFIG_ZVFS_EVENTFD_MAX=10 -CONFIG_ZVFS_OPEN_MAX=32 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET_SAMPLE=24 diff --git a/samples/net/sockets/echo_server/prj.conf b/samples/net/sockets/echo_server/prj.conf index 6038f6bb1083a..d233af340652e 100644 --- a/samples/net/sockets/echo_server/prj.conf +++ b/samples/net/sockets/echo_server/prj.conf @@ -47,7 +47,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2" # Number of socket descriptors might need adjusting # if there are more than 1 handlers defined. -CONFIG_ZVFS_OPEN_MAX=12 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET_SAMPLE=8 # How many client can connect to echo-server simultaneously CONFIG_NET_SAMPLE_NUM_HANDLERS=1 diff --git a/samples/net/sockets/http_server/Kconfig b/samples/net/sockets/http_server/Kconfig index 07d5b26e52d5e..017c0ab8d75db 100644 --- a/samples/net/sockets/http_server/Kconfig +++ b/samples/net/sockets/http_server/Kconfig @@ -76,4 +76,5 @@ if USB_DEVICE_STACK_NEXT source "samples/subsys/usb/common/Kconfig.sample_usbd" endif +source "samples/net/common/Kconfig" source "Kconfig.zephyr" diff --git a/samples/net/sockets/http_server/prj.conf b/samples/net/sockets/http_server/prj.conf index 5cfe2a04ad297..9f9e3f5885576 100644 --- a/samples/net/sockets/http_server/prj.conf +++ b/samples/net/sockets/http_server/prj.conf @@ -6,7 +6,7 @@ CONFIG_LOG=y CONFIG_ENTROPY_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_INIT_STACKS=y -CONFIG_ZVFS_OPEN_MAX=32 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET_SAMPLE=24 CONFIG_POSIX_API=y CONFIG_FDTABLE=y CONFIG_ZVFS_POLL_MAX=32 diff --git a/samples/net/sockets/net_mgmt/prj.conf b/samples/net/sockets/net_mgmt/prj.conf index 72f32e1f58f88..854419e60d4cd 100644 --- a/samples/net/sockets/net_mgmt/prj.conf +++ b/samples/net/sockets/net_mgmt/prj.conf @@ -6,7 +6,6 @@ CONFIG_NET_IPV6=y CONFIG_NET_IPV4=y CONFIG_NET_SOCKETS=y CONFIG_POSIX_API=y -CONFIG_ZVFS_OPEN_MAX=6 CONFIG_NET_SOCKETS_NET_MGMT=y CONFIG_NET_MGMT_EVENT=y diff --git a/samples/net/sockets/packet/prj.conf b/samples/net/sockets/packet/prj.conf index 555e824bf5880..254248f10129a 100644 --- a/samples/net/sockets/packet/prj.conf +++ b/samples/net/sockets/packet/prj.conf @@ -7,7 +7,6 @@ CONFIG_NET_IPV4=n CONFIG_NET_MAX_CONTEXTS=10 CONFIG_NET_SOCKETS=y CONFIG_POSIX_API=y -CONFIG_ZVFS_OPEN_MAX=6 CONFIG_NET_CONTEXT_RCVTIMEO=y CONFIG_NET_MGMT=y CONFIG_NET_MGMT_EVENT=y diff --git a/samples/net/zperf/prj.conf b/samples/net/zperf/prj.conf index 129260a113ac7..8889a1ccc4407 100644 --- a/samples/net/zperf/prj.conf +++ b/samples/net/zperf/prj.conf @@ -23,7 +23,6 @@ CONFIG_NET_TC_TX_COUNT=1 CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS_SERVICE_THREAD_PRIO=-1 CONFIG_ZVFS_POLL_MAX=9 -CONFIG_ZVFS_OPEN_MAX=12 CONFIG_POSIX_API=y CONFIG_INIT_STACKS=y diff --git a/scripts/ci/check_compliance.py b/scripts/ci/check_compliance.py index 5cdf66487eb8e..3d9a718f74e1e 100755 --- a/scripts/ci/check_compliance.py +++ b/scripts/ci/check_compliance.py @@ -1370,6 +1370,7 @@ def check_no_undef_outside_kconfig(self, kconf): "ZEPHYR_TRY_MASS_ERASE", # MCUBoot setting described in sysbuild # documentation "ZTEST_FAIL_TEST_", # regex in tests/ztest/fail/CMakeLists.txt + "ZVFS_OPEN_ADD_SIZE_", # Used as an option matching prefix # zephyr-keep-sorted-stop } diff --git a/snippets/wifi/wifi-ip/wifi-ip.conf b/snippets/wifi/wifi-ip/wifi-ip.conf index 788715d59b701..cc4dbd175c6e8 100644 --- a/snippets/wifi/wifi-ip/wifi-ip.conf +++ b/snippets/wifi/wifi-ip/wifi-ip.conf @@ -5,7 +5,7 @@ CONFIG_WIFI_NM_WPA_SUPPLICANT=y # Make sure there is enough resources for supplicant and most of the samples CONFIG_MAIN_STACK_SIZE=2048 -CONFIG_ZVFS_OPEN_MAX=24 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=10 CONFIG_NET_MAX_CONN=10 CONFIG_ZVFS_POLL_MAX=10 diff --git a/snippets/wifi/wifi-ipv4/wifi-ipv4.conf b/snippets/wifi/wifi-ipv4/wifi-ipv4.conf index 89feb091ad351..83684f28b65fa 100644 --- a/snippets/wifi/wifi-ipv4/wifi-ipv4.conf +++ b/snippets/wifi/wifi-ipv4/wifi-ipv4.conf @@ -5,7 +5,7 @@ CONFIG_WIFI_NM_WPA_SUPPLICANT=y # Make sure there is enough resources for supplicant and most of the samples CONFIG_MAIN_STACK_SIZE=2048 -CONFIG_ZVFS_OPEN_MAX=24 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=10 CONFIG_NET_MAX_CONN=10 CONFIG_ZVFS_POLL_MAX=10 diff --git a/snippets/wifi/wifi-ipv6/wifi-ipv6.conf b/snippets/wifi/wifi-ipv6/wifi-ipv6.conf index f4ea1214ece17..df546df978d10 100644 --- a/snippets/wifi/wifi-ipv6/wifi-ipv6.conf +++ b/snippets/wifi/wifi-ipv6/wifi-ipv6.conf @@ -5,7 +5,7 @@ CONFIG_WIFI_NM_WPA_SUPPLICANT=y # Make sure there is enough resources for supplicant and most of the samples CONFIG_MAIN_STACK_SIZE=2048 -CONFIG_ZVFS_OPEN_MAX=24 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=10 CONFIG_NET_MAX_CONN=10 CONFIG_ZVFS_POLL_MAX=10 diff --git a/subsys/net/ip/Kconfig b/subsys/net/ip/Kconfig index 463e1220e2e9d..bb6df8ebf4401 100644 --- a/subsys/net/ip/Kconfig +++ b/subsys/net/ip/Kconfig @@ -509,6 +509,10 @@ config NET_MAX_CONTEXTS is used when listening or sending network traffic. This is very similar as one could call a network socket in some other systems. +config ZVFS_OPEN_ADD_SIZE_NET + int "Number of network sockets to allocate" + default NET_MAX_CONTEXTS + config NET_CONTEXT_NET_PKT_POOL bool "Net_buf TX pool / context" default y if NET_TCP && NET_6LO diff --git a/subsys/net/lib/dns/dispatcher.c b/subsys/net/lib/dns/dispatcher.c index fcaf7682fb584..9c71bc6353d8b 100644 --- a/subsys/net/lib/dns/dispatcher.c +++ b/subsys/net/lib/dns/dispatcher.c @@ -31,7 +31,7 @@ NET_BUF_POOL_DEFINE(dns_msg_pool, DNS_RESOLVER_BUF_CTR, static struct socket_dispatch_table { struct dns_socket_dispatcher *ctx; -} dispatch_table[CONFIG_ZVFS_OPEN_MAX]; +} dispatch_table[ZVFS_OPEN_SIZE]; static int dns_dispatch(struct dns_socket_dispatcher *dispatcher, int sock, struct sockaddr *addr, size_t addrlen, diff --git a/subsys/net/lib/sockets/Kconfig b/subsys/net/lib/sockets/Kconfig index bce60ee7276e6..e857dd83a5f2f 100644 --- a/subsys/net/lib/sockets/Kconfig +++ b/subsys/net/lib/sockets/Kconfig @@ -215,6 +215,11 @@ config NET_SOCKETS_TLS_MAX_CONTEXTS "This variable specifies maximum number of TLS/DTLS contexts that can be allocated at the same time." +config ZVFS_OPEN_ADD_SIZE_TLS + int "Number of TLS network sockets to allocate" + default NET_SOCKETS_TLS_MAX_CONTEXTS if NET_SOCKETS_SOCKOPT_TLS + default 0 + config NET_SOCKETS_TLS_MAX_CREDENTIALS int "Maximum number of TLS/DTLS credentials per socket" default 4 diff --git a/subsys/net/lib/sockets/socket_obj_core.c b/subsys/net/lib/sockets/socket_obj_core.c index 76ef0927a0a1b..7138b63fcdd42 100644 --- a/subsys/net/lib/sockets/socket_obj_core.c +++ b/subsys/net/lib/sockets/socket_obj_core.c @@ -20,8 +20,8 @@ static K_MUTEX_DEFINE(sock_obj_mutex); /* Allocate some extra socket objects so that we can track * closed sockets and get some historical statistics. */ -static struct sock_obj sock_objects[CONFIG_ZVFS_OPEN_MAX * 2] = { - [0 ... ((CONFIG_ZVFS_OPEN_MAX * 2) - 1)] = { +static struct sock_obj sock_objects[ZVFS_OPEN_SIZE * 2] = { + [0 ... ((ZVFS_OPEN_SIZE * 2) - 1)] = { .fd = -1, .init_done = false, } diff --git a/tests/modules/thrift/ThriftTest/overlay-tls.conf b/tests/modules/thrift/ThriftTest/overlay-tls.conf index 7676b38883292..1bfda0bc41914 100644 --- a/tests/modules/thrift/ThriftTest/overlay-tls.conf +++ b/tests/modules/thrift/ThriftTest/overlay-tls.conf @@ -8,13 +8,12 @@ CONFIG_THRIFT_SSL_SOCKET=y # # File Descriptor Usage # --------------------- -# stdin, stdout, stderr: 3 # tcp socket (accept): 1 # tls socket (accept): 1 # tcp sockets (client, server): 2 # tls sockets (client, server): 2 # socketpairs for cancellation (accept, client, server): 6 -CONFIG_ZVFS_OPEN_MAX=15 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=12 # TLS configuration CONFIG_MBEDTLS=y diff --git a/tests/modules/thrift/ThriftTest/prj.conf b/tests/modules/thrift/ThriftTest/prj.conf index c304c7b3434d4..d7d5e5fdb8c9e 100755 --- a/tests/modules/thrift/ThriftTest/prj.conf +++ b/tests/modules/thrift/ThriftTest/prj.conf @@ -41,19 +41,6 @@ CONFIG_NET_PKT_TX_COUNT=20 CONFIG_NET_BUF_RX_COUNT=20 CONFIG_NET_PKT_RX_COUNT=20 -# We can get away with using fewer sockets in the non-TLS tests because we use -# TFDServer.cpp for our server and socketpair() for our channel. We do not -# need an accept socket for the server (in contrast to TCP), it only needs 1 -# eventfd for server cancellation, and there are no cancellation sockets -# required because we close them in the testsuite. -# -# File Descriptor Usage -# --------------------- -# stdin, stdout, stderr: 3 -# socketpair for channel: 2 -# eventfd for cancellation: 1 -CONFIG_ZVFS_OPEN_MAX=6 - # Network address config CONFIG_NET_IPV4=y CONFIG_NET_CONFIG_SETTINGS=y diff --git a/tests/net/all/prj.conf b/tests/net/all/prj.conf index b2cb791f7962f..f220a6e9a1143 100644 --- a/tests/net/all/prj.conf +++ b/tests/net/all/prj.conf @@ -353,6 +353,7 @@ CONFIG_NET_SOCKETS_ENABLE_DTLS=y CONFIG_NET_SOCKETS_LOG_LEVEL_DBG=y CONFIG_NET_SOCKETS_OFFLOAD=y CONFIG_NET_SOCKETS_PACKET=y +CONFIG_ZVFS_OPEN_IGNORE_MIN=y CONFIG_ZVFS_OPEN_MAX=50 CONFIG_ZVFS_POLL_MAX=50 CONFIG_NET_SOCKETS=y diff --git a/tests/net/lib/dns_addremove/prj.conf b/tests/net/lib/dns_addremove/prj.conf index 112794a03da38..b14e5f47e73d5 100644 --- a/tests/net/lib/dns_addremove/prj.conf +++ b/tests/net/lib/dns_addremove/prj.conf @@ -17,5 +17,4 @@ CONFIG_NET_ARP=n CONFIG_PRINTK=y CONFIG_ZTEST=y CONFIG_MAIN_STACK_SIZE=2048 -CONFIG_ZVFS_OPEN_MAX=5 CONFIG_ZVFS_POLL_MAX=5 diff --git a/tests/net/lib/dns_dispatcher/prj.conf b/tests/net/lib/dns_dispatcher/prj.conf index 035c73e9b3b6e..af5bf4bb484c3 100644 --- a/tests/net/lib/dns_dispatcher/prj.conf +++ b/tests/net/lib/dns_dispatcher/prj.conf @@ -15,7 +15,7 @@ CONFIG_NET_IPV6=y CONFIG_PRINTK=y CONFIG_ZTEST=y CONFIG_MAIN_STACK_SIZE=2048 -CONFIG_ZVFS_OPEN_MAX=10 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=5 CONFIG_ZVFS_POLL_MAX=10 CONFIG_MDNS_RESPONDER=n CONFIG_MDNS_RESOLVER=n diff --git a/tests/net/lib/dns_resolve/prj.conf b/tests/net/lib/dns_resolve/prj.conf index 56518027b8d30..2101f247e757c 100644 --- a/tests/net/lib/dns_resolve/prj.conf +++ b/tests/net/lib/dns_resolve/prj.conf @@ -30,5 +30,4 @@ CONFIG_ZTEST=y CONFIG_MAIN_STACK_SIZE=1344 CONFIG_HEAP_MEM_POOL_SIZE=1024 -CONFIG_ZVFS_OPEN_MAX=9 CONFIG_ZVFS_POLL_MAX=9 diff --git a/tests/net/lib/http_server/core/prj.conf b/tests/net/lib/http_server/core/prj.conf index 0668f13070269..9d032dc348899 100644 --- a/tests/net/lib/http_server/core/prj.conf +++ b/tests/net/lib/http_server/core/prj.conf @@ -7,7 +7,6 @@ CONFIG_POSIX_API=y CONFIG_ENTROPY_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y -CONFIG_ZVFS_OPEN_MAX=10 CONFIG_REQUIRES_FULL_LIBC=y CONFIG_ZVFS_EVENTFD_MAX=10 CONFIG_NET_MAX_CONTEXTS=10 diff --git a/tests/net/lib/http_server/crime/prj.conf b/tests/net/lib/http_server/crime/prj.conf index 910b89a4c04e2..276466da4163e 100644 --- a/tests/net/lib/http_server/crime/prj.conf +++ b/tests/net/lib/http_server/crime/prj.conf @@ -9,7 +9,6 @@ CONFIG_ENTROPY_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_ZTEST_STACK_SIZE=1024 -CONFIG_ZVFS_OPEN_MAX=10 CONFIG_REQUIRES_FULL_LIBC=y CONFIG_ZVFS_EVENTFD_MAX=10 CONFIG_NET_MAX_CONTEXTS=10 diff --git a/tests/net/lib/http_server/tls/prj.conf b/tests/net/lib/http_server/tls/prj.conf index d8facb4a1d90f..9decd429d2069 100644 --- a/tests/net/lib/http_server/tls/prj.conf +++ b/tests/net/lib/http_server/tls/prj.conf @@ -46,7 +46,6 @@ CONFIG_NET_BUF_RX_COUNT=32 CONFIG_NET_PKT_TX_COUNT=16 CONFIG_NET_PKT_RX_COUNT=16 CONFIG_ZVFS_POLL_MAX=32 -CONFIG_ZVFS_OPEN_MAX=32 CONFIG_REQUIRES_FULL_LIBC=y CONFIG_ZVFS_EVENTFD_MAX=10 CONFIG_NET_MAX_CONTEXTS=10 diff --git a/tests/net/lib/lwm2m/interop/boards/native_sim.conf b/tests/net/lib/lwm2m/interop/boards/native_sim.conf index 3ca97938bd992..1c5feb6afbe35 100644 --- a/tests/net/lib/lwm2m/interop/boards/native_sim.conf +++ b/tests/net/lib/lwm2m/interop/boards/native_sim.conf @@ -8,4 +8,4 @@ CONFIG_UART_NATIVE_PTY_0_ON_STDINOUT=y CONFIG_ASAN=y CONFIG_NATIVE_EXTRA_CMDLINE_ARGS="--seed-random" CONFIG_HEAP_MEM_POOL_SIZE=32768 -CONFIG_ZVFS_OPEN_MAX=16 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=8 diff --git a/tests/net/lib/mdns_responder/prj.conf b/tests/net/lib/mdns_responder/prj.conf index ecd170c5e510f..7833fef4ab6c8 100644 --- a/tests/net/lib/mdns_responder/prj.conf +++ b/tests/net/lib/mdns_responder/prj.conf @@ -5,7 +5,6 @@ CONFIG_NET_DRIVERS=y CONFIG_NET_LOOPBACK=y CONFIG_NET_IPV4=y CONFIG_NET_IPV6=y -CONFIG_ZVFS_OPEN_MAX=7 CONFIG_ZVFS_POLL_MAX=7 # Network driver config diff --git a/tests/net/pm/prj.conf b/tests/net/pm/prj.conf index 9c838139d9b8e..2c6626660aa91 100644 --- a/tests/net/pm/prj.conf +++ b/tests/net/pm/prj.conf @@ -7,7 +7,6 @@ CONFIG_NET_L2_ETHERNET=n CONFIG_NET_UDP=y CONFIG_NET_IPV4=y CONFIG_NET_SOCKETS=y -CONFIG_ZVFS_OPEN_MAX=3 CONFIG_ZTEST_STACK_SIZE=2048 CONFIG_MAIN_STACK_SIZE=2048 CONFIG_NET_LOG=y diff --git a/tests/net/pmtu/prj.conf b/tests/net/pmtu/prj.conf index 1253c5c7c1c85..d075205adc74b 100644 --- a/tests/net/pmtu/prj.conf +++ b/tests/net/pmtu/prj.conf @@ -21,6 +21,5 @@ CONFIG_NET_BUF_TX_COUNT=20 CONFIG_NET_MGMT=y CONFIG_NET_MGMT_EVENT=y CONFIG_NET_SOCKETS=y -CONFIG_ZVFS_OPEN_MAX=32 CONFIG_NET_MAX_CONTEXTS=32 CONFIG_NET_MAX_CONN=32 diff --git a/tests/net/socket/af_packet/prj.conf b/tests/net/socket/af_packet/prj.conf index 342442f9cfc98..ed02e5be4a936 100644 --- a/tests/net/socket/af_packet/prj.conf +++ b/tests/net/socket/af_packet/prj.conf @@ -6,7 +6,6 @@ CONFIG_NET_UDP=y CONFIG_NET_TCP=n CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS_PACKET=y -CONFIG_ZVFS_OPEN_MAX=8 CONFIG_NET_IPV6_DAD=n CONFIG_NET_IPV6_MLD=n diff --git a/tests/net/socket/poll/prj.conf b/tests/net/socket/poll/prj.conf index 4a404b96aea24..1c27a6e5b36e8 100644 --- a/tests/net/socket/poll/prj.conf +++ b/tests/net/socket/poll/prj.conf @@ -5,7 +5,7 @@ CONFIG_NET_IPV6=y CONFIG_NET_UDP=y CONFIG_NET_TCP=y CONFIG_NET_SOCKETS=y -CONFIG_ZVFS_OPEN_MAX=10 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=5 CONFIG_NET_PKT_TX_COUNT=8 CONFIG_NET_PKT_RX_COUNT=8 CONFIG_NET_MAX_CONN=5 diff --git a/tests/net/socket/reuseaddr_reuseport/prj.conf b/tests/net/socket/reuseaddr_reuseport/prj.conf index f151d25130eb1..513a4114ab4d6 100644 --- a/tests/net/socket/reuseaddr_reuseport/prj.conf +++ b/tests/net/socket/reuseaddr_reuseport/prj.conf @@ -28,7 +28,6 @@ CONFIG_NET_CONTEXT_REUSEPORT=y CONFIG_NET_HOSTNAME_ENABLE=y CONFIG_NET_HOSTNAME="ztest_hostname" -CONFIG_ZVFS_OPEN_MAX=8 CONFIG_NET_MAX_CONN=10 CONFIG_NET_MAX_CONTEXTS=10 diff --git a/tests/net/socket/select/prj.conf b/tests/net/socket/select/prj.conf index 53c0c5de3bf95..49d0d8edd333b 100644 --- a/tests/net/socket/select/prj.conf +++ b/tests/net/socket/select/prj.conf @@ -9,8 +9,13 @@ CONFIG_NET_LOOPBACK=y CONFIG_NET_IPV4=n CONFIG_NET_IPV6=y CONFIG_NET_SOCKETS=y -# Defines fd_set size + +# Defines fd_set size. The test wants to specifically +# check that select bitset size is calculated correctly. +# We want to set the max fd count to 33 so need to ignore +# the min value. CONFIG_ZVFS_OPEN_MAX=33 +CONFIG_ZVFS_OPEN_IGNORE_MIN=y # Network driver config CONFIG_TEST_RANDOM_GENERATOR=y diff --git a/tests/net/socket/service/prj.conf b/tests/net/socket/service/prj.conf index 151b79e85303b..f2835795342b0 100644 --- a/tests/net/socket/service/prj.conf +++ b/tests/net/socket/service/prj.conf @@ -5,7 +5,7 @@ CONFIG_NET_IPV6=y CONFIG_NET_UDP=y CONFIG_NET_TCP=y CONFIG_NET_SOCKETS=y -CONFIG_ZVFS_OPEN_MAX=20 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=10 CONFIG_NET_PKT_TX_COUNT=8 CONFIG_NET_PKT_RX_COUNT=8 CONFIG_NET_MAX_CONN=5 diff --git a/tests/net/socket/socketpair/prj.conf b/tests/net/socket/socketpair/prj.conf index 314e999680620..8615d581ebc4b 100644 --- a/tests/net/socket/socketpair/prj.conf +++ b/tests/net/socket/socketpair/prj.conf @@ -7,7 +7,7 @@ CONFIG_NET_IPV4=y CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETPAIR=y CONFIG_NET_SOCKETPAIR_BUFFER_SIZE=64 -CONFIG_ZVFS_OPEN_MAX=10 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=5 # Network driver config CONFIG_TEST_RANDOM_GENERATOR=y diff --git a/tests/net/socket/tcp/prj.conf b/tests/net/socket/tcp/prj.conf index 724e208aa0bed..af9650c4595b2 100644 --- a/tests/net/socket/tcp/prj.conf +++ b/tests/net/socket/tcp/prj.conf @@ -11,7 +11,6 @@ CONFIG_NET_IPV6=y CONFIG_NET_IPV6_ND=n CONFIG_NET_TCP=y CONFIG_NET_SOCKETS=y -CONFIG_ZVFS_OPEN_MAX=10 CONFIG_NET_MAX_CONTEXTS=10 CONFIG_NET_MAX_CONN=10 diff --git a/tests/net/socket/tcp/src/main.c b/tests/net/socket/tcp/src/main.c index 76a4d62925385..aee0132e9f0cf 100644 --- a/tests/net/socket/tcp/src/main.c +++ b/tests/net/socket/tcp/src/main.c @@ -2665,7 +2665,7 @@ static void after(void *arg) { ARG_UNUSED(arg); - for (int i = 0; i < CONFIG_ZVFS_OPEN_MAX; ++i) { + for (int i = 0; i < ZVFS_OPEN_SIZE; ++i) { (void)zsock_close(i); } } diff --git a/tests/net/socket/tls/prj.conf b/tests/net/socket/tls/prj.conf index 3bbb28310f66f..ee63ea9d20691 100644 --- a/tests/net/socket/tls/prj.conf +++ b/tests/net/socket/tls/prj.conf @@ -19,7 +19,7 @@ CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=4 CONFIG_NET_CONTEXT_RCVTIMEO=y CONFIG_NET_CONTEXT_SNDTIMEO=y CONFIG_NET_CONTEXT_RCVBUF=y -CONFIG_ZVFS_OPEN_MAX=20 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=10 # Keep timings short for the test CONFIG_NET_TCP_TIME_WAIT_DELAY=10 diff --git a/tests/net/socket/tls_ext/prj.conf b/tests/net/socket/tls_ext/prj.conf index 50f764286daa0..ed2b8852ecb1e 100644 --- a/tests/net/socket/tls_ext/prj.conf +++ b/tests/net/socket/tls_ext/prj.conf @@ -31,7 +31,7 @@ CONFIG_NET_BUF_TX_COUNT=64 CONFIG_NET_PKT_TX_COUNT=64 CONFIG_NET_BUF_RX_COUNT=64 CONFIG_NET_PKT_RX_COUNT=64 -CONFIG_ZVFS_OPEN_MAX=10 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=5 # Stack sizes CONFIG_MAIN_STACK_SIZE=2048 diff --git a/tests/net/socket/udp/prj.conf b/tests/net/socket/udp/prj.conf index ebdbb0d24e73a..c40b5a8b527f7 100644 --- a/tests/net/socket/udp/prj.conf +++ b/tests/net/socket/udp/prj.conf @@ -7,7 +7,7 @@ CONFIG_NET_IPV4=y CONFIG_NET_IPV6=y CONFIG_NET_UDP=y CONFIG_NET_SOCKETS=y -CONFIG_ZVFS_OPEN_MAX=10 +CONFIG_ZVFS_OPEN_ADD_SIZE_NET=5 CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3 CONFIG_NET_IPV6_DAD=n CONFIG_NET_IPV6_MLD=n diff --git a/tests/net/socket/udp/src/main.c b/tests/net/socket/udp/src/main.c index b4f57ec182546..ca6ed384f7db4 100644 --- a/tests/net/socket/udp/src/main.c +++ b/tests/net/socket/udp/src/main.c @@ -3719,7 +3719,7 @@ static void after(void *arg) { ARG_UNUSED(arg); - for (int i = 0; i < CONFIG_ZVFS_OPEN_MAX; ++i) { + for (int i = 0; i < ZVFS_OPEN_SIZE; ++i) { (void)zsock_close(i); } } diff --git a/tests/posix/fs/prj.conf b/tests/posix/fs/prj.conf index e1501c697ae19..9b04196534602 100644 --- a/tests/posix/fs/prj.conf +++ b/tests/posix/fs/prj.conf @@ -8,3 +8,4 @@ CONFIG_ZTEST=y CONFIG_MAIN_STACK_SIZE=4096 CONFIG_ZTEST_STACK_SIZE=2048 CONFIG_EVENTFD=n +CONFIG_ZVFS_OPEN_ADD_SIZE_POSIX=5 diff --git a/tests/posix/fs/src/test_fs_file.c b/tests/posix/fs/src/test_fs_file.c index 23496c92b8c22..63795e30b2eac 100644 --- a/tests/posix/fs/src/test_fs_file.c +++ b/tests/posix/fs/src/test_fs_file.c @@ -261,7 +261,7 @@ ZTEST(posix_fs_file_test, test_fs_unlink) ZTEST(posix_fs_file_test, test_fs_fd_leak) { const int reps = - MAX(CONFIG_POSIX_OPEN_MAX, CONFIG_ZVFS_OPEN_MAX) + 5; + MAX(CONFIG_POSIX_OPEN_MAX, ZVFS_OPEN_SIZE) + 5; for (int i = 0; i < reps; i++) { if (i > 0) { diff --git a/tests/posix/xsi_realtime/src/shm.c b/tests/posix/xsi_realtime/src/shm.c index 6755798ef5a33..d59273a26fdd2 100644 --- a/tests/posix/xsi_realtime/src/shm.c +++ b/tests/posix/xsi_realtime/src/shm.c @@ -31,10 +31,10 @@ #define OPEN_FLAGS (VALID_FLAGS & ~O_CREAT) /* account for stdin, stdout, stderr */ -#define N (CONFIG_ZVFS_OPEN_MAX - 3) +#define N (ZVFS_OPEN_SIZE - 3) /* we need to have at least 2 shared memory objects */ -BUILD_ASSERT(N >= 2, "CONFIG_ZVFS_OPEN_MAX must be > 4"); +BUILD_ASSERT(N >= 2, "ZVFS_OPEN_SIZE must be > 4"); #define S_TYPEISSHM(st) (((st)->st_mode & ZVFS_MODE_IFMT) == ZVFS_MODE_IFSHM)