Date: Sat, 12 Sep 2009 18:55:15 +0000 (UTC) From: Bruce M Simpson <bms@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/netinet in_mcast.c Message-ID: <200909121855.n8CItQbs065981@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909121855.n8CItQbs065981>
