From: Gagandeep Singh Date: Tue, 9 Apr 2019 06:18:38 +0000 (+0000) Subject: crypto/caam_jr: fix memory leak and illegal access X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=c761bffe0bb35529e76ec7b13e21af39e87b6424;p=dpdk.git crypto/caam_jr: fix memory leak and illegal access 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: stable@dpdk.org Signed-off-by: Gagandeep Singh Acked-by: Akhil Goyal --- diff --git a/drivers/crypto/caam_jr/caam_jr_uio.c b/drivers/crypto/caam_jr/caam_jr_uio.c index bf872a220a..afd75c9a62 100644 --- a/drivers/crypto/caam_jr/caam_jr_uio.c +++ b/drivers/crypto/caam_jr/caam_jr_uio.c @@ -362,8 +362,8 @@ free_job_ring(uint32_t uio_fd) 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 @@ sec_configure(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,