]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ipvs: Avoid unnecessary calls to skb_is_gso_sctp
authorIsmael Luceno <iluceno@suse.de>
Thu, 23 May 2024 16:54:44 +0000 (18:54 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 25 Jun 2024 22:54:45 +0000 (00:54 +0200)
In the context of the SCTP SNAT/DNAT handler, these calls can only
return true.

Fixes: e10d3ba4d434 ("ipvs: Fix checksumming on GSO of SCTP packets")
Signed-off-by: Ismael Luceno <iluceno@suse.de>
Acked-by: Julian Anastasov <ja@ssi.bg>
Acked-by: Simon Horman <horms@kernel.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/ipvs/ip_vs_proto_sctp.c

index 1e689c71412716e04f417cdb62d9fb56b730a1ab..83e452916403d50549ec08cc2b40bc882dbdf2d4 100644 (file)
@@ -126,7 +126,7 @@ sctp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
        if (sctph->source != cp->vport || payload_csum ||
            skb->ip_summed == CHECKSUM_PARTIAL) {
                sctph->source = cp->vport;
-               if (!skb_is_gso(skb) || !skb_is_gso_sctp(skb))
+               if (!skb_is_gso(skb))
                        sctp_nat_csum(skb, sctph, sctphoff);
        } else {
                skb->ip_summed = CHECKSUM_UNNECESSARY;
@@ -175,7 +175,7 @@ sctp_dnat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
            (skb->ip_summed == CHECKSUM_PARTIAL &&
             !(skb_dst(skb)->dev->features & NETIF_F_SCTP_CRC))) {
                sctph->dest = cp->dport;
-               if (!skb_is_gso(skb) || !skb_is_gso_sctp(skb))
+               if (!skb_is_gso(skb))
                        sctp_nat_csum(skb, sctph, sctphoff);
        } else if (skb->ip_summed != CHECKSUM_PARTIAL) {
                skb->ip_summed = CHECKSUM_UNNECESSARY;