summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/mld6.h
diff options
context:
space:
mode:
authorbz <bz@FreeBSD.org>2010-11-29 00:04:08 +0000
committerbz <bz@FreeBSD.org>2010-11-29 00:04:08 +0000
commita8c33e5555d9b1e9ce5d952b613cd8f8cc493b07 (patch)
tree2a4dd2301eaf2f79f5764bab73a4af992d0d36cd /sys/netinet6/mld6.h
parentdd5fc2bc46ba80dcbb63f9d1aae60c87ba4f8d32 (diff)
downloadFreeBSD-src-a8c33e5555d9b1e9ce5d952b613cd8f8cc493b07.zip
FreeBSD-src-a8c33e5555d9b1e9ce5d952b613cd8f8cc493b07.tar.gz
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
Diffstat (limited to 'sys/netinet6/mld6.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud