summaryrefslogtreecommitdiff
path: root/drivers/staging/fsl_qbman/fsl_usdpaa.c
diff options
context:
space:
mode:
authorAhmed Mansour <Ahmed.Mansour@freescale.com>2014-11-27 22:32:29 (GMT)
committerHonghua Yin <Hong-Hua.Yin@freescale.com>2015-03-26 07:42:26 (GMT)
commit768c72f914a2aa2989467426731aa3a9dfd2e87c (patch)
tree498dd5422fb122b673ae66a6507829f1b472d114 /drivers/staging/fsl_qbman/fsl_usdpaa.c
parent5deea3e04e4643bdff2c885c35f9cce57c6cf476 (diff)
downloadlinux-fsl-qoriq-768c72f914a2aa2989467426731aa3a9dfd2e87c.tar.xz
qbman: Add Exception handling - static analysis
Catch exceptions and return from functions safely in qbman. Exception handling holes were found in static analysis review Signed-off-by: Ahmed Mansour <Ahmed.Mansour@freescale.com> Change-Id: Ie1e2feadffd2c5c968164d0c569af147ab7929fb Reviewed-on: http://git.am.freescale.net:8181/25568 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
Diffstat (limited to 'drivers/staging/fsl_qbman/fsl_usdpaa.c')
-rw-r--r--drivers/staging/fsl_qbman/fsl_usdpaa.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/staging/fsl_qbman/fsl_usdpaa.c b/drivers/staging/fsl_qbman/fsl_usdpaa.c
index 8cfdabe..dfef598 100644
--- a/drivers/staging/fsl_qbman/fsl_usdpaa.c
+++ b/drivers/staging/fsl_qbman/fsl_usdpaa.c
@@ -1251,9 +1251,13 @@ map_match:
static int portal_mmap(struct file *fp, struct resource *res, void **ptr)
{
unsigned long longret = 0, populate;
+ resource_size_t len;
down_write(&current->mm->mmap_sem);
- longret = do_mmap_pgoff(fp, PAGE_SIZE, resource_size(res),
+ len = resource_size(res);
+ if (len != (unsigned long)len)
+ return -EINVAL;
+ longret = do_mmap_pgoff(fp, PAGE_SIZE, (unsigned long)len,
PROT_READ | PROT_WRITE, MAP_SHARED,
res->start >> PAGE_SHIFT, &populate);
up_write(&current->mm->mmap_sem);