svn commit: r193165 - head/sys/compat/linux

Jilles Tjoelker jilles at stack.nl
Sun May 31 12:27:02 UTC 2009


On Sun, May 31, 2009 at 12:04:01PM +0000, Dmitry Chagin wrote:
> Author: dchagin
> Date: Sun May 31 12:04:01 2009
> New Revision: 193165
> URL: http://svn.freebsd.org/changeset/base/193165

> Log:
>   Move new socket flags handling into a separate function as Linux
>   introduced more syscalls which uses these flags.

I think this does not fulfill the purpose of LINUX_SOCK_CLOEXEC exactly:
if another thread forks and execs at the wrong time, it may inherit the
socket without the CLOEXEC flag set.

The obvious way to fix this is to implement SOCK_CLOEXEC in the native
syscalls, in such a way that other threads can never see the new fd
without the CLOEXEC flag set.

That could be fairly complicated and it is a pretty rare situation,
however.

-- 
Jilles Tjoelker


More information about the svn-src-head mailing list