login: panic: kernel diagnostic assertion "(rule != NULL) && (rule->ruleset != NULL)" failed: file "/syzkaller/managers/multicore/kernel/sys/net/pf_ioctl.c", line 330 Stopped at db_enter+0x18: addq $0x8,%rsp TID PID UID PRFLAGS PFLAGS CPU COMMAND * 81441 19030 0 0x14000 0x200 1K softnet db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398 panic(ffffffff823fc819) at panic+0x15c sys/kern/subr_prf.c:207 __assert(ffffffff8246a918,ffffffff824a6afd,14a,ffffffff82437187) at __assert+0x2b sys/kern/subr_prf.c:154 pf_purge_rule(ffff800000b4a000) at pf_purge_rule+0xc9 sys/net/pf_ioctl.c:330 pf_purge(ffffffff829210f0) at pf_purge+0xd2 pf_purge_expired_rules sys/net/pf.c:1245 [inline] pf_purge(ffffffff829210f0) at pf_purge+0xd2 sys/net/pf.c:1280 taskq_thread(ffff80000002c000) at taskq_thread+0xec sys/kern/kern_task.c:437 end trace frame: 0x0, count: 9 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}> ddb{1}> set $lines = 0 ddb{1}> set $maxwidth = 0 ddb{1}> show panic kernel diagnostic assertion "(rule != NULL) && (rule->ruleset != NULL)" failed: file "/syzkaller/managers/multicore/kernel/sys/net/pf_ioctl.c", line 330 ddb{1}> trace db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398 panic(ffffffff823fc819) at panic+0x15c sys/kern/subr_prf.c:207 __assert(ffffffff8246a918,ffffffff824a6afd,14a,ffffffff82437187) at __assert+0x2b sys/kern/subr_prf.c:154 pf_purge_rule(ffff800000b4a000) at pf_purge_rule+0xc9 sys/net/pf_ioctl.c:330 pf_purge(ffffffff829210f0) at pf_purge+0xd2 pf_purge_expired_rules sys/net/pf.c:1245 [inline] pf_purge(ffffffff829210f0) at pf_purge+0xd2 sys/net/pf.c:1280 taskq_thread(ffff80000002c000) at taskq_thread+0xec sys/kern/kern_task.c:437 end trace frame: 0x0, count: -6 ddb{1}> show registers rdi 0 rsi 0x1 rbp 0xffff800020da9420 rbx 0xffff800020da94d0 rdx 0x8b rcx 0x2 rax 0x1 r8 0xffffffff812843bf kprintf+0x16f r9 0x1 r10 0x2 r11 0x49c96d31f7dbf912 r12 0x3000000008 r13 0xffff800020da9430 r14 0x100 r15 0x1 rip 0xffffffff822e63c8 db_enter+0x18 cs 0x8 rflags 0x246 rsp 0xffff800020da9410 ss 0x10 db_enter+0x18: addq $0x8,%rsp ddb{1}> show proc PROC (softnet) pid=81441 stat=onproc flags process=14000 proc=200 pri=32, usrpri=50, nice=20 forw=0xffffffffffffffff, list=0xffff800020d88270,0xffff800020d884f0 process=0xffff800020d8a7b0 user=0xffff800020da4000, vmspace=0xffffffff8292b878 estcpu=0, cpticks=1, pctcpu=0.1 user=0, sys=1, intr=0 ddb{1}> ps PID TID PPID UID S FLAGS WAIT COMMAND 1754 424645 56185 0 3 0x2 biowait syz-executor.0 56185 167762 88827 0 3 0x82 thrsleep syz-execprog 56185 381359 88827 0 3 0x4000082 nanosleep syz-execprog 56185 257403 88827 0 3 0x4000082 thrsleep syz-execprog 56185 15716 88827 0 3 0x4000082 kqread syz-execprog 56185 455828 88827 0 3 0x4000082 thrsleep syz-execprog 56185 16206 88827 0 3 0x4000082 thrsleep syz-execprog 56185 216311 88827 0 3 0x4000082 thrsleep syz-execprog 56185 402535 88827 0 3 0x4000082 thrsleep syz-execprog 56185 340375 88827 0 3 0x4000082 nanosleep syz-execprog 88827 243194 97164 0 3 0x10008a pause ksh 97164 6672 95636 0 3 0x92 select sshd 24610 159446 1 0 3 0x100083 ttyin getty 95636 104615 1 0 3 0x80 select sshd 31087 438460 38711 74 3 0x100092 bpf pflogd 38711 123055 1 0 3 0x80 netio pflogd 18378 381694 75425 73 3 0x100090 kqread syslogd 75425 105443 1 0 3 0x100082 netio syslogd 91711 391097 1 77 3 0x100090 poll dhclient 15615 414840 1 0 3 0x80 poll dhclient 29656 274724 0 0 3 0x14200 bored smr 9290 318713 0 0 3 0x14200 pgzero zerothread 51357 407319 0 0 3 0x14200 aiodoned aiodoned 82247 147744 0 0 3 0x14200 syncer update 71506 447324 0 0 3 0x14200 cleaner cleaner 23546 520365 0 0 3 0x14200 reaper reaper 36486 9578 0 0 3 0x14200 pgdaemon pagedaemon 59871 110881 0 0 3 0x14200 bored crynlk 93462 108975 0 0 3 0x14200 bored crypto 74578 519106 0 0 3 0x40014200 acpi0 acpi0 75047 151401 0 0 3 0x40014200 idle1 *19030 81441 0 0 7 0x14200 softnet 86058 137923 0 0 3 0x14200 bored systqmp 69685 444553 0 0 3 0x14200 bored systq 41889 330007 0 0 3 0x40014200 bored softclock 48269 411909 0 0 7 0x40014200 idle0 1 295017 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{1}> show all locks Process 1754 (syz-executor.0) thread 0xffff800020ddc008 (424645) exclusive rrwlock inode r = 0 (0xfffffd806b7b93c8) #0 witness_lock+0x4c7 stacktrace_save sys/sys/stacktrace.h:36 [inline] #0 witness_lock+0x4c7 sys/kern/subr_witness.c:1164 #1 rw_enter+0x453 sys/kern/kern_rwlock.c:311 #2 rrw_enter+0x88 sys/kern/kern_rwlock.c:462 #3 ufs_ihashins+0x45 sys/ufs/ufs/ufs_ihash.c:140 #4 ffs_vget+0x13e sys/ufs/ffs/ffs_vfsops.c:1358 #5 ffs_inode_alloc+0x1e2 sys/ufs/ffs/ffs_alloc.c:394 #6 ufs_mkdir+0xf4 sys/ufs/ufs/ufs_vnops.c:1162 #7 VOP_MKDIR+0xc6 sys/kern/vfs_vops.c:450 #8 domkdirat+0x121 sys/kern/vfs_syscalls.c:3051 #9 syscall+0x4a4 mi_syscall sys/sys/syscall_mi.h:102 [inline] #9 syscall+0x4a4 sys/arch/amd64/amd64/trap.c:570 #10 Xsyscall+0x128 exclusive rrwlock inode r = 0 (0xfffffd806b7b94d8) #0 witness_lock+0x4c7 stacktrace_save sys/sys/stacktrace.h:36 [inline] #0 witness_lock+0x4c7 sys/kern/subr_witness.c:1164 #1 rw_enter+0x453 sys/kern/kern_rwlock.c:311 #2 rrw_enter+0x88 sys/kern/kern_rwlock.c:462 #3 VOP_LOCK+0x4b sys/kern/vfs_vops.c:603 #4 vn_lock+0x81 sys/kern/vfs_vnops.c:575 #5 vfs_lookup+0xe6 sys/kern/vfs_lookup.c:419 #6 namei+0x63c sys/kern/vfs_lookup.c:249 #7 domkdirat+0x75 sys/kern/vfs_syscalls.c:3036 #8 syscall+0x4a4 mi_syscall sys/sys/syscall_mi.h:102 [inline] #8 syscall+0x4a4 sys/arch/amd64/amd64/trap.c:570 #9 Xsyscall+0x128 Process 19030 (softnet) thread 0xffff800020d88000 (81441) exclusive rwlock netlock r = 0 (0xffffffff827a4a28) #0 witness_lock+0x4c7 stacktrace_save sys/sys/stacktrace.h:36 [inline] #0 witness_lock+0x4c7 sys/kern/subr_witness.c:1164 #1 pf_purge+0x27 sys/net/pf.c:1273 #2 taskq_thread+0xec sys/kern/kern_task.c:437 #3 proc_trampoline+0x1c exclusive kernel_lock &kernel_lock r = 0 (0xffffffff828b1058) #0 witness_lock+0x4c7 stacktrace_save sys/sys/stacktrace.h:36 [inline] #0 witness_lock+0x4c7 sys/kern/subr_witness.c:1164 #1 pf_purge+0x1b sys/net/pf.c:1264 #2 taskq_thread+0xec sys/kern/kern_task.c:437 #3 proc_trampoline+0x1c shared rwlock softnet r = 0 (0xffff80000002c070) #0 witness_lock+0x4c7 stacktrace_save sys/sys/stacktrace.h:36 [inline] #0 witness_lock+0x4c7 sys/kern/subr_witness.c:1164 #1 taskq_thread+0xdf sys/kern/kern_task.c:436 #2 proc_trampoline+0x1c ddb{1}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 9467 6396K 6396K 78643K 10560 0 pcb 13 8K 8K 78643K 13 0 rtable 88 3K 3K 78643K 168 0 ifaddr 38 9K 9K 78643K 39 0 counters 41 33K 33K 78643K 41 0 ioctlops 0 0K 4K 78643K 2008 0 mount 1 1K 1K 78643K 1 0 vnodes 1183 74K 75K 78643K 1188 0 UFS quota 1 32K 32K 78643K 1 0 UFS mount 5 36K 36K 78643K 5 0 shm 2 1K 1K 78643K 2 0 VM map 2 1K 1K 78643K 2 0 sem 2 0K 0K 78643K 2 0 dirhash 12 2K 2K 78643K 12 0 ACPI 1824 197K 290K 78643K 13058 0 file desc 2 4K 12K 78643K 287 0 proc 59 63K 83K 78643K 398 0 NFS srvsock 1 0K 0K 78643K 1 0 NFS daemon 1 16K 16K 78643K 1 0 in_multi 22 1K 1K 78643K 22 0 ether_multi 1 0K 0K 78643K 1 0 ISOFS mount 1 32K 32K 78643K 1 0 MSDOSFS mount 1 16K 16K 78643K 1 0 ttys 19 95K 95K 78643K 19 0 exec 0 0K 1K 78643K 197 0 pagedep 1 8K 8K 78643K 1 0 inodedep 1 32K 32K 78643K 1 0 newblk 1 0K 0K 78643K 1 0 VM swap 7 26K 26K 78643K 7 0 UVM amap 73 12K 12K 78643K 2004 0 UVM aobj 2 2K 2K 78643K 2 0 memdesc 1 4K 4K 78643K 1 0 crypto data 1 1K 1K 78643K 1 0 NDP 5 0K 0K 78643K 7 0 temp 30 3855K 3919K 78643K 2673 0 kqueue 3 4K 4K 78643K 3 0 SYN cache 2 16K 16K 78643K 2 0 ddb{1}> show all pools Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle arp 64 4 0 0 1 0 1 1 0 8 0 plcache 128 20 0 0 1 0 1 1 0 8 0 rtpcb 80 17 0 15 1 0 1 1 0 8 0 rtentry 112 34 0 1 1 0 1 1 0 8 0 unpcb 120 1109 0 1099 1 0 1 1 0 8 0 syncache 264 5 0 5 2 2 0 1 0 8 0 tcpcb 544 8 0 5 1 0 1 1 0 8 0 inpcb 296 1113 0 1107 1 0 1 1 0 8 0 nd6 48 3 0 0 1 0 1 1 0 8 0 pfosfp 40 846 0 423 5 0 5 5 0 8 0 pfosfpen 112 1428 0 714 21 0 21 21 0 8 0 pfrktable 1344 2 0 0 1 0 1 1 0 8 0 pfstitem 24 11 0 6 2 1 1 1 0 8 0 pfstkey 112 11 0 6 2 1 1 1 0 8 0 pfstate 328 11 0 6 2 1 1 1 0 8 0 pfrule 1360 279 0 16 23 1 22 22 0 8 0 art_heap8 4096 1 0 0 1 0 1 1 0 8 0 art_heap4 256 144 0 0 9 0 9 9 0 8 0 art_table 32 145 0 0 2 0 2 2 0 8 0 art_node 16 33 0 3 1 0 1 1 0 8 0 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 1694 0 292 88 0 88 88 0 8 0 ffsino 272 1694 0 292 94 0 94 94 0 8 0 nchpl 144 2182 0 579 60 0 60 60 0 8 0 uvmvnodes 72 1704 0 0 31 0 31 31 0 8 0 vnodes 208 1704 0 0 90 0 90 90 0 8 0 namei 1024 5849 0 5848 2 1 1 1 0 8 0 percpumem 16 31 0 0 1 0 1 1 0 8 0 pfiaddrpl 120 258 0 0 8 0 8 8 0 8 0 scxspl 192 6219 0 6218 13 12 1 7 0 8 0 plimitpl 152 15 0 8 1 0 1 1 0 8 0 sigapl 424 510 0 481 4 0 4 4 0 8 0 futexpl 56 3654 0 3654 1 0 1 1 0 8 1 knotepl 112 47 0 36 1 0 1 1 0 8 0 kqueuepl 144 2 0 0 1 0 1 1 0 8 0 pipepl 304 77 0 70 2 1 1 1 0 8 0 fdescpl 496 495 0 481 3 0 3 3 0 8 0 filepl 152 4085 0 4027 3 0 3 3 0 8 0 lockfpl 104 5 0 4 1 0 1 1 0 8 0 lockfspl 48 3 0 2 1 0 1 1 0 8 0 sessionpl 112 19 0 9 1 0 1 1 0 8 0 pgrppl 48 19 0 9 1 0 1 1 0 8 0 ucredpl 96 62 0 53 1 0 1 1 0 8 0 zombiepl 144 481 0 481 2 1 1 1 0 8 1 processpl 984 510 0 481 5 0 5 5 0 8 1 procpl 624 1304 0 1267 4 0 4 4 0 8 1 sockpl 400 2239 0 2221 3 0 3 3 0 8 1 mcl4k 4096 5 0 0 1 0 1 1 0 8 0 mcl2k 2048 76 0 0 10 0 10 10 0 8 0 mtagpl 96 1 0 0 1 0 1 1 0 8 0 mbufpl 256 128 0 0 6 0 6 6 0 8 0 bufpl 280 3320 0 133 228 0 228 228 0 8 0 anonpl 16 38420 0 36287 13 1 12 12 0 124 3 amapchunkpl 152 2658 0 2592 5 0 5 5 0 158 1 amappl16 192 1050 0 986 4 0 4 4 0 8 0 amappl15 184 1 0 0 1 0 1 1 0 8 0 amappl14 176 296 0 292 1 0 1 1 0 8 0 amappl13 168 25 0 22 2 1 1 1 0 8 0 amappl12 160 14 0 11 2 1 1 1 0 8 0 amappl11 152 325 0 309 1 0 1 1 0 8 0 amappl10 144 15 0 12 1 0 1 1 0 8 0 amappl9 136 233 0 232 1 0 1 1 0 8 0 amappl8 128 273 0 264 1 0 1 1 0 8 0 amappl7 120 113 0 102 1 0 1 1 0 8 0 amappl6 112 295 0 291 1 0 1 1 0 8 0 amappl5 104 122 0 108 1 0 1 1 0 8 0 amappl4 96 762 0 735 1 0 1 1 0 8 0 amappl3 88 106 0 100 1 0 1 1 0 8 0 amappl2 80 3051 0 2991 3 1 2 2 0 8 0 amappl1 72 21838 0 21416 23 5 18 18 0 8 8 amappl 80 1532 0 1504 1 0 1 1 0 84 0 dma4096 4096 1 0 1 1 1 0 1 0 8 0 dma256 256 6 0 6 1 1 0 1 0 8 0 dma128 128 253 0 253 1 1 0 1 0 8 0 dma64 64 6 0 6 1 1 0 1 0 8 0 dma32 32 7 0 7 1 1 0 1 0 8 0 dma16 16 18 0 17 1 0 1 1 0 8 0 aobjpl 64 1 0 0 1 0 1 1 0 8 0 uaddrrnd 24 495 0 481 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 495 0 481 1 0 1 1 0 8 0 vmmpekpl 168 8197 0 8171 2 0 2 2 0 8 0 vmmpepl 168 56071 0 55113 82 10 72 72 0 357 29 vmsppl 368 494 0 481 2 0 2 2 0 8 0 pdppl 4096 997 0 962 6 0 6 6 0 8 1 pvpl 32 156101 0 151594 109 5 104 104 0 265 67 pmappl 232 494 0 481 1 0 1 1 0 8 0 extentpl 40 53 0 36 1 0 1 1 0 8 0 phpool 112 255 0 4 8 0 8 8 0 8 0 ddb{1}> machine ddbcpu 0 Stopped at x86_ipi_db+0x1a: addq $0x8,%rsp x86_ipi_db(ffffffff82746ff0) at x86_ipi_db+0x1a sys/arch/amd64/amd64/db_interface.c:352 x86_ipi_handler() at x86_ipi_handler+0xc6 sys/arch/amd64/amd64/ipi.c:106 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 __mp_lock(ffffffff828b0e50) at __mp_lock+0x12e __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff828b0e50) at __mp_lock+0x12e sys/kern/kern_lock.c:147 intr_handler(ffff800020d910c0,ffff80000004a400) at intr_handler+0x5e sys/arch/amd64/amd64/intr.c:532 Xintr_ioapic_edge17_untramp() at Xintr_ioapic_edge17_untramp+0x19f acpicpu_idle() at acpicpu_idle+0x331 sys/dev/acpi/acpicpu.c:1187 sched_idle(ffffffff82746ff0) at sched_idle+0x3f7 sys/kern/kern_sched.c:178 end trace frame: 0x0, count: 7 ddb{0}> trace x86_ipi_db(ffffffff82746ff0) at x86_ipi_db+0x1a sys/arch/amd64/amd64/db_interface.c:352 x86_ipi_handler() at x86_ipi_handler+0xc6 sys/arch/amd64/amd64/ipi.c:106 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 __mp_lock(ffffffff828b0e50) at __mp_lock+0x12e __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff828b0e50) at __mp_lock+0x12e sys/kern/kern_lock.c:147 intr_handler(ffff800020d910c0,ffff80000004a400) at intr_handler+0x5e sys/arch/amd64/amd64/intr.c:532 Xintr_ioapic_edge17_untramp() at Xintr_ioapic_edge17_untramp+0x19f acpicpu_idle() at acpicpu_idle+0x331 sys/dev/acpi/acpicpu.c:1187 sched_idle(ffffffff82746ff0) at sched_idle+0x3f7 sys/kern/kern_sched.c:178 end trace frame: 0x0, count: -8 ddb{0}> machine ddbcpu 1 Stopped at db_enter+0x18: addq $0x8,%rsp db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398 panic(ffffffff823fc819) at panic+0x15c sys/kern/subr_prf.c:207 __assert(ffffffff8246a918,ffffffff824a6afd,14a,ffffffff82437187) at __assert+0x2b sys/kern/subr_prf.c:154 pf_purge_rule(ffff800000b4a000) at pf_purge_rule+0xc9 sys/net/pf_ioctl.c:330 pf_purge(ffffffff829210f0) at pf_purge+0xd2 pf_purge_expired_rules sys/net/pf.c:1245 [inline] pf_purge(ffffffff829210f0) at pf_purge+0xd2 sys/net/pf.c:1280 taskq_thread(ffff80000002c000) at taskq_thread+0xec sys/kern/kern_task.c:437 end trace frame: 0x0, count: 9 ddb{1}> trace db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398 panic(ffffffff823fc819) at panic+0x15c sys/kern/subr_prf.c:207 __assert(ffffffff8246a918,ffffffff824a6afd,14a,ffffffff82437187) at __assert+0x2b sys/kern/subr_prf.c:154 pf_purge_rule(ffff800000b4a000) at pf_purge_rule+0xc9 sys/net/pf_ioctl.c:330 pf_purge(ffffffff829210f0) at pf_purge+0xd2 pf_purge_expired_rules sys/net/pf.c:1245 [inline] pf_purge(ffffffff829210f0) at pf_purge+0xd2 sys/net/pf.c:1280 taskq_thread(ffff80000002c000) at taskq_thread+0xec sys/kern/kern_task.c:437 end trace frame: 0x0, count: -6