Backtrace from Jesper: ddb{0}> show panic noise_keypair: lock not held ddb{0}> trace db_enter() at db_enter+0x10 panic(ffffffff81db9b58) at panic+0x12a rw_exit_write(ffff80000801ed10) at rw_exit_write+0xb5 noise_remote_begin_session(ffff80000801ec10) at noise_remote_begin_session+0x3c 1 wg_send_response(ffff80000801ebe0) at wg_send_response+0x7b wg_handshake(ffff800000588000,fffffd800e7b5a00) at wg_handshake+0x576 wg_handshake_worker(ffff800000588000) at wg_handshake_worker+0x48 taskq_thread(ffff800000049200) at taskq_thread+0x81 end trace frame: 0x0, count: -8 ddb{0}> machine ddbcpu 1
Reported-by: Jasper Lievisse Adriaanse <jas...@humppa.nl> --- sys/net/wg_noise.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git sys/net/wg_noise.c sys/net/wg_noise.c index 66bdecee80e..adb00568eb4 100644 --- sys/net/wg_noise.c +++ sys/net/wg_noise.c @@ -459,7 +459,7 @@ noise_remote_begin_session(struct noise_remote *r) NOISE_SYMMETRIC_KEY_LEN, NOISE_SYMMETRIC_KEY_LEN, 0, 0, hs->hs_ck); } else { - rw_exit_write(&r->r_keypair_lock); + rw_exit_write(&r->r_handshake_lock); return EINVAL; } -- 2.29.1