diff options
author | rwatson <rwatson@FreeBSD.org> | 2009-08-25 09:52:38 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2009-08-25 09:52:38 +0000 |
commit | 544dfa0789561f2dbb98a7740453fce7aeea4f5b (patch) | |
tree | 4a34d8a5aab4678ff905e0a94bd345c9b1c8d805 /sys/netinet6 | |
parent | 6aac59f9fa910996e553304fbd819aedc2abb25d (diff) | |
download | FreeBSD-src-544dfa0789561f2dbb98a7740453fce7aeea4f5b.zip FreeBSD-src-544dfa0789561f2dbb98a7740453fce7aeea4f5b.tar.gz |
Use locks specific to the lltable code, rather than borrow the ifnet
list/index locks, to protect link layer address tables. This avoids
lock order issues during interface teardown, but maintains the bug that
sysctl copy routines may be called while a non-sleepable lock is held.
Reviewed by: bz, kmacy
MFC after: 3 days
Diffstat (limited to 'sys/netinet6')
-rw-r--r-- | sys/netinet6/in6.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 7d9f7e7..b0b2585 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -2495,7 +2495,7 @@ in6_lltable_dump(struct lltable *llt, struct sysctl_req *wr) } ndpc; int i, error; - IFNET_RLOCK_ASSERT(); + LLTABLE_LOCK_ASSERT(); error = 0; for (i = 0; i < LLTBL_HASHTBL_SIZE; i++) { |