projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
418baf2
)
IB/mthca: fix return value of error branch in mthca_init_cq()
author
Xiongfeng Wang
<wangxiongfeng2@huawei.com>
Fri, 20 Nov 2020 01:57:02 +0000
(09:57 +0800)
committer
Jason Gunthorpe
<jgg@nvidia.com>
Mon, 23 Nov 2020 20:22:34 +0000
(16:22 -0400)
We return 'err' in the error branch, but this variable may be set as zero
by the above code. Fix it by setting 'err' as a negative value before we
goto the error label.
Fixes:
74c2174e7be5
("IB uverbs: add mthca user CQ support")
Fixes:
1da177e4c3f4
("Linux-2.6.12-rc2")
Link:
https://lore.kernel.org/r/1605837422-42724-1-git-send-email-wangxiongfeng2@huawei.com
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/mthca/mthca_cq.c
patch
|
blob
|
history
diff --git
a/drivers/infiniband/hw/mthca/mthca_cq.c
b/drivers/infiniband/hw/mthca/mthca_cq.c
index
c3cfea2
..
119b257
100644
(file)
--- a/
drivers/infiniband/hw/mthca/mthca_cq.c
+++ b/
drivers/infiniband/hw/mthca/mthca_cq.c
@@
-803,8
+803,10
@@
int mthca_init_cq(struct mthca_dev *dev, int nent,
}
mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL);
- if (IS_ERR(mailbox))
+ if (IS_ERR(mailbox)) {
+ err = PTR_ERR(mailbox);
goto err_out_arm;
+ }
cq_context = mailbox->buf;
@@
-846,9
+848,9
@@
int mthca_init_cq(struct mthca_dev *dev, int nent,
}
spin_lock_irq(&dev->cq_table.lock);
-
if (
mthca_array_set(&dev->cq_table.cq,
- cq->cqn & (dev->limits.num_cqs - 1),
-
cq)
) {
+
err =
mthca_array_set(&dev->cq_table.cq,
+ cq->cqn & (dev->limits.num_cqs - 1), cq);
+
if (err
) {
spin_unlock_irq(&dev->cq_table.lock);
goto err_out_free_mr;
}