View | Details | Raw Unified | Return to bug 157209
Collapse All | Expand All

(-)sys/netinet6/raw_ip6.c (-1 / +1 lines)
Lines 193-212 Link Here
193
			if (!IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) &&
193
			if (!IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) &&
194
			    prison_check_ip6(in6p->inp_cred,
194
			    prison_check_ip6(in6p->inp_cred,
195
			    &ip6->ip6_dst) != 0)
195
			    &ip6->ip6_dst) != 0)
196
				continue;
196
				continue;
197
		}
197
		}
198
		INP_RLOCK(in6p);
198
		if (in6p->in6p_cksum != -1) {
199
		if (in6p->in6p_cksum != -1) {
199
			V_rip6stat.rip6s_isum++;
200
			V_rip6stat.rip6s_isum++;
200
			if (in6_cksum(m, proto, *offp,
201
			if (in6_cksum(m, proto, *offp,
201
			    m->m_pkthdr.len - *offp)) {
202
			    m->m_pkthdr.len - *offp)) {
202
				INP_RUNLOCK(in6p);
203
				INP_RUNLOCK(in6p);
203
				V_rip6stat.rip6s_badsum++;
204
				V_rip6stat.rip6s_badsum++;
204
				continue;
205
				continue;
205
			}
206
			}
206
		}
207
		}
207
		INP_RLOCK(in6p);
208
		/*
208
		/*
209
		 * If this raw socket has multicast state, and we
209
		 * If this raw socket has multicast state, and we
210
		 * have received a multicast, check if this socket
210
		 * have received a multicast, check if this socket
211
		 * should receive it, as multicast filtering is now
211
		 * should receive it, as multicast filtering is now
212
		 * the responsibility of the transport layer.
212
		 * the responsibility of the transport layer.

Return to bug 157209