On Fri, May 07, 2021 at 02:16:35AM +0200, Alexandr Nedvedicky wrote: > > I'd like to ask you for yet another brave test. just to verify > the story I dream of above really happens. The plan is to put > yet another KASSERT() to pf_state_key_link_reverse(): > > KASSERT(sk != skrev); > > I expect the KASSERT will fire sooner or later. I'm not sure > which packet could trigger such condition (sk == skrev), I > suspect this could be kind of multicast/broadcast packet. > Hence I'd like to ask you to give a try KASSSERT() above. >
panic: kernel diagnostic assertion "sk != skrev" failed: file "/usr/src/sys/net/pf.c", line 7372 Stopped at db_enter+0x10: popq %rbp TID PID UID PRFLAGS PFLAGS CPU COMMAND * 51803 77372 0 0x14000 0x200 1K softnet db_enter() at db_enter+0x10 panic(ffffffff81e05c77) at panic+0x12a __assert(ffffffff81e706d5,ffffffff81de2d6c,1ccc,ffffffff81e1a122) at __assert+0x2b pf_state_key_link_reverse(fffffd81091c1000,fffffd81091c1000) at pf_state_key_link_reverse+0x8f pf_find_state(ffff80002246e240,ffff80002246e178,ffff80002246e330) at pf_find_state+0x204 pf_test_state(ffff80002246e240,ffff80002246e330,ffff80002246e33e,0) at pf_test_state+0x178 pf_test(2,2,ffff8000000bb050,ffff80002246e3c8) at pf_test+0xcec bridge_ip(ffff800000a53000,2,ffff8000000bb050,ffff80002246e4c0,fffffd80be0b6000) at bridge_ip+0x609 bridge_broadcast(ffff800000a53000,ffff800000099048,ffff80002246e4c0,fffffd80cf52f300) at bridge_broadcast+0x1a2 bridgeintr_frame(ffff800000a53000,ffff800000099048,fffffd80cf52f300) at bridgeintr_frame+0x2fa bridge_process(ffff800000099048,fffffd80cf52f300) at bridge_process+0x2d6bridgeintr() at bridgeintr+0x84 if_netisr(0) at if_netisr+0xe9 taskq_thread(ffff800000033000) at taskq_thread+0x9f end trace frame: 0x0, count: 1 https://www.openbsd.org/ddb.html describes the minimum info required in bug reports. Insufficient info makes it difficult to find and fix bugs. ddb{1}> Thanks. -- Sebastien Marie