[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv2 13/14] nbd: avoid uninitialized warnings
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCHv2 13/14] nbd: avoid uninitialized warnings |
Date: |
Sun, 1 Dec 2013 22:23:46 +0100 |
==15815== Thread 1:
==15815== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==15815== at 0x65AD5CB: send (send.c:31)
==15815== by 0x37F84B: nbd_wr_sync (nbd.c:145)
==15815== by 0x37F94B: write_sync (nbd.c:186)
==15815== by 0x380FA9: nbd_send_request (nbd.c:681)
==15815== by 0x1C4A2D: nbd_teardown_connection (nbd-client.c:337)
==15815== by 0x1C4AD8: nbd_client_session_close (nbd-client.c:354)
==15815== by 0x1ED2D8: close_socketpair (spicebd.c:132)
==15815== by 0x1EE265: spice_close (spicebd.c:457)
==15815== by 0x1ACBF6: bdrv_close (block.c:1519)
==15815== by 0x1AD804: bdrv_delete (block.c:1772)
==15815== by 0x1B4136: bdrv_unref (block.c:4476)
==15815== by 0x1ACCE0: bdrv_close (block.c:1541)
==15815== Address 0x7feffef98 is on thread 1's stack
Signed-off-by: Marc-André Lureau <address@hidden>
---
block/nbd-client.c | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/block/nbd-client.c b/block/nbd-client.c
index 1973cf0..0922b78 100644
--- a/block/nbd-client.c
+++ b/block/nbd-client.c
@@ -185,11 +185,10 @@ static int nbd_co_readv_1(NbdClientSession *client,
int64_t sector_num,
int nb_sectors, QEMUIOVector *qiov,
int offset)
{
- struct nbd_request request;
+ struct nbd_request request = { .type = NBD_CMD_READ };
struct nbd_reply reply;
ssize_t ret;
- request.type = NBD_CMD_READ;
request.from = sector_num * 512;
request.len = nb_sectors * 512;
@@ -209,11 +208,10 @@ static int nbd_co_writev_1(NbdClientSession *client,
int64_t sector_num,
int nb_sectors, QEMUIOVector *qiov,
int offset)
{
- struct nbd_request request;
+ struct nbd_request request = { .type = NBD_CMD_WRITE };
struct nbd_reply reply;
ssize_t ret;
- request.type = NBD_CMD_WRITE;
if (!bdrv_enable_write_cache(client->bs) &&
(client->nbdflags & NBD_FLAG_SEND_FUA)) {
request.type |= NBD_CMD_FLAG_FUA;
@@ -275,7 +273,7 @@ int nbd_client_session_co_writev(NbdClientSession *client,
int64_t sector_num,
int nbd_client_session_co_flush(NbdClientSession *client)
{
- struct nbd_request request;
+ struct nbd_request request = { .type = NBD_CMD_FLUSH };
struct nbd_reply reply;
ssize_t ret;
@@ -283,7 +281,6 @@ int nbd_client_session_co_flush(NbdClientSession *client)
return 0;
}
- request.type = NBD_CMD_FLUSH;
if (client->nbdflags & NBD_FLAG_SEND_FUA) {
request.type |= NBD_CMD_FLAG_FUA;
}
@@ -305,14 +302,13 @@ int nbd_client_session_co_flush(NbdClientSession *client)
int nbd_client_session_co_discard(NbdClientSession *client, int64_t sector_num,
int nb_sectors)
{
- struct nbd_request request;
+ struct nbd_request request = { .type = NBD_CMD_TRIM };
struct nbd_reply reply;
ssize_t ret;
if (!(client->nbdflags & NBD_FLAG_SEND_TRIM)) {
return 0;
}
- request.type = NBD_CMD_TRIM;
request.from = sector_num * 512;
request.len = nb_sectors * 512;
@@ -330,11 +326,12 @@ int nbd_client_session_co_discard(NbdClientSession
*client, int64_t sector_num,
static void nbd_teardown_connection(NbdClientSession *client)
{
- struct nbd_request request;
+ struct nbd_request request = {
+ .type = NBD_CMD_DISC,
+ .from = 0,
+ .len = 0
+ };
- request.type = NBD_CMD_DISC;
- request.from = 0;
- request.len = 0;
nbd_send_request(client->sock, &request);
/* finish any pending coroutines */
--
1.8.4.2
- [Qemu-devel] [PATCHv2 03/14] spice-char: remove unused field, (continued)
- [Qemu-devel] [PATCHv2 03/14] spice-char: remove unused field, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 04/14] qmp_change_blockdev() remove unused has_format, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 05/14] include: add missing config-host.h include, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 06/14] char: add qemu_chr_fe_event(), Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 08/14] Split nbd block client code, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 07/14] spice-char: implement chardev port event, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 09/14] nbd: don't change socket block during negotiate, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 10/14] nbd: pass export name as init argument, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 11/14] nbd: make nbd_client_session_close() idempotent, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 12/14] nbd: finish any pending coroutine, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 13/14] nbd: avoid uninitialized warnings,
Marc-André Lureau <=
- [Qemu-devel] [PATCHv2 14/14] coroutine: remove unused CoQueue AioContext, Marc-André Lureau, 2013/12/01
- Re: [Qemu-devel] [PATCHv2 00/14] Spice block device, ready-to-go patches, Gerd Hoffmann, 2013/12/02
- Re: [Qemu-devel] [PATCHv2 00/14] Spice block device, ready-to-go patches, Stefan Hajnoczi, 2013/12/02