Le mar. 27 oct. 2026 à 13:15, Magnus Karlsson
[off-list ref] a écrit :
That USO works for 64-bit systems is just pure luck. Currently, the
computation of the UDP segmentation header is performed using sizeof()
a pointer instead of the sizeof() the UDP header that the pointer
points to. Since the UDP header happens to be 8 bytes long and a
pointer is 8 bytes long on a 64-bit system, this works on all those
systems. But no such luck for anyone using a 32-bit system as 8 bytes
!= 4 bytes. So fix this by using sizeof() the UDP header that the
pointer points to instead.
This was found by an LLM while implementing something else that used USO.
Fixes: a54e3b8cffd6 ("Support UDP segmentation offload")
Missing prefix?
Fixes: a54e3b8cffd6 ("ice: Support UDP segmentation offload")
Other than this,
Reviewed-by: Eric Dumazet <edumazet@kernel.org>
pw-bot: cr