]> www.infradead.org Git - users/willy/pagecache.git/commitdiff
idpf: fix handling rsc packet with a single segment
authorSridhar Samudrala <sridhar.samudrala@intel.com>
Sat, 11 Jan 2025 00:29:22 +0000 (16:29 -0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 11 Feb 2025 17:13:10 +0000 (09:13 -0800)
Handle rsc packet with a single segment same as a multi
segment rsc packet so that CHECKSUM_PARTIAL is set in the
skb->ip_summed field. The current code is passing CHECKSUM_NONE
resulting in TCP GRO layer doing checksum in SW and hiding the
issue. This will fail when using dmabufs as payload buffers as
skb frag would be unreadable.

Fixes: 3a8845af66ed ("idpf: add RX splitq napi poll support")
Signed-off-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Tested-by: Samuel Salin <Samuel.salin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/idpf/idpf_txrx.c

index 2fa9c36e33c9c87b2189e3799b7ea4fe1b815d99..c9fcf8f4d7363315006b26133db55c861a45308a 100644 (file)
@@ -3008,8 +3008,6 @@ static int idpf_rx_rsc(struct idpf_rx_queue *rxq, struct sk_buff *skb,
                return -EINVAL;
 
        rsc_segments = DIV_ROUND_UP(skb->data_len, rsc_seg_len);
-       if (unlikely(rsc_segments == 1))
-               return 0;
 
        NAPI_GRO_CB(skb)->count = rsc_segments;
        skb_shinfo(skb)->gso_size = rsc_seg_len;