summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2013-03-12 02:20:20 +0000
committerae <ae@FreeBSD.org>2013-03-12 02:20:20 +0000
commit4e920d3af6b2fe322e8df031001fe839b7ab3707 (patch)
treee57cdb862dc23df7567d9cd9444d19e8cc33ca27 /sys/netinet6
parent46a0405f64ba3ae10cbd811634ab9ac86db2f0de (diff)
downloadFreeBSD-src-4e920d3af6b2fe322e8df031001fe839b7ab3707.zip
FreeBSD-src-4e920d3af6b2fe322e8df031001fe839b7ab3707.tar.gz
Take the inpcb rlock before calculating checksum, it was accidentally
moved in r191672. Obtained from: Yandex LLC MFC after: 1 week
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/raw_ip6.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet6/raw_ip6.c b/sys/netinet6/raw_ip6.c
index e635041..60960705 100644
--- a/sys/netinet6/raw_ip6.c
+++ b/sys/netinet6/raw_ip6.c
@@ -197,6 +197,7 @@ rip6_input(struct mbuf **mp, int *offp, int proto)
&ip6->ip6_dst) != 0)
continue;
}
+ INP_RLOCK(in6p);
if (in6p->in6p_cksum != -1) {
V_rip6stat.rip6s_isum++;
if (in6_cksum(m, proto, *offp,
@@ -206,7 +207,6 @@ rip6_input(struct mbuf **mp, int *offp, int proto)
continue;
}
}
- INP_RLOCK(in6p);
/*
* If this raw socket has multicast state, and we
* have received a multicast, check if this socket
OpenPOWER on IntegriCloud