[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/1] qemu-nbd: regression with arguments passing into nbd_
From: |
Eric Blake |
Subject: |
Re: [PATCH v2 1/1] qemu-nbd: regression with arguments passing into nbd_client_thread() |
Date: |
Thu, 27 Jul 2023 08:34:15 -0500 |
User-agent: |
NeoMutt/20230517 |
On Thu, Jul 27, 2023 at 12:58:28PM +0200, Denis V. Lunev wrote:
> Unfortunately
> commit 03b67621445d601c9cdc7dfe25812e9f19b81488
> Author: Denis V. Lunev <den@openvz.org>
> Date: Mon Jul 17 16:55:40 2023 +0200
> qemu-nbd: pass structure into nbd_client_thread instead of plain char*
> has introduced a regression. struct NbdClientOpts resides on stack inside
> 'if' block. This specifically means that this stack space could be reused
> once the execution will leave that block of the code.
>
> This means that parameters passed into nbd_client_thread could be
> overwritten at any moment.
>
> The patch moves the data to the namespace of main() function effectively
> preserving it for the whole process lifetime.
>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Eric Blake <eblake@redhat.com>
> CC: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
> CC: <qemu-stable@nongnu.org>
> ---
> Changes from v1:
> - fixed compilation without HAVE_NBD_DEVICE (i.e. for Win/BSD)
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization: qemu.org | libguestfs.org