From 2a2ebeab9e3309ab332baefdbcc1caa7e62ecc82 Mon Sep 17 00:00:00 2001 From: Anatoly Burakov Date: Fri, 19 Feb 2021 17:54:45 +0000 Subject: [PATCH] fbarray: fix log message on truncation error When file truncation fails, the log message attempts to print a path of file we failed to truncate, but this path was never set to anything and, what's worse, was uninitialized. Fix it by passing path from the caller. Coverity issue: 366122 Fixes: c44d09811b40 ("eal: add shared indexed file-backed array") Cc: stable@dpdk.org Reported-by: Andrew Boyer Signed-off-by: Anatoly Burakov Reviewed-by: David Marchand --- lib/librte_eal/common/eal_common_fbarray.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/librte_eal/common/eal_common_fbarray.c b/lib/librte_eal/common/eal_common_fbarray.c index d974f3dab7..592ec58594 100644 --- a/lib/librte_eal/common/eal_common_fbarray.c +++ b/lib/librte_eal/common/eal_common_fbarray.c @@ -81,9 +81,8 @@ get_used_mask(void *data, unsigned int elt_sz, unsigned int len) } static int -resize_and_map(int fd, void *addr, size_t len) +resize_and_map(int fd, const char *path, void *addr, size_t len) { - char path[PATH_MAX]; void *map_addr; if (eal_file_truncate(fd, len)) { @@ -792,7 +791,7 @@ rte_fbarray_init(struct rte_fbarray *arr, const char *name, unsigned int len, if (eal_file_lock(fd, EAL_FLOCK_SHARED, EAL_FLOCK_RETURN)) goto fail; - if (resize_and_map(fd, data, mmap_len)) + if (resize_and_map(fd, path, data, mmap_len)) goto fail; } ma->addr = data; @@ -895,7 +894,7 @@ rte_fbarray_attach(struct rte_fbarray *arr) if (eal_file_lock(fd, EAL_FLOCK_SHARED, EAL_FLOCK_RETURN)) goto fail; - if (resize_and_map(fd, data, mmap_len)) + if (resize_and_map(fd, path, data, mmap_len)) goto fail; /* store our new memory area */ -- 2.20.1