mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-28 07:13:34 +00:00
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
1 changed files with 6 additions and 0 deletions
|
@ -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…
Reference in a new issue