[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <c4b5955a-8ec6-47ac-913d-4a959e0b477e@amd.com>
Date: Tue, 3 Feb 2026 11:58:13 -0800
From: "Rao, Nikhil" <nikhirao@....com>
To: magnus.karlsson@...el.com, maciej.fijalkowski@...el.com
Cc: sdf@...ichev.me, netdev@...r.kernel.org
Subject: net/xdp: Potential issue with xp_aligned_validate_desc() in
multi-buffer packets
Hi XDP maintainers,
I have noticed a potential issue with multi-buffer packet support in the
xp_aligned_validate_desc() function in net/xdp/xsk_queue.h.
In xp_aligned_validate_desc(), the validation always adjusts the address
and length by pool->tx_metadata_len:
u64 addr = desc->addr - pool->tx_metadata_len;
u64 len = desc->len + pool->tx_metadata_len;
However, in multi-buffer XDP packets, only the first descriptor contains
TX metadata. Subsequent descriptors do not have
metadata and should not be validated with this adjustment.
This causes validation failures for the 2nd buffer onward in
multi-buffer packets when TX metadata is enabled.
The same issue exists in xp_unaligned_validate_desc() as well.
I'm happy to submit a patch if this is indeed a bug. Please let me know
your thoughts.
Thanks,
Nikhil
Powered by blists - more mailing lists