mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
net: use skb_is_gso_sctp() instead of open-coding
As well as the basic conversion, I noticed that a lot of the SCTP code checks gso_type without first checking skb_is_gso() so I have added that where appropriate. Also, document the helper. Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> Signed-off-by: Daniel Axtens <dja@axtens.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ca0edb131b
commit
1dd27cde30
6 changed files with 12 additions and 9 deletions
|
@ -106,6 +106,7 @@ int sctp_rcv(struct sk_buff *skb)
|
|||
int family;
|
||||
struct sctp_af *af;
|
||||
struct net *net = dev_net(skb->dev);
|
||||
bool is_gso = skb_is_gso(skb) && skb_is_gso_sctp(skb);
|
||||
|
||||
if (skb->pkt_type != PACKET_HOST)
|
||||
goto discard_it;
|
||||
|
@ -123,8 +124,7 @@ int sctp_rcv(struct sk_buff *skb)
|
|||
* it's better to just linearize it otherwise crc computing
|
||||
* takes longer.
|
||||
*/
|
||||
if ((!(skb_shinfo(skb)->gso_type & SKB_GSO_SCTP) &&
|
||||
skb_linearize(skb)) ||
|
||||
if ((!is_gso && skb_linearize(skb)) ||
|
||||
!pskb_may_pull(skb, sizeof(struct sctphdr)))
|
||||
goto discard_it;
|
||||
|
||||
|
@ -135,7 +135,7 @@ int sctp_rcv(struct sk_buff *skb)
|
|||
if (skb_csum_unnecessary(skb))
|
||||
__skb_decr_checksum_unnecessary(skb);
|
||||
else if (!sctp_checksum_disable &&
|
||||
!(skb_shinfo(skb)->gso_type & SKB_GSO_SCTP) &&
|
||||
!is_gso &&
|
||||
sctp_rcv_checksum(net, skb) < 0)
|
||||
goto discard_it;
|
||||
skb->csum_valid = 1;
|
||||
|
@ -1218,7 +1218,7 @@ static struct sctp_association *__sctp_rcv_lookup_harder(struct net *net,
|
|||
* issue as packets hitting this are mostly INIT or INIT-ACK and
|
||||
* those cannot be on GSO-style anyway.
|
||||
*/
|
||||
if ((skb_shinfo(skb)->gso_type & SKB_GSO_SCTP) == SKB_GSO_SCTP)
|
||||
if (skb_is_gso(skb) && skb_is_gso_sctp(skb))
|
||||
return NULL;
|
||||
|
||||
ch = (struct sctp_chunkhdr *)skb->data;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue