diff options
Diffstat (limited to 'net/netfilter/xt_TCPMSS.c')
| -rw-r--r-- | net/netfilter/xt_TCPMSS.c | 11 | 
1 files changed, 6 insertions, 5 deletions
| diff --git a/net/netfilter/xt_TCPMSS.c b/net/netfilter/xt_TCPMSS.c index 9e63b43faee..190ad37c5cf 100644 --- a/net/netfilter/xt_TCPMSS.c +++ b/net/netfilter/xt_TCPMSS.c @@ -161,7 +161,7 @@ static u_int32_t tcpmss_reverse_mtu(const struct sk_buff *skb,  		struct flowi6 *fl6 = &fl.u.ip6;  		memset(fl6, 0, sizeof(*fl6)); -		ipv6_addr_copy(&fl6->daddr, &ipv6_hdr(skb)->saddr); +		fl6->daddr = ipv6_hdr(skb)->saddr;  	}  	rcu_read_lock();  	ai = nf_get_afinfo(family); @@ -198,17 +198,18 @@ tcpmss_tg4(struct sk_buff *skb, const struct xt_action_param *par)  	return XT_CONTINUE;  } -#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE) +#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)  static unsigned int  tcpmss_tg6(struct sk_buff *skb, const struct xt_action_param *par)  {  	struct ipv6hdr *ipv6h = ipv6_hdr(skb);  	u8 nexthdr; +	__be16 frag_off;  	int tcphoff;  	int ret;  	nexthdr = ipv6h->nexthdr; -	tcphoff = ipv6_skip_exthdr(skb, sizeof(*ipv6h), &nexthdr); +	tcphoff = ipv6_skip_exthdr(skb, sizeof(*ipv6h), &nexthdr, &frag_off);  	if (tcphoff < 0)  		return NF_DROP;  	ret = tcpmss_mangle_packet(skb, par->targinfo, @@ -259,7 +260,7 @@ static int tcpmss_tg4_check(const struct xt_tgchk_param *par)  	return -EINVAL;  } -#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE) +#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)  static int tcpmss_tg6_check(const struct xt_tgchk_param *par)  {  	const struct xt_tcpmss_info *info = par->targinfo; @@ -292,7 +293,7 @@ static struct xt_target tcpmss_tg_reg[] __read_mostly = {  		.proto		= IPPROTO_TCP,  		.me		= THIS_MODULE,  	}, -#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE) +#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)  	{  		.family		= NFPROTO_IPV6,  		.name		= "TCPMSS", | 
