summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2014-10-23 00:11:48 +0000
committerdlg <dlg@openbsd.org>2014-10-23 00:11:48 +0000
commit01be763fab684e946f025818c66ff512a536dcf4 (patch)
tree576ea3abc1add2e3b2ad5c75a6938576f14b3e54
parentrevert previous. it did more than the commit message said it did. (diff)
downloadwireguard-openbsd-01be763fab684e946f025818c66ff512a536dcf4.tar.xz
wireguard-openbsd-01be763fab684e946f025818c66ff512a536dcf4.zip
apply only the bit of r1.69 that should have been committed:
make the crypto taskq protect things at IPL_VM instead of IPL_HIGH. everything else in crypto.c uses splvm/IPL_VM. it seems this IPL_HIGH came about because the hand rolled task list and thread that crypto used to use was converted to workqs, which unconditionally used IPL_HIGH internally. when it was converted from workqs to tasks it blindly ported the protection workqs gave. tested by many via tech@ and snapshots ok kettenis@
-rw-r--r--sys/crypto/crypto.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/crypto/crypto.c b/sys/crypto/crypto.c
index 8adf3b4c977..0f98c014370 100644
--- a/sys/crypto/crypto.c
+++ b/sys/crypto/crypto.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: crypto.c,v 1.70 2014/10/23 00:10:09 dlg Exp $ */
+/* $OpenBSD: crypto.c,v 1.71 2014/10/23 00:11:48 dlg Exp $ */
/*
* The author of this code is Angelos D. Keromytis (angelos@cis.upenn.edu)
*
@@ -506,7 +506,7 @@ crypto_getreq(int num)
void
crypto_init(void)
{
- crypto_taskq = taskq_create("crypto", 1, IPL_HIGH);
+ crypto_taskq = taskq_create("crypto", 1, IPL_VM);
pool_init(&cryptop_pool, sizeof(struct cryptop), 0, 0,
0, "cryptop", NULL);