diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2015-09-16 04:04:04 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-09-18 03:18:34 +0300 |
commit | 244ba779855c2ccbb843444c2dce952ca8c1a78e (patch) | |
tree | c492be83ba9a223f913d2509970d2c7d4e83fcbc /net/ipv6/ip6mr.c | |
parent | 758ccac8e7419ae746bcda807919a547ed9cdaad (diff) | |
download | linux-244ba779855c2ccbb843444c2dce952ca8c1a78e.tar.xz |
ipv6: Only compute net once in ip6mr_forward2_finish
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6mr.c')
-rw-r--r-- | net/ipv6/ip6mr.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index e95f6b6281de..3e3085b37a91 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c @@ -1987,9 +1987,10 @@ int ip6mr_compat_ioctl(struct sock *sk, unsigned int cmd, void __user *arg) static inline int ip6mr_forward2_finish(struct sock *sk, struct sk_buff *skb) { - IP6_INC_STATS_BH(dev_net(skb_dst(skb)->dev), ip6_dst_idev(skb_dst(skb)), + struct net *net = dev_net(skb_dst(skb)->dev); + IP6_INC_STATS_BH(net, ip6_dst_idev(skb_dst(skb)), IPSTATS_MIB_OUTFORWDATAGRAMS); - IP6_ADD_STATS_BH(dev_net(skb_dst(skb)->dev), ip6_dst_idev(skb_dst(skb)), + IP6_ADD_STATS_BH(net, ip6_dst_idev(skb_dst(skb)), IPSTATS_MIB_OUTOCTETS, skb->len); return dst_output(sk, skb); } |