summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAndrey V. Elsukov <ae@FreeBSD.org>2013-03-28 10:08:58 +0000
committerAndrey V. Elsukov <ae@FreeBSD.org>2013-03-28 10:08:58 +0000
commit3fa483c3a35730ec8ab194eb08d2f8cd4b732bb0 (patch)
tree50013659dbacd8f710ac3b150225c997881e5e3f /sys
parentf787c80d66876b52ed1d7b53c573decd73031690 (diff)
MFstable/8 r248822:
Take the inpcb rlock before calculating checksum, it was accidentally moved in r191672. Approved by: re (glebius)
Notes
svn path=/releng/8.4/; revision=248823
Diffstat (limited to 'sys')
-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 6bca19fd3d77..52ea601e7bad 100644
--- a/sys/netinet6/raw_ip6.c
+++ b/sys/netinet6/raw_ip6.c
@@ -195,6 +195,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,
@@ -204,7 +205,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