vfork() semantics changed: ERESTARTNOINTR
> On Thu, Dec 02, 2010 at 09:27:34AM -0800, John Reiser wrote:
> > vfork() can fail with ERESTARTNOINTR which is 513
> > and somewhat young. 'make' did not know:
> > https://bugzilla.redhat.com/show_bug.cgi?id=659382
> > If your package has any shell-like feature
> > then it might be good to check for vfork().
> These are internal kernel errnos, and I'm fairly certain are not
> supposed to leak to userspace, but be fixed up by the syscall return
That is correct. You should never see an ERESTART* code as the result of
any system call. The only time userland code should be able to see this is
via ptrace, which can sometimes see it (maybe only in syscall tracing?)
before the rollback of user register state it indicates has been done.
So seeing this in strace is not unexpected, but any user program seeing
it leak out is a kernel bug.
devel mailing list