Date: Tue, 17 Aug 2010 07:58:10 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r211411 - stable/8/sys/netinet6 Message-ID: <201008170758.o7H7wAwa023266@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bz Date: Tue Aug 17 07:58:10 2010 New Revision: 211411 URL: http://svn.freebsd.org/changeset/base/211411 Log: MFC r211301: In rip6_input(), in case of multicast, we might skip the normal processing and go to the next iteration early if multicast filtering would decide that this socket shall not receive the data. Unlock the pcb in that case or we leak the read lock and next time trying to get a write lock, would hang forever. PR: kern/149608 Submitted by: Chris Luke (chrisy flirble.org) Modified: stable/8/sys/netinet6/raw_ip6.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cam/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/netinet6/raw_ip6.c ============================================================================== --- stable/8/sys/netinet6/raw_ip6.c Tue Aug 17 06:08:09 2010 (r211410) +++ stable/8/sys/netinet6/raw_ip6.c Tue Aug 17 07:58:10 2010 (r211411) @@ -248,6 +248,7 @@ rip6_input(struct mbuf **mp, int *offp, } if (blocked != MCAST_PASS) { IP6STAT_INC(ip6s_notmember); + INP_RUNLOCK(in6p); continue; } }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008170758.o7H7wAwa023266>