projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bdf7752
)
IB/hfi1: Validate SDMA user request index
author
Dean Luick
<dean.luick@intel.com>
Thu, 28 Jul 2016 19:21:14 +0000
(15:21 -0400)
committer
Doug Ledford
<dledford@redhat.com>
Wed, 3 Aug 2016 02:46:21 +0000
(22:46 -0400)
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/user_sdma.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/infiniband/hw/hfi1/user_sdma.c
b/drivers/infiniband/hw/hfi1/user_sdma.c
index 6b8d1e8b6286f02549e09c00d532e5d6fa0126de..0a0281ae35f1afd9c72afc7aad67ca9bece5e6dd 100644
(file)
--- a/
drivers/infiniband/hw/hfi1/user_sdma.c
+++ b/
drivers/infiniband/hw/hfi1/user_sdma.c
@@
-552,6
+552,14
@@
int hfi1_user_sdma_process_request(struct file *fp, struct iovec *iovec,
trace_hfi1_sdma_user_reqinfo(dd, uctxt->ctxt, fd->subctxt,
(u16 *)&info);
+
+ if (info.comp_idx >= hfi1_sdma_comp_ring_size) {
+ hfi1_cdbg(SDMA,
+ "[%u:%u:%u:%u] Invalid comp index",
+ dd->unit, uctxt->ctxt, fd->subctxt, info.comp_idx);
+ return -EINVAL;
+ }
+
if (cq->comps[info.comp_idx].status == QUEUED ||
test_bit(SDMA_REQ_IN_USE, &pq->reqs[info.comp_idx].flags)) {
hfi1_cdbg(SDMA, "[%u:%u:%u] Entry %u is in QUEUED state",