RDMA/rtrs: fix uninitialized symbol 'cnt'
authorGioh Kim <gi-oh.kim@ionos.com>
Thu, 29 Apr 2021 09:27:41 +0000 (11:27 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 3 May 2021 17:00:11 +0000 (11:00 -0600)
rtrs_clt_rdma_cq_direct returns an ninitialized value in cnt
if there is no session. This patch makes rtrs_clt_rdma_cq_direct
returns a negative value for block layer not to try again.

Fixes: 2958a995edc94 ("block/rnbd-clt: Support polling mode for IO latency optimization")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Gioh Kim <gi-oh.kim@ionos.com>
Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Link: https://lore.kernel.org/r/20210429092741.266533-1-gi-oh.kim@ionos.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/infiniband/ulp/rtrs/rtrs-clt.c

index b74a872..934a2ff 100644 (file)
@@ -2896,7 +2896,8 @@ EXPORT_SYMBOL(rtrs_clt_request);
 
 int rtrs_clt_rdma_cq_direct(struct rtrs_clt *clt, unsigned int index)
 {
-       int cnt;
+       /* If no path, return -1 for block layer not to try again */
+       int cnt = -1;
        struct rtrs_con *con;
        struct rtrs_clt_sess *sess;
        struct path_it it;