LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH net] ipvs: get sctphdr by sctphoff in sctp_csum_check

To: Xin Long <lucien.xin@xxxxxxxxx>
Subject: Re: [PATCH net] ipvs: get sctphdr by sctphoff in sctp_csum_check
Cc: network dev <netdev@xxxxxxxxxxxxxxx>, netfilter-devel@xxxxxxxxxxxxxxx, Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx>, Neil Horman <nhorman@xxxxxxxxxxxxx>, pablo@xxxxxxxxxxxxx, Simon Horman <horms@xxxxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx
From: Julian Anastasov <ja@xxxxxx>
Date: Mon, 25 Feb 2019 22:19:58 +0200 (EET)
        Hello,

On Mon, 25 Feb 2019, Xin Long wrote:

> sctp_csum_check() is called by sctp_s/dnat_handler() where it calls
> skb_make_writable() to ensure sctphdr to be linearized.
> 
> So there's no need to get sctphdr by calling skb_header_pointer()
> in sctp_csum_check().
> 
> Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx>

        Looks good to me, thanks!

Acked-by: Julian Anastasov <ja@xxxxxx>

        I guess, it is for the nf-next/net-next tree because it just
eliminates a duplicate check.

> ---
>  net/netfilter/ipvs/ip_vs_proto_sctp.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/net/netfilter/ipvs/ip_vs_proto_sctp.c 
> b/net/netfilter/ipvs/ip_vs_proto_sctp.c
> index b0cd7d0..0ecf241 100644
> --- a/net/netfilter/ipvs/ip_vs_proto_sctp.c
> +++ b/net/netfilter/ipvs/ip_vs_proto_sctp.c
> @@ -183,7 +183,7 @@ static int
>  sctp_csum_check(int af, struct sk_buff *skb, struct ip_vs_protocol *pp)
>  {
>       unsigned int sctphoff;
> -     struct sctphdr *sh, _sctph;
> +     struct sctphdr *sh;
>       __le32 cmp, val;
>  
>  #ifdef CONFIG_IP_VS_IPV6
> @@ -193,10 +193,7 @@ sctp_csum_check(int af, struct sk_buff *skb, struct 
> ip_vs_protocol *pp)
>  #endif
>               sctphoff = ip_hdrlen(skb);
>  
> -     sh = skb_header_pointer(skb, sctphoff, sizeof(_sctph), &_sctph);
> -     if (sh == NULL)
> -             return 0;
> -
> +     sh = (struct sctphdr *)(skb->data + sctphoff);
>       cmp = sh->checksum;
>       val = sctp_compute_cksum(skb, sctphoff);
>  
> -- 
> 2.1.0

Regards

--
Julian Anastasov <ja@xxxxxx>

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [PATCH net] ipvs: get sctphdr by sctphoff in sctp_csum_check, Julian Anastasov <=