Hi Ciara, > -----Original Message----- > From: Power, Ciara <ciara.po...@intel.com> > Sent: Friday, February 18, 2022 12:58 PM > To: dev@dpdk.org > Cc: Zhang, Roy Fan <roy.fan.zh...@intel.com>; gak...@marvell.com; Kusztal, > ArkadiuszX <arkadiuszx.kusz...@intel.com>; Power, Ciara > <ciara.po...@intel.com> > Subject: [PATCH] crypto: fix asymmetric private session variable size > > When creating the asymmetric session mempool, the maximum private > session size of all devices is used when creating the mempool > object size. > The return value for ``rte_cryptodev_asym_get_private_session_size`` > is unsigned int, whereas the variable was uint8_t, leading to a > possible overflow issue. > > To fix this, the variable for private session size is now changed to > unsigned int to match the function return type. > > Fixes: 1f1e4b7cbaad ("cryptodev: use single mempool for asymmetric > session") > Reported-by: Arek Kusztal <arkadiuszx.kusz...@intel.com> > > Signed-off-by: Ciara Power <ciara.po...@intel.com> > --- > lib/cryptodev/rte_cryptodev.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c > index 727d271fb9..d262ae6ffa 100644 > --- a/lib/cryptodev/rte_cryptodev.c > +++ b/lib/cryptodev/rte_cryptodev.c > @@ -1810,7 +1810,8 @@ rte_cryptodev_asym_session_pool_create(const > char *name, uint32_t nb_elts, > struct rte_mempool *mp; > struct rte_cryptodev_asym_session_pool_private_data *pool_priv; > uint32_t obj_sz, obj_sz_aligned; > - uint8_t dev_id, priv_sz, max_priv_sz = 0; > + uint8_t dev_id; > + unsigned int priv_sz, max_priv_sz = 0;
I guess it is better to use uint32_t instead of unsigned int? I know they are most likely the same thing but probably better to use consistent type. > > for (dev_id = 0; dev_id < RTE_CRYPTO_MAX_DEVS; dev_id++) > if (rte_cryptodev_is_valid_dev(dev_id)) { > -- > 2.25.1 Regards, Fan