On Tue, May 30, 2017 at 10:04:14PM +0200, Alexander Bluhm wrote: > On Tue, May 30, 2017 at 11:48:50AM +0200, Martin Pieuchot wrote: > > Hrvoje Popovski found that ip{,6}_send_dispatch() also need the IPsec > > dance. > > > > Updated diff below. > > I have tests this diff with my ipsec regress and a non-MP kernel. > It crashed.
Same crash on i386 with GENERIC.MP. bluhm panic: kernel diagnostic assertion "refcnt != ~0" failed: file "/usr/src/sys/kern/kern_synch.c", line 682 Stopped at db_enter+0x7: leave TID PID UID PRFLAGS PFLAGS CPU COMMAND * 67643 67379 0 0x14000 0x200 1 softnet db_enter(d0a11c89,f5474e68,d09ec200,f5474e68,0) at db_enter+0x7 panic(d09ec200,d0968a27,d09e9c62,d09e9d1c,2aa) at panic+0x71 __assert(d0968a27,d09e9d1c,2aa,d09e9c62,86dd) at __assert+0x2e refcnt_rele(d7721034,d76f2780,f5474eec,d03a9f52,d0bd2dc0) at refcnt_rele+0x48 refcnt_rele_wake(d7721034,d78aae00,0,f5474f0c,d0203039) at refcnt_rele_wake+0x1 2 if_input_process(1,f5474f68,d03bc3b0,f5474f90,d03a7a08) at if_input_process+0x1 3d taskq_thread(d76f3080) at taskq_thread+0x60