From owner-cvs-src-old@FreeBSD.ORG Sat Sep 12 18:55:26 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC87D1065693 for ; Sat, 12 Sep 2009 18:55:26 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AACC98FC1F for ; Sat, 12 Sep 2009 18:55:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8CItQtf065982 for ; Sat, 12 Sep 2009 18:55:26 GMT (envelope-from bms@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8CItQbs065981 for cvs-src-old@freebsd.org; Sat, 12 Sep 2009 18:55:26 GMT (envelope-from bms@repoman.freebsd.org) Message-Id: <200909121855.n8CItQbs065981@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to bms@repoman.freebsd.org using -f From: Bruce M Simpson Date: Sat, 12 Sep 2009 18:55:15 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/netinet in_mcast.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Sep 2009 18:55:26 -0000 bms 2009-09-12 18:55:15 UTC FreeBSD src repository Modified files: sys/netinet in_mcast.c Log: SVN rev 197129 on 2009-09-12 18:55:15Z by bms Fix an API issue in leave processing for IPv4 multicast groups. * Do not assume that the group lookup performed by imo_match_group() is valid when ifp is NULL in this case. * Instead, return EADDRNOTAVAIL if the ifp cannot be resolved for the membership we are being asked to leave. Caveat user: * The way IPv4 multicast memberships are implemented in the inpcb layer at the moment, has the side-effect that struct ip_moptions will still hold the membership, under the old ifp, until ip_freemoptions() is called for the parent inpcb. * The underlying issue is: the inpcb layer does not get notification of ifp being detached going away in a thread-safe manner. This is non-trivial to fix. But hey, at least the kernel should't panic when you unplug a card. PR: 138689 Submitted by: Stef Walter MFC after: 5 days Revision Changes Path 1.29 +3 -0 src/sys/netinet/in_mcast.c