On Sat, Oct 31, 2020 at 03:03:10PM +0100, Jason A. Donenfeld wrote:
> 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

Thanks for the quick fix, I've just committed this.

Cheers,
-- 
jasper

Reply via email to