diff options
Diffstat (limited to 'net/ipv6')
| -rw-r--r-- | net/ipv6/netfilter/nf_conntrack_reasm.c | 8 | ||||
| -rw-r--r-- | net/ipv6/reassembly.c | 7 | ||||
| -rw-r--r-- | net/ipv6/sit.c | 2 | 
3 files changed, 8 insertions, 9 deletions
| diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c index ed4d79a9e4a..058a5e4a60c 100644 --- a/net/ipv6/netfilter/nf_conntrack_reasm.c +++ b/net/ipv6/netfilter/nf_conntrack_reasm.c @@ -528,14 +528,14 @@ find_prev_fhdr(struct sk_buff *skb, u8 *prevhdrp, int *prevhoff, int *fhoff)  		if (!ipv6_ext_hdr(nexthdr)) {  			return -1;  		} -		if (len < (int)sizeof(struct ipv6_opt_hdr)) { -			pr_debug("too short\n"); -			return -1; -		}  		if (nexthdr == NEXTHDR_NONE) {  			pr_debug("next header is none\n");  			return -1;  		} +		if (len < (int)sizeof(struct ipv6_opt_hdr)) { +			pr_debug("too short\n"); +			return -1; +		}  		if (skb_copy_bits(skb, start, &hdr, sizeof(hdr)))  			BUG();  		if (nexthdr == NEXTHDR_AUTH) diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index 3c575118fca..e9ac7a12f59 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c @@ -452,6 +452,7 @@ err:  static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff *prev,  			  struct net_device *dev)  { +	struct net *net = container_of(fq->q.net, struct net, ipv6.frags);  	struct sk_buff *fp, *head = fq->q.fragments;  	int    payload_len;  	unsigned int nhoff; @@ -551,8 +552,7 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff *prev,  					  head->csum);  	rcu_read_lock(); -	IP6_INC_STATS_BH(dev_net(dev), -			 __in6_dev_get(dev), IPSTATS_MIB_REASMOKS); +	IP6_INC_STATS_BH(net, __in6_dev_get(dev), IPSTATS_MIB_REASMOKS);  	rcu_read_unlock();  	fq->q.fragments = NULL;  	return 1; @@ -566,8 +566,7 @@ out_oom:  		printk(KERN_DEBUG "ip6_frag_reasm: no memory for reassembly\n");  out_fail:  	rcu_read_lock(); -	IP6_INC_STATS_BH(dev_net(dev), -			 __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS); +	IP6_INC_STATS_BH(net, __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS);  	rcu_read_unlock();  	return -1;  } diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index d3467e563f0..5cee2bcbcec 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -188,9 +188,9 @@ static struct ip_tunnel * ipip6_tunnel_locate(struct net *net,  	}  	nt = netdev_priv(dev); -	ipip6_tunnel_init(dev);  	nt->parms = *parms; +	ipip6_tunnel_init(dev);  	if (parms->i_flags & SIT_ISATAP)  		dev->priv_flags |= IFF_ISATAP; | 
