Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Mon, 30 Sep 2019 13:45:07 -0700
From: Joshua Hudson <joshudson@...il.com>
To: musl <musl@...ts.openwall.com>
Subject: Re: Hangup calling setuid() from vfork() child

> Basically, the vfork() child is in an invalid state and this cannot be repaired without damaging the parent.

Works on glibc just fine.

setuid() is on the list of signal-safe functions.

http://man7.org/linux/man-pages/man7/signal-safety.7.html

How about you call getpid() and check if you're on the process you
think you're on before calling __synccall? Somebody else might have
done syscall(SYS_fork).

> So you might want to enable memory overcommit.

I'm tired of paying the page fault penalty in the parent. It has a
majority of system RAM, and most of the pages are CoW long after the
vfork child hits execve.

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.