On Wed, Mar 23, 2016 at 10:27:30PM +0800, Liping Zhang wrote:
> diff --git a/net/ipv4/netfilter/ipt_SYNPROXY.c 
> b/net/ipv4/netfilter/ipt_SYNPROXY.c
> index 7b8fbb3..6b4f501 100644
> --- a/net/ipv4/netfilter/ipt_SYNPROXY.c
> +++ b/net/ipv4/netfilter/ipt_SYNPROXY.c
> @@ -18,10 +18,10 @@
>  #include <net/netfilter/nf_conntrack_synproxy.h>
>  
>  static struct iphdr *
> -synproxy_build_ip(struct sk_buff *skb, __be32 saddr, __be32 daddr)
> +synproxy_build_ip(struct net *net, struct sk_buff *skb, __be32 saddr,
> +               __be32 daddr)
>  {
>       struct iphdr *iph;
> -     struct net *net = sock_net(skb->sk);
>  
>       skb_reset_network_header(skb);
>       iph = (struct iphdr *)skb_put(skb, sizeof(*iph));
> @@ -91,7 +91,8 @@ synproxy_send_client_synack(const struct synproxy_net *snet,
>               return;
>       skb_reserve(nskb, MAX_TCP_HEADER);
>  
> -     niph = synproxy_build_ip(nskb, iph->daddr, iph->saddr);
> +     niph = synproxy_build_ip(nf_ct_net(snet->tmpl), nskb, iph->daddr,
> +                              iph->saddr);
>  
>       skb_reset_transport_header(nskb);
>       nth = (struct tcphdr *)skb_put(nskb, tcp_hdr_size);
> @@ -132,7 +133,8 @@ synproxy_send_server_syn(const struct synproxy_net *snet,
>               return;
>       skb_reserve(nskb, MAX_TCP_HEADER);
>  
> -     niph = synproxy_build_ip(nskb, iph->saddr, iph->daddr);
> +     niph = synproxy_build_ip(nf_ct_net(snet->tmpl), nskb, iph->saddr,
> +                              iph->daddr);

Could you also pass net as parameter to synproxy_send_server_syn() ?

par->net provides this from synproxy_tg4().

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to