瀏覽代碼

IB/uverbs: Don't free wr list when it's known to be empty

In ib_uverbs_post_send(), move the "out:" label after the loop that
frees the list of work requests, since the only place that jumps there
is before any work requests could possibly be added to the list.

This removes a compile warning: "is_ud might be used uninitialized in
this function".

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Krishna Kumar 19 年之前
父節點
當前提交
183208284e
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/infiniband/core/uverbs_cmd.c

+ 1 - 1
drivers/infiniband/core/uverbs_cmd.c

@@ -1530,7 +1530,6 @@ ssize_t ib_uverbs_post_send(struct ib_uverbs_file *file,
 out_put:
 out_put:
 	put_qp_read(qp);
 	put_qp_read(qp);
 
 
-out:
 	while (wr) {
 	while (wr) {
 		if (is_ud && wr->wr.ud.ah)
 		if (is_ud && wr->wr.ud.ah)
 			put_ah_read(wr->wr.ud.ah);
 			put_ah_read(wr->wr.ud.ah);
@@ -1539,6 +1538,7 @@ out:
 		wr = next;
 		wr = next;
 	}
 	}
 
 
+out:
 	kfree(user_wr);
 	kfree(user_wr);
 
 
 	return ret ? ret : in_len;
 	return ret ? ret : in_len;