From 4e31042dce9108faec12bab77872cac1cd4eb037 Mon Sep 17 00:00:00 2001 From: Markus Bauer Date: Sat, 1 Mar 2025 12:29:01 +0100 Subject: [PATCH] Fix potential deadlock in libc (cherry picked from commit 254ca689dc5142e019b48c6d9f49702c806b93a0) --- src/child.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/child.rs b/src/child.rs index 5f30c368..5739041e 100644 --- a/src/child.rs +++ b/src/child.rs @@ -126,7 +126,7 @@ pub unsafe fn child_after_clone(child: &ChildInfo) -> ! { }); child.cfg.gid.as_ref().map(|&gid| { - if libc::setgid(gid) != 0 { + if libc::syscall(libc::SYS_setgid, gid as c_ulong) != 0 { fail(Err::SetUser, epipe); } }); @@ -138,7 +138,7 @@ pub unsafe fn child_after_clone(child: &ChildInfo) -> ! { }); child.cfg.uid.as_ref().map(|&uid| { - if libc::setuid(uid) != 0 { + if libc::syscall(libc::SYS_setuid, uid as c_ulong) != 0 { fail(Err::SetUser, epipe); } });