Re: [PATCH 1/2] net/mana: fix MR length truncation for chunks over 4GB
Stephen Hemminger <[email protected]>
| Newsgroups | org.dpdk.dev |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 5 Aug 2026 18:44:06 +0300 Rita Ruvinsky <[email protected]> wrote: > mana_range.len is a uint32_t, so a mempool chunk of 4GB or more > truncates modulo 2^32 -- exactly 4GB becomes 0, 15GB becomes 3GB. > > The guard against priv->max_mr_size cannot catch this because it > compares the already-truncated value, and the device advertises > max_mr_size as UINT64_MAX. ibv_reg_mr() then fails with EINVAL on a > zero length, or silently registers a region far shorter than the pool, > so lookups for buffers past that boundary never find an MR and no Rx > WQE can be posted. > > Widen the length to uint64_t through the MR path, including the > multi-process request that forwards it to the primary process. > > Fixes: 0f5db3c68ba7 ("net/mana: implement memory registration") > Cc: [email protected] > Signed-off-by: Rita Ruvinsky <[email protected]> > --- This patch series will not build on main branch. It has merge conflicts with recent device reset code.