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

Reply via email to