Re: [PATCH net 1/6] hinic: fix process of long length skb without frags

From: David Miller
Date: Mon Mar 16 2020 - 20:33:32 EST


From: Jakub Kicinski <kuba@xxxxxxxxxx>
Date: Mon, 16 Mar 2020 14:44:08 -0700

> On Mon, 16 Mar 2020 00:56:25 +0000 Luo bin wrote:
>> -#define MIN_SKB_LEN 17
>> +#define MIN_SKB_LEN 17
>> +#define HINIC_GSO_MAX_SIZE 65536
>
>> + if (unlikely(skb->len > HINIC_GSO_MAX_SIZE && nr_sges == 1)) {
>> + txq->txq_stats.frag_len_overflow++;
>> + goto skb_error;
>> + }
>
> I don't think drivers should have to check this condition.
>
> We have netdev->gso_max_size which should be initialized to
>
> include/linux/netdevice.h:#define GSO_MAX_SIZE 65536
>
> in
>
> net/core/dev.c: dev->gso_max_size = GSO_MAX_SIZE;
>
> Please send a patch to pktgen to uphold the normal stack guarantees.

Agreed, the driver should not have to validate this.