syzbot


protection_fault: fill_file (3)

Status: fixed on 2024/01/16 01:11
Reported-by: syzbot+0e9dda76c42c82c626d7@syzkaller.appspotmail.com
Fix commit: d221342b6cd4 Introduce priterator(), the `ps_list' iterator. Some of `allprocess' list walkthroughs have context switch within, so make exit1() wait until the last reference released.
First crash: 120d, last: 120d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
openbsd protection_fault: fill_file (2) 2 392d 405d 0/3 auto-obsoleted due to no activity on 2023/07/11 17:45
openbsd protection_fault: fill_file 2 561d 587d 0/3 auto-obsoleted due to no activity on 2023/01/24 01:44

Sample crash report:
kernel: protection fault trap, code=0
Stopped at      fill_file+0xa38:        movl    0x8(%rax),%eax
ddb{0}> 
ddb{0}> set $lines = 0
ddb{0}> set $maxwidth = 0
ddb{0}> show panic
the kernel did not panic
ddb{0}> trace
fill_file(ffff800000ec0c00,fffffd8067653130,fffffd8073741ba8,4,0,ffff800030cc3ad0,b5fbe6094555c328,18ee,ffff80002a2bd2a8) at fill_file+0xa38 sys/kern/kern_sysctl.c:1416
sysctl_file(ffff800032556808,4,20000100,ffff800032556838,ffff80002a2bd2a8) at sysctl_file+0xe87 sys/kern/kern_sysctl.c:1555
kern_sysctl(ffff800032556804,5,20000100,ffff800032556838,0,37,cfe180eb06811378) at kern_sysctl+0x10b sys/kern/kern_sysctl.c:457
sys_sysctl(ffff80002a2bd2a8,ffff8000325568a0,ffff8000325568f0) at sys_sysctl+0x219 sys/kern/kern_sysctl.c:254
syscall(ffff800032556970) at syscall+0x4e6 sys/arch/amd64/amd64/trap.c:606
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x4e3ed4e8a50, count: -6
ddb{0}> show registers
rdi               0xffff80002bd03000
rsi                            0xad4
rbp               0xffff800032556540
rbx                              0x6
rdx               0xffff80002bd03000
rcx                            0xad3
rax               0x2e4246b5bbe4c0f8
r8                0xffff80002a1e9e18
r9                                 0
r10               0x762ddbab56da7a2d
r11               0x873fb50a0cf1badb
r12               0xfffffd8073741ba8
r13                              0x4
r14               0xffff800030cc3ad0
r15               0xffff800000ec0c00
rip               0xffffffff81b77398    fill_file+0xa38
cs                               0x8
rflags                       0x10246    __ALIGN_SIZE+0xf246
rsp               0xffff800032556420
ss                              0x10
fill_file+0xa38:        movl    0x8(%rax),%eax
ddb{0}> show proc
PROC (syz-executor.6) tid=13859 pid=94270 tcnt=2 stat=onproc
    flags process=0 proc=4000000<THREAD>
    runpri=32, usrpri=84, slppri=32, nice=20
    wchan=0x0, wmesg=, ps_single=0x0
    forw=0xffffffffffffffff, list=0xffff80002f13baa8,0xffff80002a2bd560
    process=0xffff800030cc2a10 user=0xffff800032551000, vmspace=0xfffffd8071b6a230
    estcpu=36, cpticks=0, pctcpu=0.0, user=0, sys=0, intr=0
ddb{0}> ps
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
 58610   43259  80742      0  2           0                syz-executor.5
  9612   10675  50550      0  3        0x80  nanoslp       syz-executor.1
  9612  424878  50550      0  3   0x4000080  fsleep        syz-executor.1
  9612  335304  50550      0  2   0x4000000                syz-executor.1
  9612  260013  50550      0  3   0x4000080  fsleep        syz-executor.1
 94270  521065  26649      0  2           0                syz-executor.6
*94270   13859  26649      0  7   0x4000000                syz-executor.6
 43539   95546  16631      0  2   0x4081000                syz-executor.4
 43539  217056  16631      0  3   0x4003000  suspend       syz-executor.4
 79662  394042    569      0  3        0x80  nanoslp       syz-executor.7
 79662  223777    569      0  3   0x4000080  netio         syz-executor.7
 79662  518396    569      0  3   0x4000080  fsleep        syz-executor.7
 60538   53162  65206      0  3        0x80  nanoslp       syz-executor.3
 60538  173110  65206      0  3   0x4000080  netio         syz-executor.3
 60538  497624  65206      0  3   0x4000080  fsleep        syz-executor.3
 50550   13851   4766      0  3        0x82  nanoslp       syz-executor.1
 30391   15351   4766      0  2         0x2                syz-executor.2
 26649  310129   4766      0  3        0x82  nanoslp       syz-executor.6
  4371   63592   4766      0  2         0x2                syz-executor.0
 80742  110578   4766      0  3        0x82  nanoslp       syz-executor.5
   569  460780   4766      0  3        0x82  nanoslp       syz-executor.7
 16631  252434   4766      0  3        0x82  nanoslp       syz-executor.4
 13654  266358      0      0  3     0x14200  acct          acct
 65206  153595   4766      0  3        0x82  nanoslp       syz-executor.3
 59318   40540      1      0  3    0x100083  ttyin         getty
 59108  383036      0      0  3     0x14200  bored         sosplice
  4766  345853  26362      0  3   0x2000082  thrsleep      syz-fuzzer
  4766  231756  26362      0  3   0x6000082  nanoslp       syz-fuzzer
  4766  241737  26362      0  3   0x6000082  wait          syz-fuzzer
  4766  275111  26362      0  3   0x6000082  wait          syz-fuzzer
  4766  372701  26362      0  3   0x6000082  thrsleep      syz-fuzzer
  4766  107412  26362      0  2   0x6000002                syz-fuzzer
  4766  146001  26362      0  3   0x6000082  wait          syz-fuzzer
  4766  108675  26362      0  2   0x6000082                syz-fuzzer
  4766  236452  26362      0  3   0x6000082  thrsleep      syz-fuzzer
  4766  133242  26362      0  3   0x6000082  thrsleep      syz-fuzzer
  4766  417140  26362      0  3   0x6000082  thrsleep      syz-fuzzer
  4766   96424  26362      0  3   0x6000082  thrsleep      syz-fuzzer
  4766  369179  26362      0  3   0x6000082  wait          syz-fuzzer
  4766  278203  26362      0  3   0x6000082  wait          syz-fuzzer
  4766  112360  26362      0  3   0x6000082  wait          syz-fuzzer
  4766  419802  26362      0  3   0x6000082  wait          syz-fuzzer
  4766  442475  26362      0  3   0x6000082  wait          syz-fuzzer
 26362  347109  18824      0  3    0x10008a  sigsusp       ksh
 18824  118436  82924      0  2        0x12                sshd
 82924  451086      1      0  3        0x88  kqread        sshd
 99086  222231  78518     74  3   0x1100092  bpf           pflogd
 78518  380380      1      0  3        0x80  netio         pflogd
 26202  445519  50894     73  3   0x1100090  kqread        syslogd
 50894  144526      1      0  3    0x100082  netio         syslogd
 21778    2670      1      0  3    0x100080  kqread        resolvd
  1648   17639      0      0  3     0x14200  bored         smr
 73616   84279      0      0  2     0x14200                zerothread
 31954  216273      0      0  3     0x14200  aiodoned      aiodoned
 82610  256711      0      0  3     0x14200  syncer        update
 94074   60597      0      0  3     0x14200  cleaner       cleaner
 12139  482797      0      0  3     0x14200  reaper        reaper
 89578  487828      0      0  3     0x14200  pgdaemon      pagedaemon
 92815  168824      0      0  3     0x14200  bored         viomb
 60757   91371      0      0  3  0x40014200  acpi0         acpi0
 90087  123875      0      0  7  0x40014200                idle1
 37927  422498      0      0  3     0x14200  bored         softnet3
 25259  340297      0      0  3     0x14200  bored         softnet2
 41920  450311      0      0  3     0x14200  bored         softnet1
 10100  398003      0      0  2     0x14200                softnet0
 93434  276167      0      0  3     0x14200  bored         systqmp
 62325  371967      0      0  3     0x14200  bored         systq
  9785  488128      0      0  3     0x14200  tmoslp        softclockmp
 90400  146455      0      0  3  0x40014200  tmoslp        softclock
  7700  208365      0      0  3  0x40014200                idle0
     1   58101      0      0  3     0x80082  wait          init
     0       0     -1      0  3     0x10200  scheduler     swapper
ddb{0}> show all locks
Process 94270 (syz-executor.6) thread 0xffff80002a2bd2a8 (13859)
exclusive kernel_lock &kernel_lock r = 0 (0xffffffff82d13e68)
#0  witness_lock+0x447
#1  __mp_acquire_count+0x48 sys/kern/kern_lock.c:227
#2  mi_switch+0x46d sys/kern/sched_bsd.c:470
#3  sleep_finish+0x19b sys/kern/kern_synch.c:414
#4  rw_enter+0x341 sys/kern/kern_rwlock.c:285
#5  fill_file+0x4c2 sys/kern/kern_sysctl.c:1289
#6  sysctl_file+0xe87 sys/kern/kern_sysctl.c:1555
#7  kern_sysctl+0x10b sys/kern/kern_sysctl.c:457
#8  sys_sysctl+0x219 sys/kern/kern_sysctl.c:254
#9  syscall+0x4e6 sys/arch/amd64/amd64/trap.c:606
#10 Xsyscall+0x128
exclusive rwlock sysctllk r = 0 (0xffffffff82bd6890)
#0  witness_lock+0x447
#1  rw_enter+0x3c8 sys/kern/kern_rwlock.c:309
#2  sys_sysctl+0x1c3 sys/kern/kern_sysctl.c:238
#3  syscall+0x4e6 sys/arch/amd64/amd64/trap.c:606
#4  Xsyscall+0x128
ddb{0}> show malloc
           Type InUse  MemUse  HighUse   Limit  Requests Type Lim
         devbuf 10234   6507K    8634K 166960K     19236        0
            pcb    13     22K      27K 166960K      2398        0
         rtable   244     15K      15K 166960K      4013        0
             pf    37     10K      10K 166960K       639        0
         ifaddr    47     19K      21K 166960K       531        0
        ifgroup    64      2K       2K 166960K      1037        0
         sysctl     4      1K       1K 166960K        20        0
       counters    68     36K      37K 166960K       588        0
       ioctlops     0      0K       4K 166960K      3991        0
            iov     1     16K      32K 166960K      3541        0
          mount     1      1K       1K 166960K         1        0
            log     0      0K       0K 166960K         4        0
         vnodes  1548     97K      97K 166960K     11361        0
      UFS quota     1     32K      32K 166960K         1        0
      UFS mount     5     36K      36K 166960K         5        0
            shm     2      1K      13K 166960K       563        0
         VM map     2      1K       1K 166960K         2        0
            sem    12      0K       0K 166960K      3721        0
        dirhash    12      2K       2K 166960K       117        0
           ACPI  1697    195K     286K 166960K     12548        0
      file desc    16     57K      78K 166960K     32213        0
          sigio     0      0K       0K 166960K      1455        0
           proc    64     67K     128K 166960K      4033        0
        subproc   104      6K       7K 166960K      1013        0
    NFS srvsock     1      0K       0K 166960K         1        0
     NFS daemon     1     16K      16K 166960K         1        0
    ip_moptions     0      0K       0K 166960K      1760        0
       in_multi    99      7K       7K 166960K      1134        0
    ether_multi     1      0K       0K 166960K        15        0
            mrt     1      0K       0K 166960K        20        0
    ISOFS mount     1     32K      32K 166960K         1        0
  MSDOSFS mount     1     16K      16K 166960K         1        0
           ttys   259   1155K    1155K 166960K       259        0
           exec     0      0K       1K 166960K      4980        0
     pfkey data     0      0K       0K 166960K        54        0
            tdb     3      0K       0K 166960K         3        0
        pagedep     1      8K       8K 166960K         1        0
       inodedep     1     32K      32K 166960K         1        0
         newblk     1      0K       0K 166960K         1        0
        VM swap     8     62K      64K 166960K        10        0
       UVM amap   645    777K     778K 166960K    304910        0
       UVM aobj   131      4K       4K 166960K       131        0
        memdesc     1      4K       4K 166960K         1        0
    crypto data     1      1K       1K 166960K         1        0
    ip6_options     1      0K       0K 166960K      1844        0
            NDP    14      0K       1K 166960K       426        0
           temp    76   5949K    6064K 166960K    265071        0
         kqueue     7     12K      26K 166960K      1928        0
      SYN cache     2     16K      16K 166960K         2        0
ddb{0}> show all pools
Name      Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
plcache    128       24    0        0     1     0     1     1     0     8    0
rtpcb      120     1570    0     1569    18    17     1     3     0     8    0
rtentry    112     1268    0     1156     6     2     4     4     0     8    0
unpcb      144    21036    0    21024   225   224     1    15     0     8    0
syncache   312      308    0      308    53    53     0     1     0     8    0
tcpqe       32      347    0      347    40    40     0     1     0     8    0
tcpcb      808    37026    0    37016   477   475     2    31     0     8    0
arp        120      239    0      221     1     0     1     1     0     8    0
ipq         40        3    0        3     1     1     0     1     0     8    0
ipqe        40        9    0        9     1     1     0     1     0     8    0
inpcb      368    57849    0    57828   544   541     3    29     0     8    1
nd6        136      249    0      223     1     0     1     1     0     8    0
pkpcb       40      214    0      214    19    19     0     1     0     8    0
kcovpl      48       77    0       69     1     0     1     1     0     8    0
ppxss      1256      69    0       69    21    21     0     1     0     8    0
pffrag     232      266    0      264     6     5     1     1     0   482    0
pffrnode    88      266    0      264     6     5     1     1     0     8    0
pffrent     40      975    0      973     6     5     1     1     0     8    0
pfosfp      40     1428    0     1005     5     0     5     5     0     8    0
pfosfpen   112     1428    0      714    21     0    21    21     0     8    0
pfstitem    24     1152    0     1135     2     0     2     2     0     8    0
pfstkey    128     1194    0     1177    11     9     2     9     0     8    0
pfstate    376     1194    0     1177    42    39     3    26     0     8    0
pfrule     1344      21    0       16     2     1     1     2     0     8    0
art_heap8  4096       5    0        4     3     2     1     3     0     8    0
art_heap4  256     3832    0     3353    57    27    30    32     0     8    0
art_table   32     3837    0     3357     5     1     4     5     0     8    0
art_node    16     1120    0     1018     1     0     1     1     0     8    0
sysvmsgpl   40       35    0       29     1     0     1     1     0     8    0
semupl     112        2    0        2     1     1     0     1     0     8    0
semapl     112     3717    0     3707     1     0     1     1     0     8    0
shmpl      112      128    0        0     4     0     4     4     0     8    0
dirhash    1024      87    0       70     3     0     3     3     0     8    0
dino2pl    256    45223    0    43638   100     0   100   100     0     8    0
ffsino     272    45223    0    43638   107     0   107   107     0     8    0
nchpl      144    90161    0    88512    64     1    63    64     0     8    0
uvmvnodes   80     8830    0        0   181     0   181   181     0     8    0
vnodes     216     8830    0        0   491     0   491   491     0     8    0
namei      1024  303715    0   303715    13    12     1     2     0     8    1
percpumem   16      308    0      260     1     0     1     1     0     8    0
vcpupl     2048     308    0        0    39     0    39    39     0     8    0
vmpool     696      328    0       20    29     1    28    28     0     8    0
kstatmem   264      548    0      520     4     2     2     3     0     8    0
scxspl     216   282786    0   282786    35    34     1     8     1     8    1
plimitpl   152     3501    0     3486     1     0     1     1     0     8    0
sigapl     424    32832    0    32786    13     5     8     8     0     8    0
futexpl     64   328332    0   328328     6     5     1     1     0     8    0
knotepl    120     1531    0        0    22     6    16    19     0     8    0
kqueuepl   216     5880    0     5874   120   119     1     8     0     8    0
pipepl     320     6241    0     6213   108   104     4    13     0     8    0
fdescpl    496    32376    0    32350     9     5     4     5     0     8    0
filepl     152   229834    0   229592   280   267    13    27     0     8    0
lockfpl    104     7667    0     7666    10     9     1     2     0     8    0
lockfspl    48     2162    0     2161     1     0     1     1     0     8    0
sessionpl  144       97    0       81     1     0     1     1     0     8    0
pgrppl      48      810    0      794     1     0     1     1     0     8    0
ucredpl    104    30041    0    30030     1     0     1     1     0     8    0
zombiepl   144    32787    0    32786     8     7     1     1     0     8    0
processpl  1072   32832    0    32786     7     2     5     5     0     8    0
procpl     680    84057    0    83985    21    12     9    10     0     8    0
srpgc       96       77    0       77    30    30     0     1     0     8    0
sosppl     168      320    0      318    32    31     1     1     0     8    0
sockpl     488    80842    0    80811  1173  1167     6    58     0     8    0
mcl64k     65536     17    0        0     3     0     3     3     0     8    0
mcl16k     16384     22    0        0     3     0     3     3     0     8    0
mcl12k     12288     32    0        0     2     0     2     2     0     8    0
mcl9k      9216      13    0        0     1     0     1     1     0     8    0
mcl8k      8192      18    0        0     3     0     3     3     0     8    0
mcl4k      4096      25    0        0     3     0     3     3     0     8    0
mcl2k2     2112      10    0        0     1     0     1     1     0     8    0
mcl2k      2048     404    0        0    29    14    15    29     0     8    0
mtagpl      96      169    0        0     4     1     3     4     0     8    0
mbufpl     256     4642    0        0   225     0   225   225     0     8    0
bufpl      288    60511    0    51667   632     0   632   632     0     8    0
anonpl      24  3077862    0  3063947   301   189   112   156     0   186    0
amapchunkpl 152  986041    0   985105   188   149    39    64     0   158    0
amappl16   200    64880    0    64381   304   272    32    43     0     8    0
amappl15   192       35    0       33     1     0     1     1     0     8    0
amappl14   184      403    0      382    12    10     2     2     0     8    0
amappl13   176       50    0       50     3     3     0     1     0     8    0
amappl12   168    34173    0    34143     3     1     2     2     0     8    0
amappl11   160       64    0       55     1     0     1     1     0     8    0
amappl10   152      186    0      162     1     0     1     1     0     8    0
amappl9    144      397    0      396     1     0     1     1     0     8    0
amappl8    136     1415    0     1190     8     0     8     8     0     8    0
amappl7    128      408    0      381     2     0     2     2     0     8    0
amappl6    120     1543    0     1521     1     0     1     1     0     8    0
amappl5    112      829    0      819     1     0     1     1     0     8    0
amappl4    104     1251    0     1206     4     2     2     2     0     8    0
amappl3     96   189540    0   189449     4     1     3     3     0     8    0
amappl2     88    33988    0    33915     3     1     2     3     0     8    0
amappl1     80   128427    0   127965    23    10    13    23     0     8    0
amappl      88   302864    0   302537     8     0     8     8     0    92    0
dma4096    4096       1    0        1     1     1     0     1     0     8    0
dma1024    1024       1    0        0     1     0     1     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      72      130    0        0     3     0     3     3     0     8    0
uaddrrnd    24    32704    0    32370     4     1     3     3     0     8    0
uaddrbest   32        2    0        0     1     0     1     1     0     8    0
uaddr       24    32704    0    32370     4     1     3     3     0     8    0
vmmpekpl   168   222964    0   222851     6     0     6     6     0     8    0
vmmpepl    168  1904282    0  1901534   609   458   151   161     0   357    0
vmsppl     464    32703    0    32370    49     7    42    43     0     8    0
rwobjpl     56   446214    0   435505   184    32   152   152     0     8    0
pdppl      4096   65416    0    65048  1388  1016   372   374     0     8    4
pvpl        32    45353    0        0   367     1   366   366     0   265    0
pmappl     248    32703    0    32370    26     5    21    22     0     8    0
extentpl    40       56    0       38     1     0     1     1     0     8    0
phpool     112     3727    0     2175    45     0    45    45     0     8    0
ddb{0}> machine ddbcpu 0
Invalid cpu 0
ddb{0}> trace
fill_file(ffff800000ec0c00,fffffd8067653130,fffffd8073741ba8,4,0,ffff800030cc3ad0,b5fbe6094555c328,18ee,ffff80002a2bd2a8) at fill_file+0xa38 sys/kern/kern_sysctl.c:1416
sysctl_file(ffff800032556808,4,20000100,ffff800032556838,ffff80002a2bd2a8) at sysctl_file+0xe87 sys/kern/kern_sysctl.c:1555
kern_sysctl(ffff800032556804,5,20000100,ffff800032556838,0,37,cfe180eb06811378) at kern_sysctl+0x10b sys/kern/kern_sysctl.c:457
sys_sysctl(ffff80002a2bd2a8,ffff8000325568a0,ffff8000325568f0) at sys_sysctl+0x219 sys/kern/kern_sysctl.c:254
syscall(ffff800032556970) at syscall+0x4e6 sys/arch/amd64/amd64/trap.c:606
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x4e3ed4e8a50, count: -6
ddb{0}> machine ddbcpu 1
Stopped at      x86_ipi_db+0x1e:        addq    $0x8,%rsp

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/01/09 15:47 openbsd 6354f7248140 4807fb37 .config console log report ci-openbsd-multicore protection_fault: fill_file
* Struck through repros no longer work on HEAD.