sctp: remove the NETIF_F_SG flag before calling skb_segment
authorXin Long <lucien.xin@gmail.com>
Fri, 15 Jan 2021 09:36:39 +0000 (17:36 +0800)
committerJakub Kicinski <kuba@kernel.org>
Sun, 17 Jan 2021 03:05:59 +0000 (19:05 -0800)
It makes more sense to clear NETIF_F_SG instead of set it when
calling skb_segment() in sctp_gso_segment(), since SCTP GSO is
using head_skb's fraglist, of which all frags are linear skbs.

This will make SCTP GSO code more understandable.

Suggested-by: Alexander Duyck <alexander.duyck@gmail.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sctp/offload.c

index ce281a9..eb874e3 100644 (file)
@@ -68,7 +68,7 @@ static struct sk_buff *sctp_gso_segment(struct sk_buff *skb,
                goto out;
        }
 
-       segs = skb_segment(skb, features | NETIF_F_HW_CSUM | NETIF_F_SG);
+       segs = skb_segment(skb, (features | NETIF_F_HW_CSUM) & ~NETIF_F_SG);
        if (IS_ERR(segs))
                goto out;