> On Nov 2, 2021, at 12:43 PM, Trond Myklebust <trondmy@xxxxxxxxxxxxxxx> wrote: > > On Sun, 2021-10-31 at 15:04 +0000, Chuck Lever III wrote: >> >> >>> On Oct 31, 2021, at 9:08 AM, Benjamin Coddington >>> <bcodding@xxxxxxxxxx> wrote: >>> >>> This minor fix-up keeps GCC from complaining that "last' may be used >>> uninitialized", which breaks some build workflows that have been >>> running >>> with all warnings treated as errors. >>> >>> Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> >> >> Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> >> >> >>> --- >>> net/sunrpc/xprtrdma/frwr_ops.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/net/sunrpc/xprtrdma/frwr_ops.c >>> b/net/sunrpc/xprtrdma/frwr_ops.c >>> index f700b34a5bfd..de813fa07daa 100644 >>> --- a/net/sunrpc/xprtrdma/frwr_ops.c >>> +++ b/net/sunrpc/xprtrdma/frwr_ops.c >>> @@ -503,7 +503,7 @@ static void frwr_wc_localinv_wake(struct ib_cq >>> *cq, struct ib_wc *wc) >>> */ >>> void frwr_unmap_sync(struct rpcrdma_xprt *r_xprt, struct rpcrdma_req >>> *req) >>> { >>> - struct ib_send_wr *first, **prev, *last; >>> + struct ib_send_wr *first, **prev, *last = NULL; >>> struct rpcrdma_ep *ep = r_xprt->rx_ep; >>> const struct ib_send_wr *bad_wr; >>> struct rpcrdma_mr *mr; > > Err... Definitely not sufficient. > > gcc is absolutely correct to complain here, because if req- >> rl_registered is empty, then the whole rest of the function after that > while() loop is invalid. The callers ensure rl_registered is not empty. This used to be preferred: don't add code to check conditions that are known to be true. If that policy is different now, then yes, this code will have to be restructured. >>> @@ -608,7 +608,7 @@ static void frwr_wc_localinv_done(struct ib_cq >>> *cq, struct ib_wc *wc) >>> */ >>> void frwr_unmap_async(struct rpcrdma_xprt *r_xprt, struct >>> rpcrdma_req *req) >>> { >>> - struct ib_send_wr *first, *last, **prev; >>> + struct ib_send_wr *first, *last = NULL, **prev; >>> struct rpcrdma_ep *ep = r_xprt->rx_ep; >>> struct rpcrdma_mr *mr; >>> int rc; >>> -- >>> 2.31.1 >>> > > Ditto. > > -- > Trond Myklebust > Linux NFS client maintainer, Hammerspace > trond.myklebust@xxxxxxxxxxxxxxx -- Chuck Lever