From: Ronak Doshi <dos...@vmware.com>
Date: Thu, 28 May 2020 21:18:34 +0000

> 
> On 5/28/20, 12:35 PM, "Jakub Kicinski" <k...@kernel.org> wrote:
>>    On Thu, 28 May 2020 11:36:14 -0700 Ronak Doshi wrote:
>>    > @@ -1168,13 +1220,21 @@ vmxnet3_rx_csum(struct vmxnet3_adapter *adapter,
>>    >                     (le32_to_cpu(gdesc->dword[3]) &
>>    >                      VMXNET3_RCD_CSUM_OK) == VMXNET3_RCD_CSUM_OK) {
>>    >                         skb->ip_summed = CHECKSUM_UNNECESSARY;
>>    > -                       BUG_ON(!(gdesc->rcd.tcp || gdesc->rcd.udp));
>>    > -                       BUG_ON(gdesc->rcd.frg);
>>    > +                       BUG_ON(!(gdesc->rcd.tcp || gdesc->rcd.udp) &&
>>    > +                              !(le32_to_cpu(gdesc->dword[0]) &
>>    > +                                (1UL << VMXNET3_RCD_HDR_INNER_SHIFT)));
>>    > +                       BUG_ON(gdesc->rcd.frg &&
>>    > +                              !(le32_to_cpu(gdesc->dword[0]) &
>>    > +                                (1UL << VMXNET3_RCD_HDR_INNER_SHIFT)));
>>    
>>    Seems fairly extreme to trigger BUG_ONs if rx descriptor doesn't
>>    contain valid checksum offload flags :S WARN_ON_ONCE() and ignore 
>>    checsum or drop packet would be more than sufficient.
>     
> Hello Jakub,
> 
> Good point. However, I did not want to change the behavior in this patch,
> so kept it as is. If required, this can be done in future separate patch.

It's really awful to kill so much of the system because of a flipped bit
in a descriptor.

Please fix this as well as address Michal's feedback.

Thanks.

Reply via email to