meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch
Jason Schonberg 219cc7775f
nodejs: upgrade 22.16.0 -> 22.18.0
0001-build-remove-redundant-mXX-flags-for-V8.patch - fix offset and fuzz.
  0001-deps-disable-io_uring-support-in-libuv.patch - update for new libuv version 1.51.0
    https://github.com/nodejs/node/commit/e397980a1a

  License-Update: zlib version change from 1.3.0.1 to 1.3.1
    efebf46131

  Changelog: https://github.com/nodejs/node/releases/tag/v22.18.0
  Changelog: https://github.com/nodejs/node/releases/tag/v22.17.1
  Changelog: https://github.com/nodejs/node/releases/tag/v22.17.0

Signed-off-by: Jason Schonberg <schonm@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-08-02 17:45:35 -07:00

66 lines
2.1 KiB
Diff

From 79af9bd6ac1040f1fe3c6cab26b2d040ad907870 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Fri, 1 Mar 2024 15:46:11 +0800
Subject: [PATCH] deps: disable io_uring support in libuv
Refer [1], Pseudo fails to intercept some of the syscalls when io_uring
enabled. Refer [2], always disable io_uring support in libuv to fix
issue in [1].
[1] https://git.openembedded.org/meta-openembedded/commit/?id=d08453978c31ee41d28206c6ff198d7d9d701d88
[2] https://github.com/nodejs/node/commit/686da19abb
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Updated by Jason Schonberg <schonm@gamil.com> August 1, 2025 for nodejs 22.18.0
which uses libuv 1.51.0
---
deps/uv/src/unix/linux.c | 29 +----------------------------
1 file changed, 1 insertion(+), 28 deletions(-)
diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c
--- a/deps/uv/src/unix/linux.c
+++ b/deps/uv/src/unix/linux.c
@@ -465,36 +465,7 @@
/* See https://github.com/libuv/libuv/issues/4283. */
return 0; /* Random SIGSEGV in signal handler. */
#else
- /* Ternary: unknown=0, yes=1, no=-1 */
- static _Atomic int use_io_uring;
- char* val;
- int use;
-
-#if defined(__hppa__)
- /* io_uring first supported on parisc in 6.1, functional in .51
- * https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/
- */
- if (uv__kernel_version() < /*6.1.51*/0x060133)
- return 0;
-#endif
-
- /* SQPOLL is all kinds of buggy but epoll batching should work fine. */
- if (0 == (flags & UV__IORING_SETUP_SQPOLL))
- return 1;
-
- /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */
- if (uv__kernel_version() < /*5.10.186*/0x050ABA)
- return 0;
-
- use = atomic_load_explicit(&use_io_uring, memory_order_relaxed);
-
- if (use == 0) {
- val = getenv("UV_USE_IO_URING");
- use = val != NULL && atoi(val) > 0 ? 1 : -1;
- atomic_store_explicit(&use_io_uring, use, memory_order_relaxed);
- }
-
- return use > 0;
+return 0; /* pseudo doesn't support io_uring https://bugzilla.yoctoproject.org/show_bug.cgi?id=15244 */
#endif
}