[PATCH net-next] svcrdma: Fix an uninitialized variable false warning

YueHaibing
2018-12-20T09:49:54Z

smatch warning this:
net/sunrpc/xprtrdma/svc_rdma_rw.c:351 svc_rdma_post_chunk_ctxt() error: uninitialized symbol 'bad_wr'
net/sunrpc/xprtrdma/verbs.c:1569 rpcrdma_post_recvs() error: uninitialized symbol 'bad_wr'

'bad_wr' is initialized in ib_post_send. But smatch
doesn't know that and warns this.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
net/sunrpc/xprtrdma/svc_rdma_rw.c | 2 +-
net/sunrpc/xprtrdma/verbs.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/sunrpc/xprtrdma/svc_rdma_rw.c b/net/sunrpc/xprtrdma/svc_rdma_rw.c
index dc19517..0954b25 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_rw.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_rw.c
@@ -308,7 +308,7 @@ static int svc_rdma_post_chunk_ctxt(struct svc_rdma_chunk_ctxt *cc)
struct svcxprt_rdma *rdma = cc->cc_rdma;
struct svc_xprt *xprt = &rdma->sc_xprt;
struct ib_send_wr *first_wr;
- const struct ib_send_wr *bad_wr;
+ const struct ib_send_wr *bad_wr = NULL;
struct list_head *tmp;
struct ib_cqe *cqe;
int ret;
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c
index 3ddba94..37be70f 100644
--- a/net/sunrpc/xprtrdma/verbs.c
+++ b/net/sunrpc/xprtrdma/verbs.c
@@ -1518,7 +1518,7 @@ void
rpcrdma_post_recvs(struct rpcrdma_xprt *r_xprt, bool temp)
{
struct rpcrdma_buffer *buf = &r_xprt->rx_buf;
- struct ib_recv_wr *wr, *bad_wr;
+ struct ib_recv_wr *wr, *bad_wr = NULL;
int needed, count, rc;

rc = 0;
--
2.7.0