mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-14 16:44:01 +08:00
Update to FreeBSD head 2016-12-10
Git mirror commit 80c55f08a05ab3b26a73b226ccb56adc3122a55c.
This commit is contained in:
@@ -401,6 +401,8 @@ in_aifaddr_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp, struct thread *td)
|
||||
ifa->ifa_addr = (struct sockaddr *)&ia->ia_addr;
|
||||
ifa->ifa_dstaddr = (struct sockaddr *)&ia->ia_dstaddr;
|
||||
ifa->ifa_netmask = (struct sockaddr *)&ia->ia_sockmask;
|
||||
callout_init_rw(&ia->ia_garp_timer, &ifp->if_addr_lock,
|
||||
CALLOUT_RETURNUNLOCKED);
|
||||
|
||||
ia->ia_ifp = ifp;
|
||||
ia->ia_addr = *addr;
|
||||
@@ -639,6 +641,12 @@ in_difaddr_ioctl(caddr_t data, struct ifnet *ifp, struct thread *td)
|
||||
IN_MULTI_UNLOCK();
|
||||
}
|
||||
|
||||
IF_ADDR_WLOCK(ifp);
|
||||
if (callout_stop(&ia->ia_garp_timer) == 1) {
|
||||
ifa_free(&ia->ia_ifa);
|
||||
}
|
||||
IF_ADDR_WUNLOCK(ifp);
|
||||
|
||||
EVENTHANDLER_INVOKE(ifaddr_event, ifp);
|
||||
ifa_free(&ia->ia_ifa); /* in_ifaddrhead */
|
||||
|
||||
|
Reference in New Issue
Block a user