diff options
author | hsu <hsu@FreeBSD.org> | 2002-12-22 05:35:03 +0000 |
---|---|---|
committer | hsu <hsu@FreeBSD.org> | 2002-12-22 05:35:03 +0000 |
commit | 82e1e3bab0d3abe1018a0b56559c154485f2f676 (patch) | |
tree | d0f9ee7e6f9d8014e6f8f94ab6965e85c268792e /sys/kern | |
parent | 2afef11c570b7b725c3145fc710f8dcd8d7ed4e0 (diff) | |
download | FreeBSD-src-82e1e3bab0d3abe1018a0b56559c154485f2f676.zip FreeBSD-src-82e1e3bab0d3abe1018a0b56559c154485f2f676.tar.gz |
SMP locking for ifnet list.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_uuid.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_uuid.c b/sys/kern/kern_uuid.c index 5d0cb74..d28cb36 100644 --- a/sys/kern/kern_uuid.c +++ b/sys/kern/kern_uuid.c @@ -91,7 +91,7 @@ uuid_node(uint16_t *node) struct sockaddr_dl *sdl; int i; - /* XXX: lock ifnet. */ + IFNET_RLOCK(); TAILQ_FOREACH(ifp, &ifnet, if_link) { /* Walk the address list */ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { @@ -100,12 +100,12 @@ uuid_node(uint16_t *node) sdl->sdl_type == IFT_ETHER) { /* Got a MAC address. */ bcopy(LLADDR(sdl), node, UUID_NODE_LEN); - /* XXX: unlock ifnet. */ + IFNET_RUNLOCK(); return; } } } - /* XXX: unlock ifnet. */ + IFNET_RUNLOCK(); for (i = 0; i < (UUID_NODE_LEN>>1); i++) node[i] = (uint16_t)arc4random(); |