All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tests/unit/test-block-iothread: fix maybe-uninitialized error on GCC 11
@ 2021-03-19 11:22 Emanuele Giuseppe Esposito
  2021-03-19 11:28 ` Paolo Bonzini
  2021-03-21 12:53 ` Alberto Garcia
  0 siblings, 2 replies; 3+ messages in thread
From: Emanuele Giuseppe Esposito @ 2021-03-19 11:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, Vladimir Sementsov-Ogievskiy, Alberto Garcia,
	Max Reitz, Paolo Bonzini

When building qemu with GCC 11, test-block-iothread produces the following
warning:

../tests/unit/test-block-iothread.c:148:11: error: ‘buf’ may be used
uninitialized [-Werror=maybe-uninitialized]

This is caused by buf[512] left uninitialized and passed to
bdrv_save_vmstate() that expects a const uint8_t *, so the compiler
assumes it will be read and expects the parameter to be initialized.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
 tests/unit/test-block-iothread.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/unit/test-block-iothread.c b/tests/unit/test-block-iothread.c
index 3f866a35c6..8cf172cb7a 100644
--- a/tests/unit/test-block-iothread.c
+++ b/tests/unit/test-block-iothread.c
@@ -89,7 +89,7 @@ static void test_sync_op_pread(BdrvChild *c)
 
 static void test_sync_op_pwrite(BdrvChild *c)
 {
-    uint8_t buf[512];
+    uint8_t buf[512] = { 0 };
     int ret;
 
     /* Success */
@@ -117,7 +117,7 @@ static void test_sync_op_blk_pread(BlockBackend *blk)
 
 static void test_sync_op_blk_pwrite(BlockBackend *blk)
 {
-    uint8_t buf[512];
+    uint8_t buf[512] = { 0 };
     int ret;
 
     /* Success */
@@ -141,7 +141,7 @@ static void test_sync_op_load_vmstate(BdrvChild *c)
 
 static void test_sync_op_save_vmstate(BdrvChild *c)
 {
-    uint8_t buf[512];
+    uint8_t buf[512] = { 0 };
     int ret;
 
     /* Error: Driver does not support snapshots */
-- 
2.29.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] tests/unit/test-block-iothread: fix maybe-uninitialized error on GCC 11
  2021-03-19 11:22 [PATCH] tests/unit/test-block-iothread: fix maybe-uninitialized error on GCC 11 Emanuele Giuseppe Esposito
@ 2021-03-19 11:28 ` Paolo Bonzini
  2021-03-21 12:53 ` Alberto Garcia
  1 sibling, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2021-03-19 11:28 UTC (permalink / raw)
  To: Emanuele Giuseppe Esposito, qemu-devel
  Cc: Kevin Wolf, Alberto Garcia, Vladimir Sementsov-Ogievskiy, Max Reitz

On 19/03/21 12:22, Emanuele Giuseppe Esposito wrote:
> When building qemu with GCC 11, test-block-iothread produces the following
> warning:
> 
> ../tests/unit/test-block-iothread.c:148:11: error: ‘buf’ may be used
> uninitialized [-Werror=maybe-uninitialized]
> 
> This is caused by buf[512] left uninitialized and passed to
> bdrv_save_vmstate() that expects a const uint8_t *, so the compiler
> assumes it will be read and expects the parameter to be initialized.
> 
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
>   tests/unit/test-block-iothread.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/unit/test-block-iothread.c b/tests/unit/test-block-iothread.c
> index 3f866a35c6..8cf172cb7a 100644
> --- a/tests/unit/test-block-iothread.c
> +++ b/tests/unit/test-block-iothread.c
> @@ -89,7 +89,7 @@ static void test_sync_op_pread(BdrvChild *c)
>   
>   static void test_sync_op_pwrite(BdrvChild *c)
>   {
> -    uint8_t buf[512];
> +    uint8_t buf[512] = { 0 };
>       int ret;
>   
>       /* Success */
> @@ -117,7 +117,7 @@ static void test_sync_op_blk_pread(BlockBackend *blk)
>   
>   static void test_sync_op_blk_pwrite(BlockBackend *blk)
>   {
> -    uint8_t buf[512];
> +    uint8_t buf[512] = { 0 };
>       int ret;
>   
>       /* Success */
> @@ -141,7 +141,7 @@ static void test_sync_op_load_vmstate(BdrvChild *c)
>   
>   static void test_sync_op_save_vmstate(BdrvChild *c)
>   {
> -    uint8_t buf[512];
> +    uint8_t buf[512] = { 0 };
>       int ret;
>   
>       /* Error: Driver does not support snapshots */
> 

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tests/unit/test-block-iothread: fix maybe-uninitialized error on GCC 11
  2021-03-19 11:22 [PATCH] tests/unit/test-block-iothread: fix maybe-uninitialized error on GCC 11 Emanuele Giuseppe Esposito
  2021-03-19 11:28 ` Paolo Bonzini
@ 2021-03-21 12:53 ` Alberto Garcia
  1 sibling, 0 replies; 3+ messages in thread
From: Alberto Garcia @ 2021-03-21 12:53 UTC (permalink / raw)
  To: Emanuele Giuseppe Esposito, qemu-devel
  Cc: Kevin Wolf, Paolo Bonzini, Vladimir Sementsov-Ogievskiy, Max Reitz

On Fri 19 Mar 2021 12:22:18 PM CET, Emanuele Giuseppe Esposito <eesposit@redhat.com> wrote:
> When building qemu with GCC 11, test-block-iothread produces the following
> warning:
>
> ../tests/unit/test-block-iothread.c:148:11: error: ‘buf’ may be used
> uninitialized [-Werror=maybe-uninitialized]
>
> This is caused by buf[512] left uninitialized and passed to
> bdrv_save_vmstate() that expects a const uint8_t *, so the compiler
> assumes it will be read and expects the parameter to be initialized.
>
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>

Reviewed-by: Alberto Garcia <berto@igalia.com>

Berto


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-03-21 12:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-19 11:22 [PATCH] tests/unit/test-block-iothread: fix maybe-uninitialized error on GCC 11 Emanuele Giuseppe Esposito
2021-03-19 11:28 ` Paolo Bonzini
2021-03-21 12:53 ` Alberto Garcia

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.