xsk: discard zero length descriptors in Tx path
Descriptors with zero length are not supported by many NICs. To preserve uniform behavior discard any zero length desc as invvalid desc. Signed-off-by: Tirthendu Sarkar <tirthendu.sarkar@intel.com> Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com> Link: https://lore.kernel.org/r/20230719132421.584801-10-maciej.fijalkowski@intel.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
cf24f5a5fe
commit
07428da9e2
@ -140,6 +140,9 @@ static inline bool xp_aligned_validate_desc(struct xsk_buff_pool *pool,
|
||||
{
|
||||
u64 offset = desc->addr & (pool->chunk_size - 1);
|
||||
|
||||
if (!desc->len)
|
||||
return false;
|
||||
|
||||
if (offset + desc->len > pool->chunk_size)
|
||||
return false;
|
||||
|
||||
@ -156,6 +159,9 @@ static inline bool xp_unaligned_validate_desc(struct xsk_buff_pool *pool,
|
||||
{
|
||||
u64 addr = xp_unaligned_add_offset_to_addr(desc->addr);
|
||||
|
||||
if (!desc->len)
|
||||
return false;
|
||||
|
||||
if (desc->len > pool->chunk_size)
|
||||
return false;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user