Take the inpcb rlock before calculating checksum, it was accidentally

moved in r191672.

Obtained from:	Yandex LLC
MFC after:	1 week
This commit is contained in:
Andrey V. Elsukov 2013-03-12 02:20:20 +00:00
parent be26ba7cd3
commit b7c896c9be
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=248180

View File

@ -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