Messages in this thread | | | From | Florian Weimer <> | Subject | Re: vfork(2) behavior not consistent with fork(2) | Date | Wed, 06 Apr 2022 21:26:56 +0200 |
| |
* 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
| |