summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2017-10-09 08:16:13 +0000
committermpi <mpi@openbsd.org>2017-10-09 08:16:13 +0000
commit70a7648cd4cb9f48d7e453555e52710a9120eceb (patch)
tree59747f47c28c4d303923ffdf59a002cc8a2a8417
parentJan Stary convinced me 4 * a(1) is a better example (diff)
downloadwireguard-openbsd-70a7648cd4cb9f48d7e453555e52710a9120eceb.tar.xz
wireguard-openbsd-70a7648cd4cb9f48d7e453555e52710a9120eceb.zip
Make _kernel_lock_held() always succeed after panic(9).
ok visa@
-rw-r--r--sys/kern/kern_lock.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_lock.c b/sys/kern/kern_lock.c
index c2f293de792..3bda382d569 100644
--- a/sys/kern/kern_lock.c
+++ b/sys/kern/kern_lock.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_lock.c,v 1.49 2017/04/20 15:06:47 visa Exp $ */
+/* $OpenBSD: kern_lock.c,v 1.50 2017/10/09 08:16:13 mpi Exp $ */
/*
* Copyright (c) 1995
@@ -85,6 +85,8 @@ _kernel_unlock(void)
int
_kernel_lock_held(void)
{
+ if (panicstr)
+ return 1;
return (__mp_lock_held(&kernel_lock));
}