Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 2010 00:04:08 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/netinet6 in6.c nd6.c nd6_nbr.c
Message-ID:  <201011290004.oAT04V89026823@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
bz          2010-11-29 00:04:08 UTC

  FreeBSD src repository

  Modified files:
    sys/netinet6         in6.c nd6.c nd6_nbr.c 
  Log:
  SVN rev 216022 on 2010-11-29 00:04:08Z by bz
  
  Plug well observed races on la_hold entries with the callout handler.
  
  Call the handler function with the lock held, return unlocked as we
  might free the entry.  Rework functions later in the call graph to be
  either called with the lock held or, only if needed, unlocked.
  
  Place asserts to document and tighten assumptions on various lle locking,
  which were not always true before.
  
  We call nd6_ns_output() unlocked and the assignment of ip6->ip6_src was
  decentralized to minimize possible complexity introduced with the formerly
  missing locking there.  This also resulted in a push down of local
  variable scopes into smaller blocks.
  
  Reported by:    many
  PR:             kern/148857
  Submitted by:   Dmitrij Tejblum (tejblum yandex-team.ru) (original version)
  MFC After:      4 days
  
  Revision  Changes    Path
  1.134     +3 -1      src/sys/netinet6/in6.c
  1.141     +64 -38    src/sys/netinet6/nd6.c
  1.78      +23 -19    src/sys/netinet6/nd6_nbr.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011290004.oAT04V89026823>