block/nbd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
../block/nbd.c: In function 'nbd_co_request':
../block/nbd.c:745:8: error: 'local_reply.type' may be used uninitialized in this function [-Werror=maybe-uninitialized]
if (chunk->type == NBD_REPLY_TYPE_NONE) {
^
../block/nbd.c:710:14: note: 'local_reply.type' was declared here
NBDReply local_reply;
^~~~~~~~~~~
../block/nbd.c:710:14: error: 'local_reply.flags' may be used uninitialized in this function [-Werror=maybe-uninitialized]
../block/nbd.c:738:8: error: 'local_reply.<U4be0>.magic' may be used uninitialized in this function [-Werror=maybe-uninitialized]
if (nbd_reply_is_simple(reply) || s->quit) {
^
../block/nbd.c:710:14: note: 'local_reply.<U4be0>.magic' was declared here
NBDReply local_reply;
^~~~~~~~~~~
cc1: all warnings being treated as errors
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
block/nbd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/nbd.c b/block/nbd.c
index 81edabbf35..02eef09728 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -707,7 +707,7 @@ static bool nbd_reply_chunk_iter_receive(BDRVNBDState *s,
void **payload)
{
int ret, request_ret;
- NBDReply local_reply;
+ NBDReply local_reply = { 0, };
NBDStructuredReplyChunk *chunk;
Error *local_err = NULL;
if (s->quit) {
--
2.22.0.428.g6d5b264208
Hi Marc-André, On 7/16/19 10:42 AM, Marc-André Lureau wrote: > ../block/nbd.c: In function 'nbd_co_request': > ../block/nbd.c:745:8: error: 'local_reply.type' may be used uninitialized in this function [-Werror=maybe-uninitialized] > if (chunk->type == NBD_REPLY_TYPE_NONE) { > ^ > ../block/nbd.c:710:14: note: 'local_reply.type' was declared here > NBDReply local_reply; > ^~~~~~~~~~~ > ../block/nbd.c:710:14: error: 'local_reply.flags' may be used uninitialized in this function [-Werror=maybe-uninitialized] > ../block/nbd.c:738:8: error: 'local_reply.<U4be0>.magic' may be used uninitialized in this function [-Werror=maybe-uninitialized] > if (nbd_reply_is_simple(reply) || s->quit) { > ^ > ../block/nbd.c:710:14: note: 'local_reply.<U4be0>.magic' was declared here > NBDReply local_reply; > ^~~~~~~~~~~ > cc1: all warnings being treated as errors Thomas reported this error when compiling with -O3 few months ago [1]. Are you using that, or the latest GCC emit a warning even with no -O3? Personally I'd add: Fixes: 86f8cdf3db8 Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > block/nbd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/block/nbd.c b/block/nbd.c > index 81edabbf35..02eef09728 100644 > --- a/block/nbd.c > +++ b/block/nbd.c > @@ -707,7 +707,7 @@ static bool nbd_reply_chunk_iter_receive(BDRVNBDState *s, > void **payload) > { > int ret, request_ret; > - NBDReply local_reply; > + NBDReply local_reply = { 0, }; Yesterday [2] Peter said: "= {}" is our standard struct-zero-initializer so we should prefer that. With {}: Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > NBDStructuredReplyChunk *chunk; > Error *local_err = NULL; > if (s->quit) { > [1] https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg07007.html [2] https://lists.gnu.org/archive/html/qemu-devel/2019-07/msg03431.html
Hi On Tue, Jul 16, 2019 at 1:19 PM Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > > Hi Marc-André, > > On 7/16/19 10:42 AM, Marc-André Lureau wrote: > > ../block/nbd.c: In function 'nbd_co_request': > > ../block/nbd.c:745:8: error: 'local_reply.type' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > if (chunk->type == NBD_REPLY_TYPE_NONE) { > > ^ > > ../block/nbd.c:710:14: note: 'local_reply.type' was declared here > > NBDReply local_reply; > > ^~~~~~~~~~~ > > ../block/nbd.c:710:14: error: 'local_reply.flags' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > ../block/nbd.c:738:8: error: 'local_reply.<U4be0>.magic' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > if (nbd_reply_is_simple(reply) || s->quit) { > > ^ > > ../block/nbd.c:710:14: note: 'local_reply.<U4be0>.magic' was declared here > > NBDReply local_reply; > > ^~~~~~~~~~~ > > cc1: all warnings being treated as errors > > Thomas reported this error when compiling with -O3 few months ago [1]. Thanks, I couldn't find a previous report. > Are you using that, or the latest GCC emit a warning even with no -O3? Right, the warning seems to appear with -O3 (I happen to have it with mingw64-gcc-8.3.0-2.fc30.x86_64) > > Personally I'd add: > > Fixes: 86f8cdf3db8 Actually, it was there before, so I'll skip that. > Reported-by: Thomas Huth <thuth@redhat.com> > > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > > --- > > block/nbd.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/block/nbd.c b/block/nbd.c > > index 81edabbf35..02eef09728 100644 > > --- a/block/nbd.c > > +++ b/block/nbd.c > > @@ -707,7 +707,7 @@ static bool nbd_reply_chunk_iter_receive(BDRVNBDState *s, > > void **payload) > > { > > int ret, request_ret; > > - NBDReply local_reply; > > + NBDReply local_reply = { 0, }; > > Yesterday [2] Peter said: "= {}" is our standard struct-zero-initializer > so we should prefer that. > > With {}: > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> ok, thanks > > > NBDStructuredReplyChunk *chunk; > > Error *local_err = NULL; > > if (s->quit) { > > > > [1] https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg07007.html > [2] https://lists.gnu.org/archive/html/qemu-devel/2019-07/msg03431.html
Patchew URL: https://patchew.org/QEMU/20190716084240.17594-1-marcandre.lureau@redhat.com/ Hi, This series failed the asan build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. === TEST SCRIPT BEGIN === #!/bin/bash make docker-image-fedora V=1 NETWORK=1 time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1 === TEST SCRIPT END === CC audio/noaudio.o CC audio/wavaudio.o CC audio/mixeng.o /tmp/qemu-test/src/block/nbd.c:710:30: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] NBDReply local_reply = { 0, }; ^ {} The full log is available at http://patchew.org/logs/20190716084240.17594-1-marcandre.lureau@redhat.com/testing.asan/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
© 2016 - 2024 Red Hat, Inc.