mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
sctp: sctp gso should set feature with NETIF_F_SG when calling skb_segment
[ Upstream commit5207f39963] Now sctp gso puts segments into skb's frag_list, then processes these segments in skb_segment. But skb_segment handles them only when gs is enabled, as it's in the same branch with skb's frags. Although almost all the NICs support sg other than some old ones, but since commit1e16aa3ddf("net: gso: use feature flag argument in all protocol gso handlers"), features &= skb->dev->hw_enc_features, and xfrm_output_gso call skb_segment with features = 0, which means sctp gso would call skb_segment with sg = 0, and skb_segment would not work as expected. This patch is to fix it by setting features param with NETIF_F_SG when calling skb_segment so that it can go the right branch to process the skb's frag_list. Signed-off-by: Xin Long <lucien.xin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
12a583ddf0
commit
bf812fe926
@@ -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);
|
||||
segs = skb_segment(skb, features | NETIF_F_HW_CSUM | NETIF_F_SG);
|
||||
if (IS_ERR(segs))
|
||||
goto out;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user