fbarray: fix uninitialized variable usage

Message ID cf6bb1eb3f5e4740b462998df559ce3b2247a3bb.1613757281.git.anatoly.burakov@intel.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series fbarray: fix uninitialized variable usage |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/intel-Testing success Testing PASS
ci/travis-robot fail travis build: failed
ci/github-robot success github build: passed
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-testing success Testing PASS

Commit Message

Burakov, Anatoly Feb. 19, 2021, 5:54 p.m. UTC
  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.

Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")
Cc: stable@dpdk.org
Coverity ID: 366122

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/eal_common_fbarray.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
  

Comments

David Marchand March 3, 2021, 8:17 a.m. UTC | #1
On Fri, Feb 19, 2021 at 6:55 PM Anatoly Burakov
<anatoly.burakov@intel.com> wrote:
>
> 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.
>
> Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")
> Cc: stable@dpdk.org
> Coverity ID: 366122
>
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>

Andrew had reported it too, and proposed something close:
http://patchwork.dpdk.org/project/dpdk/patch/20201211170615.32827-1-aboyer@pensando.io/

I prefer Anatoly's version.
If no one objects, I'll proceed with this one.
  
Andrew Rybchenko March 3, 2021, 8:30 a.m. UTC | #2
On 3/3/21 11:17 AM, David Marchand wrote:
> On Fri, Feb 19, 2021 at 6:55 PM Anatoly Burakov
> <anatoly.burakov@intel.com> wrote:
>>
>> 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.
>>
>> Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")
>> Cc: stable@dpdk.org
>> Coverity ID: 366122
>>
>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> 
> Andrew had reported it too, and proposed something close:
> http://patchwork.dpdk.org/project/dpdk/patch/20201211170615.32827-1-aboyer@pensando.io/

Not me, adding Andrew B. to recipients list

> I prefer Anatoly's version.
> If no one objects, I'll proceed with this one.
  
David Marchand March 3, 2021, 8:35 a.m. UTC | #3
On Wed, Mar 3, 2021 at 9:31 AM Andrew Rybchenko
<andrew.rybchenko@oktetlabs.ru> wrote:
>
> On 3/3/21 11:17 AM, David Marchand wrote:
> > On Fri, Feb 19, 2021 at 6:55 PM Anatoly Burakov
> > <anatoly.burakov@intel.com> wrote:
> >>
> >> 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.
> >>
> >> Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")
> >> Cc: stable@dpdk.org
> >> Coverity ID: 366122
> >>
> >> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> >
> > Andrew had reported it too, and proposed something close:
> > http://patchwork.dpdk.org/project/dpdk/patch/20201211170615.32827-1-aboyer@pensando.io/
>
> Not me, adding Andrew B. to recipients list

That's gmail completion fault!
/me hides

Thanks Andrew R.
  
Andrew Boyer March 3, 2021, 2:43 p.m. UTC | #4
> On Mar 3, 2021, at 3:17 AM, David Marchand <david.marchand@redhat.com> wrote:
> 
> On Fri, Feb 19, 2021 at 6:55 PM Anatoly Burakov
> <anatoly.burakov@intel.com> wrote:
>> 
>> 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.
>> 
>> Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")
>> Cc: stable@dpdk.org
>> Coverity ID: 366122
>> 
>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> 
> Andrew had reported it too, and proposed something close:
> http://patchwork.dpdk.org/project/dpdk/patch/20201211170615.32827-1-aboyer@pensando.io/
> 
> I prefer Anatoly's version.
> If no one objects, I'll proceed with this one.
> 
> 
> -- 
> David Marchand
> 

Fine with me
  
David Marchand March 4, 2021, 10:39 a.m. UTC | #5
On Fri, Feb 19, 2021 at 6:55 PM Anatoly Burakov
<anatoly.burakov@intel.com> wrote:
>
> 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 <aboyer@pensando.io>
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>


Applied, thanks.
  

Patch

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 */