Subject: Re: [PATCH v2] net: handle error more gracefully in socketpair()

From: Al Viro <[email-masked]>
Date: Fri, 6 Dec 2013 10:48:05 +0000

On Thu, Dec 05, 2013 at 07:43:55PM -0500, David Miller wrote:
> From: Yann Droneaud <[email-masked]>
> Date: Fri, 06 Dec 2013 00:15:31 +0100
> 
> > AFAIK, using sys_close() seems to be the exception, and writing the file
> > descriptor before installing it is the more or less the norm.
> 
> What other system call in the kernel writes a file descriptor's value
> into the address space of a user process before the file descriptor
> is actually usable?
> 
> That's really terrible semantically.

What's the problem with that?  If nothing else, shared descriptor table is
a lot more visible to other threads than two-element array, most likely
in stack frame of whoever makes that syscall...

As for your question, how about pipe(2)?