From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 2F86C1FF2C5 for ; Mon, 8 Jul 2024 16:03:25 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 6D6F97A5B; Mon, 8 Jul 2024 16:03:45 +0200 (CEST) Date: Mon, 08 Jul 2024 16:03:07 +0200 From: Fabian =?iso-8859-1?q?Gr=FCnbichler?= To: Proxmox VE development discussion References: <20240708100920.105879-1-f.ebner@proxmox.com> In-Reply-To: <20240708100920.105879-1-f.ebner@proxmox.com> MIME-Version: 1.0 User-Agent: astroid/0.16.0 (https://github.com/astroidmail/astroid) Message-Id: <1720447377.ljrb7b53dr.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.000 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment PROLO_LEO1 0.1 Meta Catches all Leo drug variations so far SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] applied: [PATCH qemu] zeroinit: fix regression with filename parsing X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" with the missing link added to the commit message. On July 8, 2024 12:09 pm, Fiona Ebner wrote: > As reported in the community forum [0], cloning or importing images > to RBD storages (without the krbd setting) was broken. This is a > result of no filename parsing happening anymore in bdrv_open_child() > after commit b242e7f ("backport fix for CVE-2024-4467"), which the > zeroinit relied on for passing along the RBD filename+key-value pairs. > > There is a dedicated function for opening the file child which still > does filename parsing. Use that for opening the file child. Role and > flags should still be the same as with the manual bdrv_open_child(), > because the zeroinit driver is a filter, and the assignment bs->file > is also done by bdrv_open_file_child(). > > Fixes: b242e7f ("backport fix for CVE-2024-4467") > Signed-off-by: Fiona Ebner > --- > ...add-the-zeroinit-block-driver-filter.patch | 24 +++++++------------ > 1 file changed, 9 insertions(+), 15 deletions(-) > > diff --git a/debian/patches/pve/0019-PVE-block-add-the-zeroinit-block-driver-filter.patch b/debian/patches/pve/0019-PVE-block-add-the-zeroinit-block-driver-filter.patch > index 34a7efe..7464ca5 100644 > --- a/debian/patches/pve/0019-PVE-block-add-the-zeroinit-block-driver-filter.patch > +++ b/debian/patches/pve/0019-PVE-block-add-the-zeroinit-block-driver-filter.patch > @@ -5,12 +5,13 @@ Subject: [PATCH] PVE: block: add the zeroinit block driver filter > > Signed-off-by: Thomas Lamprecht > [FE: adapt to changed function signatures > - adhere to block graph lock requirements] > + adhere to block graph lock requirements > + use dedicated function to open file child] > Signed-off-by: Fiona Ebner > --- > block/meson.build | 1 + > - block/zeroinit.c | 214 ++++++++++++++++++++++++++++++++++++++++++++++ > - 2 files changed, 215 insertions(+) > + block/zeroinit.c | 207 ++++++++++++++++++++++++++++++++++++++++++++++ > + 2 files changed, 208 insertions(+) > create mode 100644 block/zeroinit.c > > diff --git a/block/meson.build b/block/meson.build > @@ -27,10 +28,10 @@ index e1f03fd773..b530e117b5 100644 > system_ss.add(when: 'CONFIG_TCG', if_true: files('blkreplay.c')) > diff --git a/block/zeroinit.c b/block/zeroinit.c > new file mode 100644 > -index 0000000000..696558d8d6 > +index 0000000000..7998c9332d > --- /dev/null > +++ b/block/zeroinit.c > -@@ -0,0 +1,214 @@ > +@@ -0,0 +1,207 @@ > +/* > + * Filter to fake a zero-initialized block device. > + * > @@ -96,7 +97,6 @@ index 0000000000..696558d8d6 > + Error **errp) > +{ > + BDRVZeroinitState *s = bs->opaque; > -+ BdrvChild *file = NULL; > + QemuOpts *opts; > + Error *local_err = NULL; > + int ret; > @@ -112,15 +112,9 @@ index 0000000000..696558d8d6 > + } > + > + /* Open the raw file */ > -+ file = bdrv_open_child(qemu_opt_get(opts, "x-next"), options, "next", bs, > -+ &child_of_bds, > -+ BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY, false, > -+ &local_err); > -+ bdrv_graph_wrlock(); > -+ bs->file = file; > -+ bdrv_graph_wrunlock(); > -+ if (local_err) { > -+ ret = -EINVAL; > ++ ret = bdrv_open_file_child(qemu_opt_get(opts, "x-next"), options, "next", > ++ bs, &local_err); > ++ if (ret < 0) { > + error_propagate(errp, local_err); > + goto fail; > + } > -- > 2.39.2 > > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > > _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel