Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit adb28c9d authored by Eric W. Biederman's avatar Eric W. Biederman Committed by David S. Miller
Browse files

ipv6: Compute net once in raw6_send_hdrinc

parent 19a0644c
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -614,6 +614,7 @@ static int rawv6_send_hdrinc(struct sock *sk, struct msghdr *msg, int length,
			unsigned int flags)
{
	struct ipv6_pinfo *np = inet6_sk(sk);
	struct net *net = sock_net(sk);
	struct ipv6hdr *iph;
	struct sk_buff *skb;
	int err;
@@ -652,7 +653,7 @@ static int rawv6_send_hdrinc(struct sock *sk, struct msghdr *msg, int length,
	if (err)
		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,
		      NULL, rt->dst.dev, dst_output);
	if (err > 0)
@@ -666,7 +667,7 @@ static int rawv6_send_hdrinc(struct sock *sk, struct msghdr *msg, int length,
	err = -EFAULT;
	kfree_skb(skb);
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)
		err = 0;
	return err;