From d888ed0dff1fee18de6f6c442bd5274282cff147 Mon Sep 17 00:00:00 2001 From: vasilito Date: Wed, 15 Jul 2026 06:35:25 +0900 Subject: [PATCH] revert(relibc): drop ineffective spawn-leak workarounds The thr_fd.take() and mem::forget(proc_fd) workarounds were intended to keep the parent's proc scheme handles alive after posix_spawn returns, so the child's ld_so could use them via AT_REDOX_*_FD auxv entries. The boot diagnostic shows the actual relibc binary does NOT take the 'fork' / 'thread-0' kdup path (those calls never appear in the kdup trace), so the workarounds targeted a code path that was not running. The real fix is kernel-side: each Context must hold a self-reference to its own proc handle so the handle cannot be dropped while the context is alive. --- local/sources/relibc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/local/sources/relibc b/local/sources/relibc index e89256093c..f46e2a31a7 160000 --- a/local/sources/relibc +++ b/local/sources/relibc @@ -1 +1 @@ -Subproject commit e89256093ce963ab863f0d5ed7697c8f641e9b11 +Subproject commit f46e2a31a7a23f2fa71b4b57c2224e901f739271