summaryrefslogtreecommitdiffstats
path: root/sys/net/route.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/route.c')
-rw-r--r--sys/net/route.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/net/route.c b/sys/net/route.c
index b625e7a..12c4f97 100644
--- a/sys/net/route.c
+++ b/sys/net/route.c
@@ -1111,8 +1111,10 @@ rt_setgate(struct rtentry *rt, struct sockaddr *dst, struct sockaddr *gate)
arg.rnh = rnh;
arg.rt0 = rt;
- /* XXX LOR here */
+ /* XXX workaround LOR */
+ RT_UNLOCK(rt);
RADIX_NODE_HEAD_LOCK(rnh);
+ RT_LOCK(rt);
rnh->rnh_walktree_from(rnh, rt_key(rt), rt_mask(rt),
rt_fixchange, &arg);
RADIX_NODE_HEAD_UNLOCK(rnh);
OpenPOWER on IntegriCloud