ipv6: Compute net once in raw6_send_hdrinc
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
19a0644ca3
commit
adb28c9d33
@ -614,6 +614,7 @@ static int rawv6_send_hdrinc(struct sock *sk, struct msghdr *msg, int length,
|
|||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
struct ipv6_pinfo *np = inet6_sk(sk);
|
struct ipv6_pinfo *np = inet6_sk(sk);
|
||||||
|
struct net *net = sock_net(sk);
|
||||||
struct ipv6hdr *iph;
|
struct ipv6hdr *iph;
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
int err;
|
int err;
|
||||||
@ -652,7 +653,7 @@ static int rawv6_send_hdrinc(struct sock *sk, struct msghdr *msg, int length,
|
|||||||
if (err)
|
if (err)
|
||||||
goto error_fault;
|
goto error_fault;
|
||||||
|
|
||||||
IP6_UPD_PO_STATS(sock_net(sk), rt->rt6i_idev, IPSTATS_MIB_OUT, skb->len);
|
IP6_UPD_PO_STATS(net, rt->rt6i_idev, IPSTATS_MIB_OUT, skb->len);
|
||||||
err = NF_HOOK(NFPROTO_IPV6, NF_INET_LOCAL_OUT, sk, skb,
|
err = NF_HOOK(NFPROTO_IPV6, NF_INET_LOCAL_OUT, sk, skb,
|
||||||
NULL, rt->dst.dev, dst_output);
|
NULL, rt->dst.dev, dst_output);
|
||||||
if (err > 0)
|
if (err > 0)
|
||||||
@ -666,7 +667,7 @@ error_fault:
|
|||||||
err = -EFAULT;
|
err = -EFAULT;
|
||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
error:
|
error:
|
||||||
IP6_INC_STATS(sock_net(sk), rt->rt6i_idev, IPSTATS_MIB_OUTDISCARDS);
|
IP6_INC_STATS(net, rt->rt6i_idev, IPSTATS_MIB_OUTDISCARDS);
|
||||||
if (err == -ENOBUFS && !np->recverr)
|
if (err == -ENOBUFS && !np->recverr)
|
||||||
err = 0;
|
err = 0;
|
||||||
return err;
|
return err;
|
||||||
|
Loading…
Reference in New Issue
Block a user