From b5287825fdd2879476052a8b8a527f328fef7128 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Fri, 20 Nov 2015 23:21:11 +0100 Subject: [PATCH] netgraph: do the previous here as well for proper locking --- sys/netgraph/ng_eiface.c | 4 ++-- sys/netgraph/ng_iface.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/netgraph/ng_eiface.c b/sys/netgraph/ng_eiface.c index 679eaa00baf..6db5199c3db 100644 --- a/sys/netgraph/ng_eiface.c +++ b/sys/netgraph/ng_eiface.c @@ -524,9 +524,9 @@ ng_eiface_rcvmsg(node_p node, item_p item, hook_p lasthook) if (ethernode != NULL) ng_name_node(ethernode, new_name); + IF_ADDR_WLOCK(ifp); strlcpy(ifp->if_xname, new_name, sizeof(ifp->if_xname)); ifa = ifp->if_addr; - IFA_LOCK(ifa); sdl = (struct sockaddr_dl *)ifa->ifa_addr; namelen = strlen(new_name) + 1; onamelen = sdl->sdl_nlen; @@ -545,7 +545,7 @@ ng_eiface_rcvmsg(node_p node, item_p item, hook_p lasthook) bzero(sdl->sdl_data, onamelen); while (namelen != 0) sdl->sdl_data[--namelen] = 0xff; - IFA_UNLOCK(ifa); + IF_ADDR_WUNLOCK(ifp); EVENTHANDLER_INVOKE(ifnet_arrival_event, ifp); break; diff --git a/sys/netgraph/ng_iface.c b/sys/netgraph/ng_iface.c index 818cac64006..c7d59d44a99 100644 --- a/sys/netgraph/ng_iface.c +++ b/sys/netgraph/ng_iface.c @@ -650,9 +650,9 @@ ng_iface_rcvmsg(node_p node, item_p item, hook_p lasthook) //rt_ifannouncemsg(ifp, IFAN_DEPARTURE); EVENTHANDLER_INVOKE(ifnet_departure_event, ifp); + IF_ADDR_WLOCK(ifp); strlcpy(ifp->if_xname, new_name, sizeof(ifp->if_xname)); ifa = ifp->if_addr; - IFA_LOCK(ifa); sdl = (struct sockaddr_dl *)ifa->ifa_addr; namelen = strlen(new_name) + 1; onamelen = sdl->sdl_nlen; @@ -671,7 +671,7 @@ ng_iface_rcvmsg(node_p node, item_p item, hook_p lasthook) bzero(sdl->sdl_data, onamelen); while (namelen != 0) sdl->sdl_data[--namelen] = 0xff; - IFA_UNLOCK(ifa); + IF_ADDR_WUNLOCK(ifp); EVENTHANDLER_INVOKE(ifnet_arrival_event, ifp); /* Announce the return of the interface. */