summaryrefslogtreecommitdiff
path: root/drivers/message
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2015-11-10 22:15:24 (GMT)
committerMartin K. Petersen <martin.petersen@oracle.com>2015-11-12 01:58:06 (GMT)
commit491212014ec3ab6c477e7368405c5ae028b05ceb (patch)
tree06afd0fdae385397f4875d820ad66ae7aec8f93b /drivers/message
parent9c9bd593f30fc8a4d6e70d72b49b5651fa492e65 (diff)
downloadlinux-491212014ec3ab6c477e7368405c5ae028b05ceb.tar.xz
mptfusion: don't allow negative bytes in kbuf_alloc_2_sgl()
There is a static checker warning here because "bytes" is controlled by the user and we cap the upper bound with min() but allow negatives. Negative bytes will result in some nasty warning messages but are not super harmful. Anyway, no one needs negative bytes so let's just check for it and return NULL. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/message')
-rw-r--r--drivers/message/fusion/mptctl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c
index fc73937..02b5f69 100644
--- a/drivers/message/fusion/mptctl.c
+++ b/drivers/message/fusion/mptctl.c
@@ -1038,6 +1038,10 @@ kbuf_alloc_2_sgl(int bytes, u32 sgdir, int sge_offset, int *frags,
int i, buflist_ent;
int sg_spill = MAX_FRAGS_SPILL1;
int dir;
+
+ if (bytes < 0)
+ return NULL;
+
/* initialization */
*frags = 0;
*blp = NULL;