Bug ID 1472
Summary mbuf: some dynamic fields are mishandled if IOVA as PA is disabled during build
Product DPDK
Version 22.11
Hardware All
OS All
Status UNCONFIRMED
Severity major
Priority Normal
Component core
Assignee dev@dpdk.org
Reporter mb@smartsharesystems.com
Target Milestone ---

If IOVA as PA is disabled during build (i.e. !RTE_IOVA_AS_PA), a second dynamic
field [1] becomes available in the rte_mbuf structure. This is fine.

rte_mbuf_dynfield_copy() [2] does not copy this field, although it should.

In turn, this also affects __rte_pktmbuf_copy_hdr(), which in turn affects
rte_pktmbuf_attach() and rte_pktmbuf_copy().

The bug was introduced by the patch [3] making the dynfield2 available for
dynamic fields.

The bug is present in DPDK 22.11(incl. 22.11.5) - 24.07-rc1.
The bug is not present in DPDK 22.07.

[1]:
https://elixir.bootlin.com/dpdk/v22.11.5/source/lib/mbuf/rte_mbuf_core.h#L609
[2]: https://elixir.bootlin.com/dpdk/v22.11.5/source/lib/mbuf/rte_mbuf.h#L1121
[3]:
https://git.dpdk.org/dpdk/commit/lib/mbuf/rte_mbuf_dyn.c?id=03b57eb7ab9a1203ed6eee67ec0d8ffbc44ca750
          


You are receiving this mail because: