[PULL for -rc1 0/1] NBD patches for 2024-11-18

2024-11-18 Thread Eric Blake
8 for you to fetch changes up to efd3dda312129b91986f85976afbda58d40f757f: nbd-server: Silence server warnings on port probes (2024-11-18 09:06:17 -0600) NBD patches for 2024-11-18 - Eric Blake: Silence qemu-nbd on harmless c

[PULL 1/1] nbd-server: Silence server warnings on port probes

2024-11-18 Thread Eric Blake
While testing the use of qemu-nbd in a Pod of a Kubernetes cluster, I got LOTS of log messages of the forms: qemu-nbd: option negotiation failed: Failed to read flags: Unexpected end-of-file before all data were read qemu-nbd: option negotiation failed: Failed to read flags: Unable to read from

Re: [PATCH] nbd-server: Silence server warnings on port probes

2024-11-18 Thread Eric Blake
On Mon, Nov 18, 2024 at 11:08:51AM -0600, Eric Blake wrote: > On Fri, Nov 15, 2024 at 01:55:53PM -0600, Eric Blake wrote: > > While testing the use of qemu-nbd in a Pod of a Kubernetes cluster, I > > got LOTS of log messages of the forms: > > > > qemu-nbd: option ne

Re: [PATCH] nbd-server: Silence server warnings on port probes

2024-11-18 Thread Eric Blake
On Fri, Nov 15, 2024 at 01:55:53PM -0600, Eric Blake wrote: > While testing the use of qemu-nbd in a Pod of a Kubernetes cluster, I > got LOTS of log messages of the forms: > > qemu-nbd: option negotiation failed: Failed to read flags: Unexpected > end-of-file before all data w

Re: [PATCH v2] vpc: Read images exported from Azure correctly

2024-11-18 Thread Eric Blake
gt;creator_app, "qem2", 4) && > !!strncmp(footer->creator_app, "d2v ", 4) && > !!strncmp(footer->creator_app, "CTXS", 4) && I also don't know if it would be any easier to read by creating a `static

[PATCH] nbd-server: Silence server warnings on port probes

2024-11-15 Thread Eric Blake
While testing the use of qemu-nbd in a Pod of a Kubernetes cluster, I got LOTS of log messages of the forms: qemu-nbd: option negotiation failed: Failed to read flags: Unexpected end-of-file before all data were read qemu-nbd: option negotiation failed: Failed to read flags: Unable to read from

Re: [PATCH 2/2] nbd/server: Allow users to adjust handshake limit in QMP

2024-10-02 Thread Eric Blake
ng ago, and now are stuck with a mix of seconds, > milliseconds, microseconds, and nanoseconds. > > I think a good rule is to pick the first from this list that will surely > provide all the precision we'll ever need. > > In this case, milliseconds should do. I'll u

Re: [PATCH for-9.1 6/9] block/nbd: Use URI parsing code from glib

2024-09-23 Thread Eric Blake
specific semantics, which may not match path name traversal semantics). Looks like we need to report a bug to glib, and/or see if glib's URI functions have a flag for turning off this unwanted munging. Or we may just want to document this corner case change as intentional. -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: [PATCH 1/2] qapi: Drop "with an explanation" from error descriptions

2024-09-12 Thread Eric Blake
rmbruster > --- > qapi/block-core.json | 11 +-- > 1 file changed, 5 insertions(+), 6 deletions(-) Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: [PATCH 2/2] qapi/block-core: Drop drive-backup's "Any other error" documentation

2024-09-12 Thread Eric Blake
rror". > > Not useful. Drop. > > Signed-off-by: Markus Armbruster > --- > qapi/block-core.json | 1 - > 1 file changed, 1 deletion(-) Reviewed-by: Eric Blake > > diff --git a/qapi/block-core.json b/qapi/block-core.json > index 82f59a7758..485388be32 100644 > -

Re: [PATCH 01/39] docs/spin: replace assert(0) with g_assert_not_reached()

2024-09-11 Thread Eric Blake
On Wed, Sep 11, 2024 at 07:33:59AM GMT, Eric Blake wrote: > On Tue, Sep 10, 2024 at 03:15:28PM GMT, Pierrick Bouvier wrote: > > Signed-off-by: Pierrick Bouvier > > --- > > A general suggestion for the entire series: please use a commit > message that explains why th

Re: [PATCH 01/39] docs/spin: replace assert(0) with g_assert_not_reached()

2024-09-11 Thread Eric Blake
e" that can be copy-pasted into all the other commits is better than nothing, although a self-contained message is best. Maybe: This patch is part of a series that moves towards a consistent use of g_assert_not_reached() rather than an ad hoc mix of different assertion mechanisms. -- Eric

Re: [PATCH for-9.2] kvm: Use 'unsigned long' for request argument in functions wrapping ioctl()

2024-08-29 Thread Eric Blake
see also the > review thread on the previous version of the patch: > https://lore.kernel.org/qemu-devel/CAFEAcA8TRQdj33Ycm=xzmuuunapaxvgedexfs+3ycg6klnp...@mail.gmail.com/ > > Since this doesn't actually cause any incorrect behaviour this > is obviously for-9.2 material. >

Re: [PATCH] chardev: allow specifying finer-grained reconnect timeouts

2024-08-29 Thread Eric Blake
es in QAPI where we want mutual exclusion (we mark both fields optional, but expect the user to provide exactly one or get an error), that I wonder if it is worth making it a first-class construct in QAPI (maybe I'm spoiled by the OneOf designation[1] in protobuf[2] used by gRPC[3] in kubernet

[PULL for-9.1-rc4 0/1] NBD patches for 2024-08-26

2024-08-26 Thread Eric Blake
-7409 (use-after-free on nbd-server-stop) ---- Eric Blake (1): nbd/server: CVE-2024-7409: Avoid use-after-free when closing server blockdev-nbd.c | 12 1 file changed, 8 insertions(+), 4 deletions(-) -- 2.46.0

[PULL 1/1] nbd/server: CVE-2024-7409: Avoid use-after-free when closing server

2024-08-26 Thread Eric Blake
}\'') > > def nbd_list(): > while 1: > os.system('/path/to/build/qemu-nbd -L -k /tmp/nbd-sock') > > def test(): > sst = Thread(target=start_stop) > sst.start() > nlt = Thread(target=nbd_list) > nlt.start() > >

[PATCH for-9.1] nbd/server: CVE-2024-7409: Avoid use-after-free when closing server

2024-08-22 Thread Eric Blake
}\'') > > def nbd_list(): > while 1: > os.system('/path/to/build/qemu-nbd -L -k /tmp/nbd-sock') > > def test(): > sst = Thread(target=start_stop) > sst.start() > nlt = Thread(target=nbd_list) > nlt.start() > >

Re: [PATCH v1 1/1] block/file-posix: Avoid maybe-uninitialized warning

2024-08-14 Thread Eric Blake
gt; ../qemu/block/file-posix.c:1401:20: note: ‘zoned’ was declared here > 1401 | BlockZoneModel zoned; > |^ > cc1: all warnings being treated as errors > > Signed-off-by: Edgar E. Iglesias > --- > block/file-posix.c | 2 +- > 1 file changed

Re: [PATCH] docs: Tweak location of qemu nbd extensions

2024-08-13 Thread Eric Blake
On Sat, Aug 03, 2024 at 03:18:35PM GMT, Wouter Verhelst wrote: > On Fri, Aug 02, 2024 at 08:36:43AM -0500, Eric Blake wrote: > > Upstream QEMU is moving the location of its NBD docs, as of its commit > > [1]. Instead of pointing to the raw git source file, point to the &g

Re: [PULL 5/5] nbd/server: CVE-2024-7409: Close stray clients at server-stop

2024-08-12 Thread Eric Blake
On Sun, Aug 11, 2024 at 11:02:52AM GMT, Michael Tokarev wrote: > 09.08.2024 00:53, Eric Blake wrote: > > A malicious client can attempt to connect to an NBD server, and then > > intentionally delay progress in the handshake, including if it does > > not know the TLS secrets.

[PATCH 2/2] nbd/server: Allow users to adjust handshake limit in QMP

2024-08-09 Thread Eric Blake
d unlike the command line, machines don't have problems generating longer spellings. Signed-off-by: Eric Blake --- qapi/block-export.json | 10 ++ include/block/nbd.h| 6 +++--- block/monitor/block-hmp-cmds.c | 4 ++-- blockdev-nbd.c | 26 +

[PATCH for-9.2 0/2] NBD: tune handshake timeout

2024-08-09 Thread Eric Blake
prefer to keep the qemu-nbd command-line spelling shorter. But I'm open to any arguments on why the names should be the same, or on any other better spellings to expose to the user. Eric Blake (2): qemu-nbd: Allow users to adjust handshake limit nbd/server: Allow users to adjust handshake

[PATCH 1/2] qemu-nbd: Allow users to adjust handshake limit

2024-08-09 Thread Eric Blake
t; this is because typing a longer command-line name is undesirable and there is sufficient --help text to document the units. Signed-off-by: Eric Blake --- docs/tools/qemu-nbd.rst | 5 + qemu-nbd.c | 41 ++--- 2 files changed, 31 insertions(+), 15

Re: [PATCH 4/6] qapi/introspect: Supply missing member documentation

2024-08-09 Thread Eric Blake
> qapi/introspect.json | 16 > qapi/pragma.json | 1 - > 2 files changed, 16 insertions(+), 1 deletion(-) Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

[PULL 5/5] nbd/server: CVE-2024-7409: Close stray clients at server-stop

2024-08-08 Thread Eric Blake
E-2024-7409 CC: qemu-sta...@nongnu.org Signed-off-by: Eric Blake Message-ID: <20240807174943.771624-14-ebl...@redhat.com> Reviewed-by: Daniel P. Berrangé --- blockdev-nbd.c | 35 ++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/blockdev-nbd.c

[PULL 1/5] nbd: Minor style and typo fixes

2024-08-08 Thread Eric Blake
Touch up a comment with the wrong type name, and an over-long line, both noticed while working on upcoming patches. Signed-off-by: Eric Blake Message-ID: <20240807174943.771624-10-ebl...@redhat.com> Reviewed-by: Daniel P. Berrangé --- nbd/server.c | 2 +- qemu-nbd.c | 3 ++- 2 files c

[PULL 0/5] NBD: fix CVE-2024-7409 for 9.1

2024-08-08 Thread Eric Blake
oiting nbd-server-stop ---- Eric Blake (5): nbd: Minor style and typo fixes nbd/server: Plumb in new args to nbd_client_add() nbd/server: CVE-2024-7409: Cap default max-connections to 100 nbd/server: CVE-2024-7409

[PULL 3/5] nbd/server: CVE-2024-7409: Cap default max-connections to 100

2024-08-08 Thread Eric Blake
une things should be using QMP). Suggested-by: Daniel P. Berrangé Signed-off-by: Eric Blake Message-ID: <20240807174943.771624-12-ebl...@redhat.com> Reviewed-by: Daniel P. Berrangé [ericb: Expand commit message to summarize Dan's argument for why we break corner-case back-compat behavior

[PULL 2/5] nbd/server: Plumb in new args to nbd_client_add()

2024-08-08 Thread Eric Blake
, although for now the two servers (qemu-nbd.c and blockdev-nbd.c) do not change behavior even though they pass in a new default timeout value. Suggested-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Eric Blake Message-ID: <20240807174943.771624-11-ebl...@redhat.com> Reviewed-by: Da

[PULL 4/5] nbd/server: CVE-2024-7409: Drop non-negotiating clients

2024-08-08 Thread Eric Blake
H[i].connect_uri("nbd://localhost") ' $ kill $! where later connections get to start progressing once earlier ones are forcefully dropped for taking too long, rather than hanging. Suggested-by: Daniel P. Berrangé Signed-off-by: Eric Blake Message-ID: <20240807174943.771624-1

Re: [PATCH] block/blkio: use FUA flag on write zeroes only if supported

2024-08-08 Thread Eric Blake
+ > block/blkio.c | 6 -- > 2 files changed, 6 insertions(+), 2 deletions(-) Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: [PATCH 1/2] util: Refactor json-writer's string sanitizer to be public

2024-08-08 Thread Eric Blake
On Thu, Aug 08, 2024 at 09:54:26AM GMT, Markus Armbruster wrote: > Eric Blake writes: > > > My next patch needs to convert text from an untrusted input into an > > output representation that is suitable for display on a terminal is > > useful to more than just the json

Re: [PATCH v4 5/7] nbd/server: CVE-2024-7409: Close stray client sockets at shutdown

2024-08-07 Thread Eric Blake
On Wed, Aug 07, 2024 at 07:29:25PM GMT, Daniel P. Berrangé wrote: > On Wed, Aug 07, 2024 at 12:43:31PM -0500, Eric Blake wrote: > > A malicious client can attempt to connect to an NBD server, and then > > intentionally delay progress in the handshake, including if it does >

Re: [PATCH v4 3/7] nbd/server: CVE-2024-7409: Change default max-connections to 100

2024-08-07 Thread Eric Blake
On Wed, Aug 07, 2024 at 07:24:56PM GMT, Daniel P. Berrangé wrote: > On Wed, Aug 07, 2024 at 12:43:29PM -0500, Eric Blake wrote: > > Allowing an unlimited number of clients to any web service is a recipe > > for a rudimentary denial of service attack: the client merely needs to &

Re: [PATCH v4 2/7] nbd/server: Plumb in new args to nbd_client_add()

2024-08-07 Thread Eric Blake
On Wed, Aug 07, 2024 at 06:58:36PM GMT, Daniel P. Berrangé wrote: > On Wed, Aug 07, 2024 at 12:43:28PM -0500, Eric Blake wrote: > > Upcoming patches to fix a CVE need to track an opaque pointer passed > > in by the owner of a client object, as well as reequest for a time s/r

[PATCH v4 4/7] nbd/server: CVE-2024-7409: Drop non-negotiating clients

2024-08-07 Thread Eric Blake
H[i].connect_uri("nbd://localhost") ' where later connections get to start progressing once earlier ones are forcefully dropped for taking too long, rather than hanging. Suggested-by: Daniel P. Berrangé Signed-off-by: Eric Blake --- nbd/server.c | 31 ++

Re: [PATCH for-9.1 0/2] NBD: don't print raw server error text to terminal

2024-08-07 Thread Eric Blake
On Mon, Aug 05, 2024 at 08:11:31PM GMT, Richard W.M. Jones wrote: > On Mon, Aug 05, 2024 at 01:48:12PM -0500, Eric Blake wrote: > > On Fri, Aug 02, 2024 at 02:26:04PM GMT, Eric Blake wrote: > > > I've requested a CVE from Red Hat, and hope to have an assigned number > &g

[PATCH for-9.1 v4 0/7] CVE-2024-7409

2024-08-07 Thread Eric Blake
for reverting back to 9.0 behavior for integration testing purposes; I'm okay if these last two miss 9.1 Eric Blake (7): nbd: Minor style fixes nbd/server: Plumb in new args to nbd_client_add() nbd/server: CVE-2024-7409: Change default max-connections to 100 nbd/server: CVE-2024

[PATCH v4 6/7] qemu-nbd: Allow users to adjust handshake limit

2024-08-07 Thread Eric Blake
away from the default. This option is unlikely to be used in enough scenarios to warrant a short option letter. Signed-off-by: Eric Blake --- I'm not sure if this is 9.1 material. It is a new feature (user-visible command line option) implemented after soft freeze; on the other hand, i

[PATCH v4 7/7] nbd/server: Allow users to adjust handshake limit in QMP

2024-08-07 Thread Eric Blake
he default. Signed-off-by: Eric Blake --- I'm not sure if this is 9.1 material. It is a new feature (user-visible QMP addition) implemented after soft freeze; on the other hand, it allows one to recover the behavior that existed prior to plugging the CVE which may be useful in inte

[PATCH v4 1/7] nbd: Minor style fixes

2024-08-07 Thread Eric Blake
Touch up a comment with the wrong type name, and an over-long line, both noticed while working on upcoming patches. Signed-off-by: Eric Blake --- nbd/server.c | 2 +- qemu-nbd.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/nbd/server.c b/nbd/server.c index

[PATCH v4 2/7] nbd/server: Plumb in new args to nbd_client_add()

2024-08-07 Thread Eric Blake
, although for now the two servers (qemu-nbd.c and blockdev-nbd.c) do not change behavior. Suggested-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Eric Blake --- include/block/nbd.h | 11 ++- blockdev-nbd.c | 6 -- nbd/server.c| 20 +--- qemu-nbd.c

[PATCH v4 5/7] nbd/server: CVE-2024-7409: Close stray client sockets at shutdown

2024-08-07 Thread Eric Blake
list closed in nbd_export_close_all), despite that patch intentionally tearing down the QIONetListener to prevent new clients. Reported-by: Alexander Ivanov Fixes: CVE-2024-7409 Signed-off-by: Eric Blake --- blockdev-nbd.c | 35 ++- 1 file changed, 34 insertions(

[PATCH v4 3/7] nbd/server: CVE-2024-7409: Change default max-connections to 100

2024-08-07 Thread Eric Blake
from being able to connect; thus, later patches will further add timeouts to reject clients that are not making progress. Suggested-by: Daniel P. Berrangé Signed-off-by: Eric Blake --- qapi/block-export.json | 4 ++-- include/block/nbd.h| 7 +++ block/monitor/block-hmp-c

Re: [PATCH v3 2/2] nbd: Clean up clients more efficiently

2024-08-06 Thread Eric Blake
On Tue, Aug 06, 2024 at 10:32:54AM GMT, Daniel P. Berrangé wrote: > On Mon, Aug 05, 2024 at 09:21:36PM -0500, Eric Blake wrote: > > Since an NBD server may be long-living, serving clients that > > repeatedly connect and disconnect, it can be more efficient to clean > >

Re: [PATCH v3 2/2] nbd: Clean up clients more efficiently

2024-08-06 Thread Eric Blake
On Tue, Aug 06, 2024 at 10:32:54AM GMT, Daniel P. Berrangé wrote: > On Mon, Aug 05, 2024 at 09:21:36PM -0500, Eric Blake wrote: > > Since an NBD server may be long-living, serving clients that > > repeatedly connect and disconnect, it can be more efficient to clean > >

Re: [PATCH v3 2/2] nbd: Clean up clients more efficiently

2024-08-05 Thread Eric Blake
On Mon, Aug 05, 2024 at 09:21:36PM GMT, Eric Blake wrote: > Since an NBD server may be long-living, serving clients that > repeatedly connect and disconnect, it can be more efficient to clean > up after each client disconnects, rather than storing a list of > resources to clean up whe

Re: [PATCH v2 1/3] nbd: CVE-XXX: Use cookie to track generation of nbd-server

2024-08-05 Thread Eric Blake
ake it clear I'm relying on the synchronous nature of coroutines yielding only at known points and the code executing only in the main thread as the reason why we don't need explicit locking here. -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

[PATCH for-9.1 v3 0/2] NBD CVE-2024-7409

2024-08-05 Thread Eric Blake
f a doubly-linked list (where the client has to remember an opaque pointer) over a singly-linked one (where the client is unchanged, but a lot of repeated client connect/disconnect over a long-lived server can chew up memory and slow down the eventual nbd-server-stop) Eric Blake (2):

[PATCH v3 1/2] nbd: CVE-2024-7409: Close stray client sockets at server shutdown

2024-08-05 Thread Eric Blake
ocket never got added to the list closed in nbd_export_close_all), despite that patch intentionally tearing down the QIONetListener to prevent new clients. Reported-by: Alexander Ivanov Fixes: CVE-2024-7409 Signed-off-by: Eric Blake --- blockdev-nbd.c | 30 ++ 1 file ch

[PATCH v3 2/2] nbd: Clean up clients more efficiently

2024-08-05 Thread Eric Blake
that we can get O(1) deletion to keep the list pruned to size as clients exit. This in turn requires each client to track an opaque pointer of owner information (although qemu-nbd doesn't need to refer to it). Signed-off-by: Eric Blake --- include/block/nbd.h | 4 +++- blockdev-nbd.c

Re: [PATCH for-9.1 0/2] NBD: don't print raw server error text to terminal

2024-08-05 Thread Eric Blake
On Fri, Aug 02, 2024 at 02:26:04PM GMT, Eric Blake wrote: > I've requested a CVE from Red Hat, and hope to have an assigned number > soon. Meanwhile, we can get review started, to make sure this is > ready to include in 9.1. 'qemu-img info' should never print untrusted &g

[PATCH for-9.1 0/2] NBD: don't print raw server error text to terminal

2024-08-02 Thread Eric Blake
ace purposes), but we may find uses for it; in fact, it raises the question of whether any of our trace_ calls need to sanitize untrusted data (or whether we can rely on ALL trace engines to be doing that on our behalf, already). Eric Blake (2): util: Refactor json-writer's string sanitize

[PATCH 2/2] qemu-img: CVE-XXX Sanitize untrusted output from NBD server

2024-08-02 Thread Eric Blake
ts in trace_nbd_server_error_msg; this is because I assume that our trace engines already treat all string strings as untrusted input and apply their own escaping as needed. Reported-by: "Richard W.M. Jones" Signed-off-by: Eric Blake --- If my assumption about allowing raw escape bytes t

[PATCH 1/2] util: Refactor json-writer's string sanitizer to be public

2024-08-02 Thread Eric Blake
e are okay passing printable Unicode through (we still need to escape control characters). But for now, I went for minimal code churn, including the fact that the resulting function allows a non-UTF-8 2-byte synonym for U+. Signed-off-by: Eric Blake --- include/qemu/unicode.h | 3 ++ qobject

Re: [PATCH v2 1/3] nbd: CVE-XXX: Use cookie to track generation of nbd-server

2024-08-02 Thread Eric Blake
On Fri, Aug 02, 2024 at 06:00:32PM GMT, Vladimir Sementsov-Ogievskiy wrote: > On 02.08.24 04:32, Eric Blake wrote: > [..] > > > -static void nbd_blockdev_client_closed(NBDClient *client, bool ignored) > > +static void nbd_blockdev_client_closed(NBDClient *cl

Re: [PATCH v2 1/3] nbd: CVE-XXX: Use cookie to track generation of nbd-server

2024-08-02 Thread Eric Blake
On Thu, Aug 01, 2024 at 08:32:06PM GMT, Eric Blake wrote: > As part of the QMP command nbd-server-start, the blockdev code was > creating a single global nbd_server object, and telling the qio code > to accept one or more client connections to the exposed listener > socket. But ev

Re: [PATCH 6/5] docs: Typo fix in live disk backup

2024-08-02 Thread Eric Blake
On Fri, Aug 02, 2024 at 08:30:25AM GMT, Eric Blake wrote: > Add in the missing space in the section header. > > Fixes: 1084159b31 ("qapi: deprecate drive-backup", v6.2.0) > Signed-off-by: Eric Blake Regarding the subject line using [PATCH 6/5]: I meant to send

[PATCH] docs: Tweak location of qemu nbd extensions

2024-08-02 Thread Eric Blake
Upstream QEMU is moving the location of its NBD docs, as of its commit [1]. Instead of pointing to the raw git source file, point to the rendered html version built from rST. CC: qemu-devel@nongnu.org Signed-off-by: Eric Blake --- [1] Commit id TBD, I will update this patch to match

[PATCH 6/5] docs: Typo fix in live disk backup

2024-08-02 Thread Eric Blake
Add in the missing space in the section header. Fixes: 1084159b31 ("qapi: deprecate drive-backup", v6.2.0) Signed-off-by: Eric Blake --- Noticed while figuring out where nbd docs would appear in [1] once [2] goes live: [1] https://www.qemu.org/docs/master/interop/index.html

Re: [PATCH 2/5] docs/interop/nbd.txt: Convert to rST

2024-08-02 Thread Eric Blake
On Fri, Aug 02, 2024 at 09:39:41AM GMT, Peter Maydell wrote: > On Thu, 1 Aug 2024 at 19:39, Eric Blake wrote: > > > > On Thu, Aug 01, 2024 at 06:01:28PM GMT, Peter Maydell wrote: > > > Convert nbd.txt to rST format. > > > > > > -F: docs/inte

[PATCH v2 1/3] nbd: CVE-XXX: Use cookie to track generation of nbd-server

2024-08-01 Thread Eric Blake
through NBD negotiation); the next patch will add some code to forcefully close any lingering clients as soon as possible when the server is torn down. Reported-by: Alexander Ivanov Signed-off-by: Eric Blake --- include/block/nbd.h | 3 ++- blockdev-nbd.c | 17 - nbd/server.c

[PATCH v2 3/3] nbd: Minor style fixes

2024-08-01 Thread Eric Blake
Touch up a comment with the wrong type name, and an over-long line, both noticed while working on the previous patches. Signed-off-by: Eric Blake --- nbd/server.c | 2 +- qemu-nbd.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/nbd/server.c b/nbd/server.c index

[PATCH v2 2/3] nbd: CVE-XXX: Close stray client sockets at server shutdown

2024-08-01 Thread Eric Blake
service attack, so it is still categorized under the same CVE. Signed-off-by: Eric Blake --- I do not know if I need to worry about multi-threaded access (is it possible that more than one client trying to connect simultaneously means that I need to access nbd_server->conns atomically)? block

[PATCH v2 for-9.1 0/3] Avoid NBD crash on nbd-server-stop

2024-08-01 Thread Eric Blake
y on a prolonged NBD_OPT_* conversation). [I'm also aware of some Coverity analysis pointing to potential race conditions in block/nbd.c; if those need fixes, I hope to also post patches for those in time for inclusion in the same pull request that picks up this series] Eric Blake (3): nbd

Re: [PATCH 2/5] docs/interop/nbd.txt: Convert to rST

2024-08-01 Thread Eric Blake
> +bit 0: > + ``NBD_STATE_DIRTY``, set when the extent is "dirty" > + > +The second is related to exposing the source of various extents within > +the image, with a single metadata context named:: I'm not an rst expert, so I'm assuming the difference between

Re: [PATCH] iotests/024: exclude 'backing file format' field from the output

2024-07-30 Thread Eric Blake
> Signed-off-by: Andrey Drobyshev > --- > tests/qemu-iotests/024 | 2 +- > tests/qemu-iotests/024.out | 1 - > 2 files changed, 1 insertion(+), 2 deletions(-) Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: [PATCH v3] scripts/qcow2-to-stdout.py: Add script to write qcow2 images to stdout

2024-07-29 Thread Eric Blake
ue, > +) Does q-s-d exposing an image as raw still support lseek(SEEK_HOLE) efficiently? > +parser.add_argument( > +"-v", > +dest="qcow2_version", > +metavar="qcow2_version", > +help=f"qcow2 version (default: {QCOW2_DEFAULT_VERSION})", > +default=QCOW2_DEFAULT_VERSION, > +type=int, > +choices=[2, 3], Is it really worth trying to create v2 images? These days, v3 images are hands down better, and we should be encouraging people to upgrade their tools to v3 all around, rather than making it easy to still consume v2 images. -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: [PATCH] nbd: Prevent NULL pointer dereference in nbd_blockdev_client_closed()

2024-07-29 Thread Eric Blake
ns > 0) { +error_setg(errp, "NBD server still has connected clients"); +return; +} + nbd_server_free(nbd_server); nbd_server = NULL; } but it's not as graceful as I'd like (it would be nicer to have the nbd-server-stop command wait until it k

Re: query dirty areas according to bitmap via QMP or qemu-nbd

2024-07-29 Thread Eric Blake
ry about things like the two contexts returning different lengths of information ("base:allocation" might tell you about a 64k hole while qemu:dirty-bitmap:XXX tells you about a 1M dirty region - but consolidating that into contiguous extents of combined output information is tricky, especially if you don't want to re-query status you already know about one context but not the other). > > Best Regards, > Fiona > -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: query dirty areas according to bitmap via QMP or qemu-nbd

2024-07-26 Thread Eric Blake
h, but it has never risen to the level of enough of an itch for me to write it myself (especially since 'nbdinfo --map's output works just as well). -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: [Stable-7.2.12 00/29] Patch Round-up for stable 7.2.12, frozen at 2024-06-07

2024-06-10 Thread Eric Blake
On Mon, Jun 10, 2024 at 03:20:53PM GMT, Michael Tokarev wrote: > 10.06.2024 15:17, Eric Blake wrote: > > > 01* 690ceb71936f Philippe Mathieu-Daudé: > > > gitlab-ci: Remove job building EDK2 firmware binaries > > > 02* 7bc1286b81d4 Palmer Dabbelt: > > >

Re: [PATCH] nbd: Prevent NULL pointer dereference in nbd_blockdev_client_closed()

2024-06-10 Thread Eric Blake
there is still an active client, and make sure we don't have any other NULL derefs. I'll respond again once I've studied the code a bit more. > > nbd_server->connections--; > > nbd_update_server_watch(nbd_server); > > -- > Best regards, > Alexander Ivanov -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: [Stable-7.2.12 00/29] Patch Round-up for stable 7.2.12, frozen at 2024-06-07

2024-06-10 Thread Eric Blake
On Mon, Jun 10, 2024 at 07:17:53AM GMT, Eric Blake wrote: > On Fri, Jun 07, 2024 at 10:12:02PM GMT, Michael Tokarev wrote: > > The following patches are queued for QEMU stable v7.2.12: > > > > https://gitlab.com/qemu-project/qemu/-/commits/staging-7.2 > > > > P

Re: [Stable-7.2.12 00/29] Patch Round-up for stable 7.2.12, frozen at 2024-06-07

2024-06-10 Thread Eric Blake
> 03* 04f6fb897a5a Michael Tokarev: >linux-user: do_setsockopt: fix SOL_ALG.ALG_SET_KEY > 04* ae6d91a7e9b7 Zhu Yangyang: >nbd/server: do not poll within a coroutine context > 05* 4fa333e08dd9 Eric Blake: >nbd/server: Mark negotiation functions as coroutine_fn In addition t

[PULL v2 2/2] iotests: test NBD+TLS+iothread

2024-06-03 Thread Eric Blake
relicensing from 2-clause BSD to GPLv2. CC: qemu-sta...@nongnu.org CC: "Richard W.M. Jones" Signed-off-by: Eric Blake Message-ID: <20240531180639.1392905-6-ebl...@redhat.com> Reviewed-by: Daniel P. Berrangé --- tests/qemu-iotests/tests/nbd-tls-iothread | 168 ++

[PULL v2 0/2] NBD patches for 2024-05-30

2024-06-03 Thread Eric Blake
th NBD+TLS ---- Eric Blake (2): qio: Inherit follow_coroutine_ctx across TLS iotests: test NBD+TLS+iothread io/channel-tls.c | 26 ++-- io/channel-websock.c | 1 + tests/qemu-iotests/tests/nbd-tl

[PULL v2 1/2] qio: Inherit follow_coroutine_ctx across TLS

2024-06-03 Thread Eric Blake
e way that they inherit feature bits. CC: Stefan Hajnoczi CC: Daniel P. Berrangé CC: qemu-sta...@nongnu.org Fixes: https://issues.redhat.com/browse/RHEL-34786 Fixes: 06e0f098 ("io: follow coroutine AioContext in qio_channel_yield()", v8.2.0) Signed-off-by: Eric Blake Reviewed

[PATCH v3 1/2] qio: Inherit follow_coroutine_ctx across TLS

2024-05-31 Thread Eric Blake
e way that they inherit feature bits. CC: Stefan Hajnoczi CC: Daniel P. Berrangé CC: qemu-sta...@nongnu.org Fixes: https://issues.redhat.com/browse/RHEL-34786 Fixes: 06e0f098 ("io: follow coroutine AioContext in qio_channel_yield()", v8.2.0) Signed-off-by: Eric Blake Reviewed

[PATCH v3 0/2] Fix NBD+TLS regression in presence of iothread

2024-05-31 Thread Eric Blake
In v3: - 2/2: fix iotest filtering [kwolf] v2 was here: https://lists.gnu.org/archive/html/qemu-devel/2024-05/msg03517.html and this time, I'll wait for R-b before sending my v2 pull request: https://lists.gnu.org/archive/html/qemu-devel/2024-05/msg06206.html Eric Blake (2): qio: In

[PATCH v3 2/2] iotests: test NBD+TLS+iothread

2024-05-31 Thread Eric Blake
relicensing from 2-clause BSD to GPLv2. CC: qemu-sta...@nongnu.org CC: "Richard W.M. Jones" Signed-off-by: Eric Blake --- tests/qemu-iotests/tests/nbd-tls-iothread | 168 ++ tests/qemu-iotests/tests/nbd-tls-iothread.out | 54 ++ 2 files changed, 222 insertions(

Re: [PULL 0/2] NBD patches for 2024-05-30

2024-05-31 Thread Eric Blake
On Thu, May 30, 2024 at 07:22:16AM GMT, Eric Blake wrote: > The following changes since commit 3b2fe44bb7f605f179e5e7feb2c13c2eb3abbb80: > > Merge tag 'pull-request-2024-05-29' of https://gitlab.com/thuth/qemu into > staging (2024-05-29 08:38:20 -0700) > > are ava

Re: [PATCH v2 2/2] iotests: test NBD+TLS+iothread

2024-05-31 Thread Eric Blake
On Fri, May 31, 2024 at 04:36:20PM GMT, Kevin Wolf wrote: > Am 18.05.2024 um 04:50 hat Eric Blake geschrieben: > > Prevent regressions when using NBD with TLS in the presence of > > iothreads, adding coverage the fix to qio channels made in the > > previous patch.

Re: [PATCH v2 1/4] qom: allow to mark objects (including devices) as deprecated.

2024-05-30 Thread Eric Blake
suggest s/allow to mark/allow marking/ > > Signed-off-by: Gerd Hoffmann > --- > include/qom/object.h | 1 + > qom/qom-qmp-cmds.c| 4 > system/qdev-monitor.c | 5 + > qapi/qom.json | 4 +++- > 4 files changed, 13 insertions(+), 1 deletion(-) > Revi

[PULL 0/2] NBD patches for 2024-05-30

2024-05-30 Thread Eric Blake
th NBD+TLS ---- Eric Blake (2): qio: Inherit follow_coroutine_ctx across TLS iotests: test NBD+TLS+iothread io/channel-tls.c | 26 ++-- io/channel-websock.c | 1 + tests/qemu-iotests/tests/nbd-tl

[PULL 2/2] iotests: test NBD+TLS+iothread

2024-05-30 Thread Eric Blake
relicensing from 2-clause BSD to GPLv2. CC: qemu-sta...@nongnu.org CC: "Richard W.M. Jones" Signed-off-by: Eric Blake Message-ID: <20240518025246.791593-6-ebl...@redhat.com> --- tests/qemu-iotests/tests/nbd-tls-iothread | 168 ++ tests/qemu-iotests/tests/nbd-

[PULL 1/2] qio: Inherit follow_coroutine_ctx across TLS

2024-05-30 Thread Eric Blake
e way that they inherit feature bits. CC: Stefan Hajnoczi CC: Daniel P. Berrangé CC: qemu-sta...@nongnu.org Fixes: https://issues.redhat.com/browse/RHEL-34786 Fixes: 06e0f098 ("io: follow coroutine AioContext in qio_channel_yield()", v8.2.0) Signed-off-by: Eric Blake Reviewed

Re: [PATCH v2 2/2] iotests: test NBD+TLS+iothread

2024-05-17 Thread Eric Blake
Adding a bit of self-review (in case you want to amend this before pushing, instead of waiting for me to get back online), On Fri, May 17, 2024 at 09:50:15PM GMT, Eric Blake wrote: > Prevent regressions when using NBD with TLS in the presence of > iothreads, adding coverage the fix

Re: [PATCH v2 0/2] Fix NBD+TLS regression in presence of iothread

2024-05-17 Thread Eric Blake
On Fri, May 17, 2024 at 09:50:13PM GMT, Eric Blake wrote: > In v2: > - correct list email address > - add iotest > - add R-b > > I'm offline next week, and have been communicating with Stefan who may > want to push this through his block tree instead of waiting for me to

[PATCH v2 1/2] qio: Inherit follow_coroutine_ctx across TLS

2024-05-17 Thread Eric Blake
e way that they inherit feature bits. CC: Stefan Hajnoczi CC: Daniel P. Berrangé CC: qemu-sta...@nongnu.org Fixes: https://issues.redhat.com/browse/RHEL-34786 Fixes: 06e0f098 ("io: follow coroutine AioContext in qio_channel_yield()", v8.2.0) Signed-off-by: Eric Blake Reviewed

[PATCH v2 2/2] iotests: test NBD+TLS+iothread

2024-05-17 Thread Eric Blake
Prevent regressions when using NBD with TLS in the presence of iothreads, adding coverage the fix to qio channels made in the previous patch. CC: qemu-sta...@nongnu.org Signed-off-by: Eric Blake --- tests/qemu-iotests/tests/nbd-tls-iothread | 170 ++ tests/qemu-iotests/tests

[PATCH v2 0/2] Fix NBD+TLS regression in presence of iothread

2024-05-17 Thread Eric Blake
In v2: - correct list email address - add iotest - add R-b I'm offline next week, and have been communicating with Stefan who may want to push this through his block tree instead of waiting for me to get back. Eric Blake (2): qio: Inherit follow_coroutine_ctx across TLS iotests: test NB

Re: [PATCH 01/14] include/hw: add helpers for defining versioned machine types

2024-05-02 Thread Eric Blake
to the containing macro; usage: * * _MACHINE_VER_PICK(__VA_ARGS__, \ *MACRO_FOR_5_ARGS, \ *MACRO_FOR_4_ARGS, \ *MACRO_FOR_3_ARGS, \ * MACRO_FOR_2_ARGS)(optional prefix args, __VA_ARGS__) */ But once understood, I see it comes in handy in several places below. Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

[PULL 2/2] nbd/server: Mark negotiation functions as coroutine_fn

2024-04-25 Thread Eric Blake
option negotiation as also being coroutine_fn. Suggested-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Eric Blake Message-ID: <20240408160214.1200629-6-ebl...@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy [eblake: drop one spurious coroutine_fn marking] Signed-off-by: Eric Blake --

[PULL 1/2] nbd/server: do not poll within a coroutine context

2024-04-25 Thread Eric Blake
ching the callback, whether or not it required a yield or main loop. Fixes: f95910f ("nbd: implement TLS support in the protocol negotiation") Signed-off-by: Zhu Yangyang [eblake: move callbacks to their use point, add assertions] Signed-off-by: Eric Blake Message-ID: <2024040816

[PULL 0/2] NBD patches for 2024-04-25

2024-04-25 Thread Eric Blake
coroutine ---- Eric Blake (1): nbd/server: Mark negotiation functions as coroutine_fn Zhu Yangyang (1): nbd/server: do not poll within a coroutine context nbd/nbd-internal.h | 10 - nbd/client.c | 28 ++-- nb

Re: [PATCH v3 09/13] block/gluster: Use URI parsing code from glib

2024-04-19 Thread Eric Blake
need to > tweak the parameter of parse_volume_options() (where we use the > result of g_uri_get_path() as input). > > Reviewed-by: Eric Blake > Reviewed-by: Daniel P. Berrangé > Signed-off-by: Thomas Huth > --- > block/gluster.c | 71

Re: [PATCH v3 04/13] tests: Update our CI to use CentOS Stream 9 instead of 8

2024-04-19 Thread Eric Blake
Stream 8 will be archived >and no further updates will be provided." > > Thus upgrade our CentOS Stream container to major version 9 now. > > Reviewed-by: Daniel P. Berrangé > Signed-off-by: Thomas Huth -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: [PATCH] tests/unit: Remove debug statements in test-nested-aio-poll.c

2024-04-19 Thread Eric Blake
6164 > < io_poll_ready > 88/100 qemu:unit / test-nested-aio-pollOK > > Signed-off-by: Philippe Mathieu-Daudé > --- > tests/unit/test-nested-aio-poll.c | 7 --- > 1 file changed, 7 deletions(-) Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

Re: [PATCH v3 01/13] tests: Remove Ubuntu 20.04 container

2024-04-19 Thread Eric Blake
Reviewed-by: Philippe Mathieu-Daudé > Signed-off-by: Thomas Huth > --- -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org

  1   2   3   4   5   6   7   8   9   10   >