> From: Shijith Thotton [mailto:sthot...@marvell.com]
> Sent: Wednesday, 26 June 2024 14.08
> 
> Fixed rte_mbuf_dynfield_copy() API to copy dynamic fields from one mbuf
> to another. When RTE_IOVA_AS_PA is not defined during the build, an
> additional dynamic field (dynfield2) becomes available. This field
> should be conditionally copied to ensure the complete duplication of
> dynamic fields between mbufs. This patch fixes the same.
> 
> see https://bugs.dpdk.org/show_bug.cgi?id=1472
> 
> Bugzilla ID: 1472
> Fixes: 03b57eb7ab9a ("mbuf: add second dynamic field member")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Shijith Thotton <sthot...@marvell.com>

Thank you for fixing this bug.

> ---
>  lib/mbuf/rte_mbuf.h | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h
> index 4c4722e002..dc6d1237ac 100644
> --- a/lib/mbuf/rte_mbuf.h
> +++ b/lib/mbuf/rte_mbuf.h
> @@ -1120,6 +1120,9 @@ static inline void
>  rte_mbuf_dynfield_copy(struct rte_mbuf *mdst, const struct rte_mbuf *msrc)
>  {
>       memcpy(&mdst->dynfield1, msrc->dynfield1, sizeof(mdst->dynfield1));
> +#if !RTE_IOVA_IN_MBUF
> +     mdst->dynfield2 = msrc->dynfield2;
> +#endif

dynfield2 is located before dynfield1 in the mbuf struct; suggest copy 
dynfield2 before dynfield1.

>  }
> 
>  /* internal */
> --
> 2.25.1

With or without suggested change,

Reviewed-by: Morten Brørup <m...@smartsharesystems.com>

Reply via email to