crypto/caam_jr: fix memory leak and illegal memory access
Checks
Commit Message
Opendir() returns allocated storage which must be freed at the
end of function or in case any return on error. so freeing the
allocation using closedir in an error case.
Coverity issue: 323507
Coverity issue: 325880
Fixes: e7a45f3cc245 ("crypto/caam_jr: add UIO specific operations")
Cc: g.singh@nxp.com
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/crypto/caam_jr/caam_jr_uio.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
Comments
> Opendir() returns allocated storage which must be freed at the
> end of function or in case any return on error. so freeing the
> allocation using closedir in an error case.
>
> Coverity issue: 323507
> Coverity issue: 325880
> Fixes: e7a45f3cc245 ("crypto/caam_jr: add UIO specific operations")
> Cc: g.singh@nxp.com
>
> Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
> ---
> drivers/crypto/caam_jr/caam_jr_uio.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
>
> > Opendir() returns allocated storage which must be freed at the
> > end of function or in case any return on error. so freeing the
> > allocation using closedir in an error case.
> >
> > Coverity issue: 323507
> > Coverity issue: 325880
> > Fixes: e7a45f3cc245 ("crypto/caam_jr: add UIO specific operations")
> > Cc: g.singh@nxp.com
> >
> > Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
> > ---
> > drivers/crypto/caam_jr/caam_jr_uio.c | 10 +++++++---
> > 1 file changed, 7 insertions(+), 3 deletions(-)
>
>
> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Applied to dpdk-next-crypto
Thanks.
@@ -362,8 +362,8 @@
job_ring->register_base_addr,
(unsigned long)job_ring->map_size, strerror(errno));
} else
- CAAM_JR_DEBUG(" JR UIO memory unmapped at %p",
- job_ring->register_base_addr);
+ CAAM_JR_DEBUG("JR UIO memory is unmapped");
+
job_ring->register_base_addr = NULL;
}
@@ -445,7 +445,11 @@ uio_job_ring *config_job_ring(void)
ret = file_read_first_line(SEC_UIO_DEVICE_SYS_ATTR_PATH,
dir->d_name, "name", uio_name);
CAAM_JR_INFO("sec device uio name: %s", uio_name);
- SEC_ASSERT(ret == 0, -1, "file_read_first_line failed");
+ if (ret != 0) {
+ CAAM_JR_ERR("file_read_first_line failed\n");
+ closedir(d);
+ return -1;
+ }
if (file_name_match_extract(uio_name,
SEC_UIO_DEVICE_NAME,