diff options
author | Robert Watson <rwatson@FreeBSD.org> | 2009-04-19 21:36:18 +0000 |
---|---|---|
committer | Robert Watson <rwatson@FreeBSD.org> | 2009-04-19 21:36:18 +0000 |
commit | e5a9a8ead8b4c72b575c0798879aa50b2820ce7c (patch) | |
tree | c7e73ce6d362f79cb55f1c7597898f409816e8b4 /sys/kern/kern_uuid.c | |
parent | 22037b2d2c9ecd418b2c1c9cee9fba1f7bbb7f4d (diff) | |
download | src-e5a9a8ead8b4c72b575c0798879aa50b2820ce7c.tar.gz src-e5a9a8ead8b4c72b575c0798879aa50b2820ce7c.zip |
Notes
Diffstat (limited to 'sys/kern/kern_uuid.c')
-rw-r--r-- | sys/kern/kern_uuid.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/kern_uuid.c b/sys/kern/kern_uuid.c index 16105e9cee52..eec37efe14f9 100644 --- a/sys/kern/kern_uuid.c +++ b/sys/kern/kern_uuid.c @@ -101,16 +101,19 @@ uuid_node(uint16_t *node) IFNET_RLOCK(); TAILQ_FOREACH(ifp, &V_ifnet, if_link) { /* Walk the address list */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { sdl = (struct sockaddr_dl*)ifa->ifa_addr; if (sdl != NULL && sdl->sdl_family == AF_LINK && sdl->sdl_type == IFT_ETHER) { /* Got a MAC address. */ bcopy(LLADDR(sdl), node, UUID_NODE_LEN); + IF_ADDR_UNLOCK(ifp); IFNET_RUNLOCK(); return; } } + IF_ADDR_UNLOCK(ifp); } IFNET_RUNLOCK(); |