From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, berrange@redhat.com, zxq_yx_007@163.com,
kraxel@redhat.com, pbonzini@redhat.com,
marcandre.lureau@redhat.com
Subject: [PATCH v2 00/11] sockets: Attempt to drain the abstract socket swamp
Date: Mon, 2 Nov 2020 10:44:11 +0100 [thread overview]
Message-ID: <20201102094422.173975-1-armbru@redhat.com> (raw)
In my opinion, the Linux-specific abstract UNIX domain socket feature
introduced in 5.1 should have been rejected. The feature is niche,
the interface clumsy, the implementation buggy and incomplete, and the
test coverage insufficient. Review fail.
Fixing the parts we can still fix now is regrettably expensive. If I
had the power to decide, I'd unceremoniously revert the feature,
compatibility to 5.1 be damned. But I don't, so here we go.
I'm not sure this set of fixes is complete. However, I already spent
too much time on this, so out it goes. Lightly tested.
For additional information, see
Subject: Our abstract UNIX domain socket support is a mess
Date: Wed, 28 Oct 2020 13:41:06 +0100
Message-ID: <87o8kmwmjh.fsf@dusky.pond.sub.org>
v2:
* PATCH 03: Have unix_server_thread_func(), unix_client_thread_func()
store their parameter in a variable in the hope of communicating its
type more clearly [Daniel]. No lasting effect, as the former goes
away in PATCH 5, and the latter is rewritten in PATCH 6.
* PATCH 05: Fix commit message typo [Eric]
* PATCH 07: Improve commit message [Paolo]
* PATCH 08: Fix computation of @tight [Paolo, Eric], and copying of
@sun_path [Eric]
* PATCH 11: Tweak QAPI schema [Eric], less ugly ifdeffery [Eric],
fix logic error in use of new saddr_is_tight().
Markus Armbruster (11):
test-util-sockets: Plug file descriptor leak
test-util-sockets: Correct to set has_abstract, has_tight
test-util-sockets: Clean up SocketAddress construction
test-util-sockets: Factor out test_socket_unix_abstract_one()
test-util-sockets: Synchronize properly, don't sleep(1)
test-util-sockets: Test the complete abstract socket matrix
sockets: Fix default of UnixSocketAddress member @tight
sockets: Fix socket_sockaddr_to_address_unix() for abstract sockets
char-socket: Fix qemu_chr_socket_address() for abstract sockets
sockets: Bypass "replace empty @path" for abstract unix sockets
sockets: Make abstract UnixSocketAddress depend on CONFIG_LINUX
qapi/sockets.json | 14 ++--
chardev/char-socket.c | 24 +++++-
chardev/char.c | 2 +
tests/test-util-sockets.c | 155 ++++++++++++++++++++------------------
util/qemu-sockets.c | 54 ++++++++++---
5 files changed, 157 insertions(+), 92 deletions(-)
--
2.26.2
next reply other threads:[~2020-11-02 9:46 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-02 9:44 Markus Armbruster [this message]
2020-11-02 9:44 ` [PATCH v2 01/11] test-util-sockets: Plug file descriptor leak Markus Armbruster
2020-11-02 14:10 ` Philippe Mathieu-Daudé
2020-11-02 9:44 ` [PATCH v2 02/11] test-util-sockets: Correct to set has_abstract, has_tight Markus Armbruster
2020-11-02 9:44 ` [PATCH v2 03/11] test-util-sockets: Clean up SocketAddress construction Markus Armbruster
2020-11-02 9:44 ` [PATCH v2 04/11] test-util-sockets: Factor out test_socket_unix_abstract_one() Markus Armbruster
2020-11-02 9:44 ` [PATCH v2 05/11] test-util-sockets: Synchronize properly, don't sleep(1) Markus Armbruster
2020-11-02 9:44 ` [PATCH v2 06/11] test-util-sockets: Test the complete abstract socket matrix Markus Armbruster
2020-11-02 9:44 ` [PATCH v2 07/11] sockets: Fix default of UnixSocketAddress member @tight Markus Armbruster
2020-11-02 9:44 ` [PATCH v2 08/11] sockets: Fix socket_sockaddr_to_address_unix() for abstract sockets Markus Armbruster
2020-11-02 14:04 ` Eric Blake
2020-11-02 9:44 ` [PATCH v2 09/11] char-socket: Fix qemu_chr_socket_address() " Markus Armbruster
2020-11-02 14:08 ` Eric Blake
2020-11-03 6:28 ` Markus Armbruster
2020-11-03 13:17 ` Daniel P. Berrangé
2020-11-03 15:21 ` Markus Armbruster
2020-11-02 9:44 ` [PATCH v2 10/11] sockets: Bypass "replace empty @path" for abstract unix sockets Markus Armbruster
2020-11-02 9:44 ` [PATCH v2 11/11] sockets: Make abstract UnixSocketAddress depend on CONFIG_LINUX Markus Armbruster
2020-11-02 14:12 ` Eric Blake
2020-11-03 6:35 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201102094422.173975-1-armbru@redhat.com \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=zxq_yx_007@163.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).