summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2015-09-23 08:49:46 +0000
committermpi <mpi@openbsd.org>2015-09-23 08:49:46 +0000
commitaa085df96f91ef73eaa5197c4b58f40465a30941 (patch)
tree53c258ddb74130de1adf159ca9c8892606df8ac3
parentfix line number handling in dired delete functions. (diff)
downloadwireguard-openbsd-aa085df96f91ef73eaa5197c4b58f40465a30941.tar.xz
wireguard-openbsd-aa085df96f91ef73eaa5197c4b58f40465a30941.zip
Always increment rt_use inside rtalloc(9) instead of doing it in some
specific places. ok claudio@, benno@
-rw-r--r--sys/net/pf.c3
-rw-r--r--sys/net/route.c7
-rw-r--r--sys/netinet/ip_icmp.c3
-rw-r--r--sys/netinet/ip_output.c3
-rw-r--r--sys/netinet6/ip6_output.c8
-rw-r--r--sys/netmpls/mpls_input.c4
-rw-r--r--sys/netmpls/mpls_output.c3
7 files changed, 11 insertions, 20 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c
index fe629518f7e..50dd87e6e13 100644
--- a/sys/net/pf.c
+++ b/sys/net/pf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf.c,v 1.944 2015/09/13 17:53:44 mpi Exp $ */
+/* $OpenBSD: pf.c,v 1.945 2015/09/23 08:49:46 mpi Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -5520,7 +5520,6 @@ pf_route(struct mbuf **m, struct pf_rule *r, int dir, struct ifnet *oifp,
}
ifp = rt->rt_ifp;
- rt->rt_use++;
if (rt->rt_flags & RTF_GATEWAY)
dst = satosin(rt->rt_gateway);
diff --git a/sys/net/route.c b/sys/net/route.c
index 0d25cdcdc94..f210a240920 100644
--- a/sys/net/route.c
+++ b/sys/net/route.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: route.c,v 1.241 2015/09/22 10:05:00 mpi Exp $ */
+/* $OpenBSD: route.c,v 1.242 2015/09/23 08:49:46 mpi Exp $ */
/* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */
/*
@@ -350,12 +350,15 @@ rtalloc(struct sockaddr *dst, int flags, unsigned int tableid)
rt0 = rt;
error = rtrequest1(RTM_RESOLVE, &info, RTP_DEFAULT,
&rt, tableid);
- if (error)
+ if (error) {
+ rt0->rt_use++;
goto miss;
+ }
/* Inform listeners of the new route */
rt_sendmsg(rt, RTM_ADD, tableid);
rtfree(rt0);
}
+ rt->rt_use++;
} else {
rtstat.rts_unreach++;
miss:
diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c
index e472c4d9372..c44eb97d048 100644
--- a/sys/netinet/ip_icmp.c
+++ b/sys/netinet/ip_icmp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip_icmp.c,v 1.140 2015/09/11 15:12:29 bluhm Exp $ */
+/* $OpenBSD: ip_icmp.c,v 1.141 2015/09/23 08:49:46 mpi Exp $ */
/* $NetBSD: ip_icmp.c,v 1.19 1996/02/13 23:42:22 christos Exp $ */
/*
@@ -758,7 +758,6 @@ icmp_reflect(struct mbuf *m, struct mbuf **op, struct in_ifaddr *ia)
}
ia = ifatoia(rt->rt_ifa);
- rt->rt_use++;
rtfree(rt);
}
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c
index bc74c99f3e6..4806418f0f6 100644
--- a/sys/netinet/ip_output.c
+++ b/sys/netinet/ip_output.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip_output.c,v 1.298 2015/09/13 17:53:44 mpi Exp $ */
+/* $OpenBSD: ip_output.c,v 1.299 2015/09/23 08:49:46 mpi Exp $ */
/* $NetBSD: ip_output.c,v 1.28 1996/02/13 23:43:07 christos Exp $ */
/*
@@ -207,7 +207,6 @@ reroute:
ifp = if_ref(ro->ro_rt->rt_ifp);
if ((mtu = ro->ro_rt->rt_rmx.rmx_mtu) == 0)
mtu = ifp->if_mtu;
- ro->ro_rt->rt_use++;
if (ro->ro_rt->rt_flags & RTF_GATEWAY)
dst = satosin(ro->ro_rt->rt_gateway);
diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c
index d4d8348d77b..efa01519c11 100644
--- a/sys/netinet6/ip6_output.c
+++ b/sys/netinet6/ip6_output.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip6_output.c,v 1.188 2015/09/13 13:57:07 mpi Exp $ */
+/* $OpenBSD: ip6_output.c,v 1.189 2015/09/23 08:49:46 mpi Exp $ */
/* $KAME: ip6_output.c,v 1.172 2001/03/25 09:55:56 itojun Exp $ */
/*
@@ -558,12 +558,6 @@ reroute:
*dst = dstsock;
}
- /*
- * then rt (for unicast) and ifp must be non-NULL valid values.
- */
- if (rt)
- rt->rt_use++;
-
if (rt && !IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) {
if (opt && opt->ip6po_nextroute.ro_rt) {
/*
diff --git a/sys/netmpls/mpls_input.c b/sys/netmpls/mpls_input.c
index 3499087c275..f269108c344 100644
--- a/sys/netmpls/mpls_input.c
+++ b/sys/netmpls/mpls_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpls_input.c,v 1.49 2015/09/13 17:53:44 mpi Exp $ */
+/* $OpenBSD: mpls_input.c,v 1.50 2015/09/23 08:49:46 mpi Exp $ */
/*
* Copyright (c) 2008 Claudio Jeker <claudio@openbsd.org>
@@ -182,7 +182,6 @@ do_v6:
goto done;
}
- rt->rt_use++;
rt_mpls = (struct rt_mpls *)rt->rt_llinfo;
if (rt_mpls == NULL || (rt->rt_flags & RTF_MPLS) == 0) {
@@ -449,7 +448,6 @@ mpls_do_error(struct mbuf *m, int type, int code, int destmtu)
m_freem(m);
return (NULL);
}
- rt->rt_use++;
KERNEL_LOCK();
rtfree(rt);
if (icmp_reflect(m, NULL, ia)) {
diff --git a/sys/netmpls/mpls_output.c b/sys/netmpls/mpls_output.c
index 53054ac2d36..615efab2e06 100644
--- a/sys/netmpls/mpls_output.c
+++ b/sys/netmpls/mpls_output.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpls_output.c,v 1.24 2015/09/13 17:53:44 mpi Exp $ */
+/* $OpenBSD: mpls_output.c,v 1.25 2015/09/23 08:49:46 mpi Exp $ */
/*
* Copyright (c) 2008 Claudio Jeker <claudio@openbsd.org>
@@ -133,7 +133,6 @@ mpls_output(struct ifnet *ifp0, struct mbuf *m, struct sockaddr *dst,
error = EHOSTUNREACH;
goto bad;
}
- rt->rt_use++;
}
/* write back TTL */