[PATCH v2] lib/cryptodev: fix assertion to remove GCC compilation warning
Stephen Hemminger
stephen at networkplumber.org
Mon May 22 23:25:10 CEST 2023
On Mon, 22 May 2023 15:04:52 -0400
Kamil Godzwon <kamilx.godzwon at intel.com> wrote:
> /home/vagrant/dpdk/build/include/rte_crypto_sym.h:1009:4: \
> warning: Value stored to 'left' is never read [deadcode.DeadStores]
> left = 0;
> ^ ~
> 1 warning generated.
>
> Compilator sees that the variable 'left' is never read after
> assignment a '0' value. To get rid of this warning message, use 'if'
> condition to verify the 'left' value before RTE_ASSERT.
>
> Signed-off-by: Kamil Godzwon <kamilx.godzwon at intel.com>
> ---
> v2:
> Changed commit message as the line was too long
> Removed braces
> ---
> lib/cryptodev/rte_crypto_sym.h | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h
> index b43174dbec..dcef1a5049 100644
> --- a/lib/cryptodev/rte_crypto_sym.h
> +++ b/lib/cryptodev/rte_crypto_sym.h
> @@ -1016,7 +1016,9 @@ rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, uint32_t ofs, uint32_t len,
> left -= seglen;
> }
>
> - RTE_ASSERT(left == 0);
> + if (left != 0)
> + RTE_ASSERT(false);
> +
> return i;
> }
>
This could happen if the passed in length to this routine was larger than
the amount of data in the mbuf. Should the function check and return an error?
Panic should only be reserved for seriously corrupted input (like invalid mbuf).
Also, this is a big enough function that it really should not be inlined.
More information about the dev
mailing list