summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/hfi1/fault.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2019-06-22 15:59:24 +0300
committerDavid S. Miller <davem@davemloft.net>2019-06-22 15:59:24 +0300
commit92ad6325cb891bb455487bfe90cc47d18aa6ec37 (patch)
tree433a7ef938fae69789216043f67eff9f9c6b0c68 /drivers/infiniband/hw/hfi1/fault.c
parente0effb5fbd56a8b2b8917611cbf4fcd9aba92b8f (diff)
parentc356dc4b540edd6c02b409dd8cf3208ba2804c38 (diff)
downloadlinux-92ad6325cb891bb455487bfe90cc47d18aa6ec37.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Minor SPDX change conflict. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/fault.c')
-rw-r--r--drivers/infiniband/hw/hfi1/fault.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/hfi1/fault.c b/drivers/infiniband/hw/hfi1/fault.c
index 3fd3315d0fb0..93613e5def9b 100644
--- a/drivers/infiniband/hw/hfi1/fault.c
+++ b/drivers/infiniband/hw/hfi1/fault.c
@@ -153,6 +153,7 @@ static ssize_t fault_opcodes_write(struct file *file, const char __user *buf,
char *dash;
unsigned long range_start, range_end, i;
bool remove = false;
+ unsigned long bound = 1U << BITS_PER_BYTE;
end = strchr(ptr, ',');
if (end)
@@ -178,6 +179,10 @@ static ssize_t fault_opcodes_write(struct file *file, const char __user *buf,
BITS_PER_BYTE);
break;
}
+ /* Check the inputs */
+ if (range_start >= bound || range_end >= bound)
+ break;
+
for (i = range_start; i <= range_end; i++) {
if (remove)
clear_bit(i, fault->opcodes);