From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35983) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VmPz3-0002BS-KI for qemu-devel@nongnu.org; Fri, 29 Nov 2013 10:28:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VmPyw-0001Ui-DV for qemu-devel@nongnu.org; Fri, 29 Nov 2013 10:27:57 -0500 Received: from mx1.redhat.com ([209.132.183.28]:57065) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VmPyw-0001U6-5r for qemu-devel@nongnu.org; Fri, 29 Nov 2013 10:27:50 -0500 Message-ID: <5298B270.7090002@redhat.com> Date: Fri, 29 Nov 2013 16:27:44 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1385737124-13964-1-git-send-email-marcandre.lureau@gmail.com> <1385737124-13964-14-git-send-email-marcandre.lureau@gmail.com> In-Reply-To: <1385737124-13964-14-git-send-email-marcandre.lureau@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 13/13] nbd: avoid uninitialized warnings List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= Cc: qemu-devel@nongnu.org, kraxel@redhat.com Il 29/11/2013 15:58, Marc-Andr=C3=A9 Lureau ha scritto: > =3D=3D15815=3D=3D Thread 1: > =3D=3D15815=3D=3D Syscall param socketcall.sendto(msg) points to uninit= ialised byte(s) > =3D=3D15815=3D=3D at 0x65AD5CB: send (send.c:31) > =3D=3D15815=3D=3D by 0x37F84B: nbd_wr_sync (nbd.c:145) > =3D=3D15815=3D=3D by 0x37F94B: write_sync (nbd.c:186) > =3D=3D15815=3D=3D by 0x380FA9: nbd_send_request (nbd.c:681) > =3D=3D15815=3D=3D by 0x1C4A2D: nbd_teardown_connection (nbd-client.c= :337) > =3D=3D15815=3D=3D by 0x1C4AD8: nbd_client_session_close (nbd-client.= c:354) > =3D=3D15815=3D=3D by 0x1ED2D8: close_socketpair (spicebd.c:132) > =3D=3D15815=3D=3D by 0x1EE265: spice_close (spicebd.c:457) > =3D=3D15815=3D=3D by 0x1ACBF6: bdrv_close (block.c:1519) > =3D=3D15815=3D=3D by 0x1AD804: bdrv_delete (block.c:1772) > =3D=3D15815=3D=3D by 0x1B4136: bdrv_unref (block.c:4476) > =3D=3D15815=3D=3D by 0x1ACCE0: bdrv_close (block.c:1541) > =3D=3D15815=3D=3D Address 0x7feffef98 is on thread 1's stack >=20 > Signed-off-by: Marc-Andr=C3=A9 Lureau > --- > block/nbd-client.c | 21 +++++++++------------ > 1 file changed, 9 insertions(+), 12 deletions(-) >=20 > diff --git a/block/nbd-client.c b/block/nbd-client.c > index ad6fb01..82806f1 100644 > --- a/block/nbd-client.c > +++ b/block/nbd-client.c > @@ -186,11 +186,10 @@ static int nbd_co_readv_1(NbdClientSession *clien= t, int64_t sector_num, > int nb_sectors, QEMUIOVector *qiov, > int offset) > { > - struct nbd_request request; > + struct nbd_request request =3D { .type =3D NBD_CMD_READ }; > struct nbd_reply reply; > ssize_t ret; > =20 > - request.type =3D NBD_CMD_READ; > request.from =3D sector_num * 512; > request.len =3D nb_sectors * 512; > =20 > @@ -210,11 +209,10 @@ static int nbd_co_writev_1(NbdClientSession *clie= nt, int64_t sector_num, > int nb_sectors, QEMUIOVector *qiov, > int offset) > { > - struct nbd_request request; > + struct nbd_request request =3D { .type =3D NBD_CMD_WRITE }; > struct nbd_reply reply; > ssize_t ret; > =20 > - request.type =3D NBD_CMD_WRITE; > if (!bdrv_enable_write_cache(client->bs) && > (client->nbdflags & NBD_FLAG_SEND_FUA)) { > request.type |=3D NBD_CMD_FLAG_FUA; > @@ -276,7 +274,7 @@ int nbd_client_session_co_writev(NbdClientSession *= client, int64_t sector_num, > =20 > int nbd_client_session_co_flush(NbdClientSession *client) > { > - struct nbd_request request; > + struct nbd_request request =3D { .type =3D NBD_CMD_FLUSH }; > struct nbd_reply reply; > ssize_t ret; > =20 > @@ -284,7 +282,6 @@ int nbd_client_session_co_flush(NbdClientSession *c= lient) > return 0; > } > =20 > - request.type =3D NBD_CMD_FLUSH; > if (client->nbdflags & NBD_FLAG_SEND_FUA) { > request.type |=3D NBD_CMD_FLAG_FUA; > } > @@ -306,14 +303,13 @@ int nbd_client_session_co_flush(NbdClientSession = *client) > int nbd_client_session_co_discard(NbdClientSession *client, int64_t se= ctor_num, > int nb_sectors) > { > - struct nbd_request request; > + struct nbd_request request =3D { .type =3D NBD_CMD_TRIM }; > struct nbd_reply reply; > ssize_t ret; > =20 > if (!(client->nbdflags & NBD_FLAG_SEND_TRIM)) { > return 0; > } > - request.type =3D NBD_CMD_TRIM; > request.from =3D sector_num * 512; > request.len =3D nb_sectors * 512; > =20 > @@ -331,11 +327,12 @@ int nbd_client_session_co_discard(NbdClientSessio= n *client, int64_t sector_num, > =20 > static void nbd_teardown_connection(NbdClientSession *client) > { > - struct nbd_request request; > + struct nbd_request request =3D { > + .type =3D NBD_CMD_DISC, > + .from =3D 0, > + .len =3D 0 > + }; > =20 > - request.type =3D NBD_CMD_DISC; > - request.from =3D 0; > - request.len =3D 0; > nbd_send_request(client->sock, &request); > =20 > qemu_aio_set_fd_handler(client->sock, NULL, NULL, NULL); >=20 Reviewed-by: Paolo Bonzini