Module Name: src Committed By: ozaki-r Date: Mon May 27 05:33:48 UTC 2019
Modified Files: src/sys/net: rtsock.c Log Message: Don't take softnet_lock in sysctl_rtable Taking softnet_lock there can cause a deadlock with nfs sosend, so we don't. Having only KERNEL_LOCK is enough because now the routing table is protected by KERNEL_LOCK that was introduced by the fix for PR 53043. PR kern/54227 from Paul Ripke To generate a diff of this commit: cvs rdiff -u -r1.249 -r1.250 src/sys/net/rtsock.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/rtsock.c diff -u src/sys/net/rtsock.c:1.249 src/sys/net/rtsock.c:1.250 --- src/sys/net/rtsock.c:1.249 Mon Apr 29 05:42:09 2019 +++ src/sys/net/rtsock.c Mon May 27 05:33:48 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: rtsock.c,v 1.249 2019/04/29 05:42:09 pgoyette Exp $ */ +/* $NetBSD: rtsock.c,v 1.250 2019/05/27 05:33:48 ozaki-r Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1.249 2019/04/29 05:42:09 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1.250 2019/05/27 05:33:48 ozaki-r Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -431,7 +431,7 @@ again: w.w_needed = 0 - w.w_given; w.w_where = where; - SOFTNET_KERNEL_LOCK_UNLESS_NET_MPSAFE(); + KERNEL_LOCK_UNLESS_NET_MPSAFE(); s = splsoftnet(); switch (w.w_op) { @@ -478,7 +478,7 @@ again: break; } splx(s); - SOFTNET_KERNEL_UNLOCK_UNLESS_NET_MPSAFE(); + KERNEL_UNLOCK_UNLESS_NET_MPSAFE(); /* check to see if we couldn't allocate memory with NOWAIT */ if (error == ENOBUFS && w.w_tmem == 0 && w.w_tmemneeded)