* Alejandro Colomar: >> $ sudo ./vfork_newpid >> vfork_newpid: PID: 8479 >> vfork_newpid: PID 8479 exiting after execve(2): Success >> print_pid: PID 1 exiting. > > > I definitely think this is a kernel (or glibc) bug. > execve(2) is supposed to _never_ return 0 (and errno 0). > I submitted a new bug to discuss it. > > Please see <https://bugzilla.kernel.org/show_bug.cgi?id=215813> It's not clear if this is valid. The syscall function in glibc does not protect the on-stack return address against overwriting, so it can't be used to call SYS_vfork on x86. Can you reproduce this with a true inline syscall, or the glibc vfork function (which protects the return address)? Thanks, Florian