[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <YM1pEoZxc2P17nlp@zeniv-ca.linux.org.uk>
Date: Sat, 19 Jun 2021 03:48:34 +0000
From: Al Viro <viro@...iv.linux.org.uk>
To: netdev@...r.kernel.org
Cc: David Miller <davem@...emloft.net>
Subject: [PATCHSET] AF_UNIX bind(2) cleanup on failures after mknod
Failures in unix_bind() coming after we'd created a socket
node in filesystem are possible and can leave an unpleasant mess behind.
That had been reported back in February by Denis Kirjanov, but his
proposed solution had holes.
This is a rebase of the series I'd ended up with back then;
I'd prefer to have it go through the regular net.git path.
8 commits total, preliminary massage in the first 6, the fix is #7
and #8 is a minor followup cleanup. Branch is based at net.git/master,
lives in vfs.git #misc.af_unix. Individual patches in followups.
Al Viro (8):
af_unix: take address assignment/hash insertion into a new helper
unix_bind(): allocate addr earlier
unix_bind(): separate BSD and abstract cases
unix_bind(): take BSD and abstract address cases into new helpers
fold unix_mknod() into unix_bind_bsd()
unix_bind_bsd(): move done_path_create() call after dealing with ->bindlock
unix_bind_bsd(): unlink if we fail after successful mknod
__unix_find_socket_byname(): don't pass hash and type separately
net/unix/af_unix.c | 188 +++++++++++++++++++++++++++--------------------------
1 file changed, 96 insertions(+), 92 deletions(-)
Powered by blists - more mailing lists