diff options
author | 2016-10-04 13:54:32 +0000 | |
---|---|---|
committer | 2016-10-04 13:54:32 +0000 | |
commit | 7887537f925f0c8b87f94c1aa492e660f9a78951 (patch) | |
tree | 555afa0076a8355eaca42567217e50d4cfe88462 | |
parent | remove may_check_data logic, since signatures are now handled externally (diff) | |
download | wireguard-openbsd-7887537f925f0c8b87f94c1aa492e660f9a78951.tar.xz wireguard-openbsd-7887537f925f0c8b87f94c1aa492e660f9a78951.zip |
Convert timeouts that need a process context to timeout_set_proc(9).
The current reason is that rtalloc_mpath(9) inside ip_output() might
end up inserting a RTF_CLONED route and that require a write lock.
ok kettenis@, bluhm@
-rw-r--r-- | sys/net/if_pflow.c | 11 | ||||
-rw-r--r-- | sys/net/if_pfsync.c | 10 | ||||
-rw-r--r-- | sys/netinet/ip_carp.c | 8 | ||||
-rw-r--r-- | sys/netinet/tcp_timer.h | 4 | ||||
-rw-r--r-- | sys/netinet/tcp_var.h | 4 |
5 files changed, 19 insertions, 18 deletions
diff --git a/sys/net/if_pflow.c b/sys/net/if_pflow.c index 93c5d94218a..e3aeba6694f 100644 --- a/sys/net/if_pflow.c +++ b/sys/net/if_pflow.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_pflow.c,v 1.61 2016/04/29 08:55:03 krw Exp $ */ +/* $OpenBSD: if_pflow.c,v 1.62 2016/10/04 13:54:32 mpi Exp $ */ /* * Copyright (c) 2011 Florian Obser <florian@narrans.de> @@ -548,15 +548,16 @@ pflow_init_timeouts(struct pflow_softc *sc) if (timeout_initialized(&sc->sc_tmo_tmpl)) timeout_del(&sc->sc_tmo_tmpl); if (!timeout_initialized(&sc->sc_tmo)) - timeout_set(&sc->sc_tmo, pflow_timeout, sc); + timeout_set_proc(&sc->sc_tmo, pflow_timeout, sc); break; case PFLOW_PROTO_10: if (!timeout_initialized(&sc->sc_tmo_tmpl)) - timeout_set(&sc->sc_tmo_tmpl, pflow_timeout_tmpl, sc); + timeout_set_proc(&sc->sc_tmo_tmpl, pflow_timeout_tmpl, + sc); if (!timeout_initialized(&sc->sc_tmo)) - timeout_set(&sc->sc_tmo, pflow_timeout, sc); + timeout_set_proc(&sc->sc_tmo, pflow_timeout, sc); if (!timeout_initialized(&sc->sc_tmo6)) - timeout_set(&sc->sc_tmo6, pflow_timeout6, sc); + timeout_set_proc(&sc->sc_tmo6, pflow_timeout6, sc); timeout_add_sec(&sc->sc_tmo_tmpl, PFLOW_TMPL_TIMEOUT); break; diff --git a/sys/net/if_pfsync.c b/sys/net/if_pfsync.c index fa085f03cc1..00587f0d04e 100644 --- a/sys/net/if_pfsync.c +++ b/sys/net/if_pfsync.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_pfsync.c,v 1.234 2016/09/27 04:57:17 dlg Exp $ */ +/* $OpenBSD: if_pfsync.c,v 1.235 2016/10/04 13:54:32 mpi Exp $ */ /* * Copyright (c) 2002 Michael Shalayeff @@ -328,9 +328,9 @@ pfsync_clone_create(struct if_clone *ifc, int unit) IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN); ifp->if_hdrlen = sizeof(struct pfsync_header); ifp->if_mtu = ETHERMTU; - timeout_set(&sc->sc_tmo, pfsync_timeout, sc); - timeout_set(&sc->sc_bulk_tmo, pfsync_bulk_update, sc); - timeout_set(&sc->sc_bulkfail_tmo, pfsync_bulk_fail, sc); + timeout_set_proc(&sc->sc_tmo, pfsync_timeout, sc); + timeout_set_proc(&sc->sc_bulk_tmo, pfsync_bulk_update, sc); + timeout_set_proc(&sc->sc_bulkfail_tmo, pfsync_bulk_fail, sc); if_attach(ifp); if_alloc_sadl(ifp); @@ -1720,7 +1720,7 @@ pfsync_defer(struct pf_state *st, struct mbuf *m) sc->sc_deferred++; TAILQ_INSERT_TAIL(&sc->sc_deferrals, pd, pd_entry); - timeout_set(&pd->pd_tmo, pfsync_defer_tmo, pd); + timeout_set_proc(&pd->pd_tmo, pfsync_defer_tmo, pd); timeout_add_msec(&pd->pd_tmo, 20); schednetisr(NETISR_PFSYNC); diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 4ef07cb7666..9eb5552cbb5 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ip_carp.c,v 1.293 2016/07/25 16:44:04 benno Exp $ */ +/* $OpenBSD: ip_carp.c,v 1.294 2016/10/04 13:54:32 mpi Exp $ */ /* * Copyright (c) 2002 Michael Shalayeff. All rights reserved. @@ -831,9 +831,9 @@ carp_new_vhost(struct carp_softc *sc, int vhid, int advskew) vhe->vhid = vhid; vhe->advskew = advskew; vhe->state = INIT; - timeout_set(&vhe->ad_tmo, carp_send_ad, vhe); - timeout_set(&vhe->md_tmo, carp_master_down, vhe); - timeout_set(&vhe->md6_tmo, carp_master_down, vhe); + timeout_set_proc(&vhe->ad_tmo, carp_send_ad, vhe); + timeout_set_proc(&vhe->md_tmo, carp_master_down, vhe); + timeout_set_proc(&vhe->md6_tmo, carp_master_down, vhe); KERNEL_ASSERT_LOCKED(); /* touching carp_vhosts */ diff --git a/sys/netinet/tcp_timer.h b/sys/netinet/tcp_timer.h index 67daccdfb32..4396e1082b8 100644 --- a/sys/netinet/tcp_timer.h +++ b/sys/netinet/tcp_timer.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tcp_timer.h,v 1.13 2011/07/06 23:44:20 sthen Exp $ */ +/* $OpenBSD: tcp_timer.h,v 1.14 2016/10/04 13:54:32 mpi Exp $ */ /* $NetBSD: tcp_timer.h,v 1.6 1995/03/26 20:32:37 jtc Exp $ */ /* @@ -116,7 +116,7 @@ const char *tcptimers[] = * Init, arm, disarm, and test TCP timers. */ #define TCP_TIMER_INIT(tp, timer) \ - timeout_set(&(tp)->t_timer[(timer)], tcp_timer_funcs[(timer)], tp) + timeout_set_proc(&(tp)->t_timer[(timer)], tcp_timer_funcs[(timer)], tp) #define TCP_TIMER_ARM(tp, timer, nticks) \ timeout_add(&(tp)->t_timer[(timer)], (nticks) * (hz / PR_SLOWHZ)) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index ebf72fade0c..3ea73653964 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tcp_var.h,v 1.115 2016/07/20 19:57:53 bluhm Exp $ */ +/* $OpenBSD: tcp_var.h,v 1.116 2016/10/04 13:54:32 mpi Exp $ */ /* $NetBSD: tcp_var.h,v 1.17 1996/02/13 23:44:24 christos Exp $ */ /* @@ -217,7 +217,7 @@ extern int tcp_delack_ticks; void tcp_delack(void *); #define TCP_INIT_DELACK(tp) \ - timeout_set(&(tp)->t_delack_to, tcp_delack, tp) + timeout_set_proc(&(tp)->t_delack_to, tcp_delack, tp) #define TCP_RESTART_DELACK(tp) \ timeout_add(&(tp)->t_delack_to, tcp_delack_ticks) |