From 10b9f45a293d80760bf0de4f5531ce9c83c48d29 Mon Sep 17 00:00:00 2001 From: David Marchand Date: Tue, 3 Jan 2023 11:48:48 +0100 Subject: [PATCH] fbarray: fix metadata dump [ upstream commit 70eb4069b05c82494155a89eb8d08d8d2f57b059 ] If the passed fbarray is invalid, its lock was not taken before releasing. Fixes: c44d09811b40 ("eal: add shared indexed file-backed array") Signed-off-by: David Marchand --- lib/librte_eal/common/eal_common_fbarray.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/librte_eal/common/eal_common_fbarray.c b/lib/librte_eal/common/eal_common_fbarray.c index 592ec58594..1402cb521a 100644 --- a/lib/librte_eal/common/eal_common_fbarray.c +++ b/lib/librte_eal/common/eal_common_fbarray.c @@ -1485,7 +1485,7 @@ rte_fbarray_dump_metadata(struct rte_fbarray *arr, FILE *f) if (fully_validate(arr->name, arr->elt_sz, arr->len)) { fprintf(f, "Invalid file-backed array\n"); - goto out; + return; } /* prevent array from changing under us */ @@ -1499,6 +1499,5 @@ rte_fbarray_dump_metadata(struct rte_fbarray *arr, FILE *f) for (i = 0; i < msk->n_masks; i++) fprintf(f, "msk idx %i: 0x%016" PRIx64 "\n", i, msk->data[i]); -out: rte_rwlock_read_unlock(&arr->rwlock); }