[PATCH v2 08/10] hash: fix unaligned access in predictable RSS

David Marchand david.marchand at redhat.com
Tue Jul 15 13:57:28 CEST 2025


On Tue, Jul 8, 2025 at 7:58 PM Konstantin Ananyev
<konstantin.ananyev at huawei.com> wrote:
> > > Just wonder do you guys consider it as a real one?
> > > AFAIK, all architectures that we care about do support unaligned load for 32-bit integers.
> >
> > Well this is undefined behavior, regardless of what the architecture support.
> > And the compiler may end up generating wrong code.
>
> Probably, though AFAIK, we do have a lot of code that load 32-bit values from possibly
> non-aligned addresses (nearly all packet parsing does that).
> I wonder why it only complained only about that one?

Probably because unit tests coverage is (too) small.


> BTW, would our 'unaligned_uint32_t' type help here?

Since most DPDK code rely on aligned types, using an unaligned type
can work if we have a function that serves as a conversion from
unaligned to aligned types.
In this code, since the next operation is a byte swap operation on
32bits, I don't think we have many option but to memcpy().


-- 
David Marchand



More information about the dev mailing list