Skip site navigation (1)Skip section navigation (2)
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>