Re: fs, net: deadlock between bind/splice on af_unix

From: Cong Wang
Date: Thu Feb 09 2017 - 20:38:29 EST

On Tue, Feb 7, 2017 at 6:20 AM, Mateusz Guzik <mguzik@xxxxxxxxxx> wrote:
> Yes, but unix_release_sock is expected to leave the file behind.
> Note I'm not claiming there is a leak, but that racing threads will be
> able to trigger a condition where you create a file and fail to bind it.

Which is expected, right? No one guarantees the success of file
creation is the success of bind, the previous code does but it is not
part of API AFAIK. Should a sane user-space application check
the file creation for a successful bind() or just check its return value?

> What to do with the file now?

We just do what unix_release_sock() does, so why do you keep
asking the same question?

If you still complain about the race with user-space, think about the
same race in-between a successful bind() and close(), nothing is new.