> On Dec 20, 2018, at 4:49 AM, YueHaibing <yuehaibing@xxxxxxxxxx> wrote: > > 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@xxxxxxxxxx> > --- > 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 Does this need Fixes: d34ac5cd3a73 ("RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const") ??? Bart, any comments? -- Chuck Lever