summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhenning <henning@openbsd.org>2010-03-08 20:29:41 +0000
committerhenning <henning@openbsd.org>2010-03-08 20:29:41 +0000
commit5afbbad4a93a64f5a89199e595e8012b92464074 (patch)
tree6b6889f93e9e010df3fd74fa77e311a30d30b042
parentCheck that gl_pathc is bigger than zero before derefencing gl_pathv. While (diff)
downloadwireguard-openbsd-5afbbad4a93a64f5a89199e595e8012b92464074.tar.xz
wireguard-openbsd-5afbbad4a93a64f5a89199e595e8012b92464074.zip
don't call ifa_item_add/del in ifa_add/del, so the ifa RB tree doesn't
get used at all. turns out this needs more work - after release.
-rw-r--r--sys/net/if.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/net/if.c b/sys/net/if.c
index a831ca3c7ab..dc7c8e46b0e 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if.c,v 1.208 2010/03/05 13:52:23 henning Exp $ */
+/* $OpenBSD: if.c,v 1.209 2010/03/08 20:29:41 henning Exp $ */
/* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */
/*
@@ -2169,7 +2169,6 @@ ifa_add(struct ifnet *ifp, struct ifaddr *ifa)
TAILQ_INSERT_HEAD(&ifp->if_addrlist, ifa, ifa_list);
else
TAILQ_INSERT_TAIL(&ifp->if_addrlist, ifa, ifa_list);
- ifa_item_insert(ifa->ifa_addr, ifa, ifp);
if (ifp->if_flags & IFF_BROADCAST && ifa->ifa_broadaddr)
ifa_item_insert(ifa->ifa_broadaddr, ifa, ifp);
}
@@ -2178,7 +2177,6 @@ void
ifa_del(struct ifnet *ifp, struct ifaddr *ifa)
{
TAILQ_REMOVE(&ifp->if_addrlist, ifa, ifa_list);
- ifa_item_remove(ifa->ifa_addr, ifa, ifp);
if (ifp->if_flags & IFF_BROADCAST && ifa->ifa_broadaddr)
ifa_item_remove(ifa->ifa_broadaddr, ifa, ifp);
}