diff options
author | Ahmed Mansour <Ahmed.Mansour@freescale.com> | 2014-11-27 22:32:29 (GMT) |
---|---|---|
committer | Honghua Yin <Hong-Hua.Yin@freescale.com> | 2015-03-26 07:42:26 (GMT) |
commit | 768c72f914a2aa2989467426731aa3a9dfd2e87c (patch) | |
tree | 498dd5422fb122b673ae66a6507829f1b472d114 /drivers/staging/fsl_qbman/fsl_usdpaa.c | |
parent | 5deea3e04e4643bdff2c885c35f9cce57c6cf476 (diff) | |
download | linux-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.c | 6 |
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(¤t->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(¤t->mm->mmap_sem); |