syzbot


uvm_fault: pmap_page_remove (5)

Status: upstream: reported on 2023/12/09 17:23
Reported-by: syzbot+0e8e99dda7054813071b@syzkaller.appspotmail.com
First crash: 140d, last: 10d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
openbsd uvm_fault: pmap_page_remove (4) 1 738d 738d 0/3 auto-closed as invalid on 2022/07/20 03:20
openbsd uvm_fault: pmap_page_remove 7 1681d 1938d 0/3 auto-closed as invalid on 2019/12/19 05:38
openbsd uvm_fault: pmap_page_remove (3) 1 806d 806d 0/3 closed as invalid on 2022/02/15 06:33
openbsd uvm_fault: pmap_page_remove (2) 5 1358d 1535d 0/3 auto-closed as invalid on 2020/11/06 07:50

Sample crash report:
uvm_fault(0xffffffff82d9b4c0, 0x7f864ff9c148, 0, 2) -> e
kernel: page fault trap, code=2
Stopped at      pmap_page_remove+0x30d: xchgq   %rax,0(%r12,%rcx,1)
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
* 97199  96164      0     0x14000      0x200    0  reaper
pmap_page_remove(fffffd8005cd2c80) at pmap_page_remove+0x30d _atomic_swap_64 machine/atomic.h:117 [inline]
pmap_page_remove(fffffd8005cd2c80) at pmap_page_remove+0x30d sys/arch/amd64/amd64/pmap.c:1990
uvm_anfree_list(fffffd806aa31978,ffff80002a5d4f18) at uvm_anfree_list+0x98
amap_wipeout(fffffd806b3b9ab8) at amap_wipeout+0x1d1 sys/uvm/uvm_amap.c:504
uvm_unmap_detach(ffff80002a5d4fe0,1) at uvm_unmap_detach+0x7d sys/uvm/uvm_map.c:1354
uvm_map_teardown(fffffd806eda5568) at uvm_map_teardown+0x27f sys/uvm/uvm_map.c:2556
uvmspace_free(fffffd806eda5568) at uvmspace_free+0x96 sys/uvm/uvm_map.c:3461
reaper(ffff80002a5d79a8) at reaper+0x15a sys/kern/kern_exit.c:463
end trace frame: 0x0, count: 8
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> 
ddb> set $lines = 0
ddb> set $maxwidth = 0
ddb> show panic
*cpu0: uvm_fault(0xffffffff82d9b4c0, 0x7f864ff9c148, 0, 2) -> e
ddb> trace
pmap_page_remove(fffffd8005cd2c80) at pmap_page_remove+0x30d _atomic_swap_64 machine/atomic.h:117 [inline]
pmap_page_remove(fffffd8005cd2c80) at pmap_page_remove+0x30d sys/arch/amd64/amd64/pmap.c:1990
uvm_anfree_list(fffffd806aa31978,ffff80002a5d4f18) at uvm_anfree_list+0x98
amap_wipeout(fffffd806b3b9ab8) at amap_wipeout+0x1d1 sys/uvm/uvm_amap.c:504
uvm_unmap_detach(ffff80002a5d4fe0,1) at uvm_unmap_detach+0x7d sys/uvm/uvm_map.c:1354
uvm_map_teardown(fffffd806eda5568) at uvm_map_teardown+0x27f sys/uvm/uvm_map.c:2556
uvmspace_free(fffffd806eda5568) at uvmspace_free+0x96 sys/uvm/uvm_map.c:3461
reaper(ffff80002a5d79a8) at reaper+0x15a sys/kern/kern_exit.c:463
end trace frame: 0x0, count: -7
ddb> show registers
rdi                                0
rsi                                0
rbp               0xffff80002a5d4ec0
rbx               0x800000007f7cb000
rdx                                0
rcx                   0x7f8000000000
rax                                0
r8                     0xc9ff3074000
r9                                 0
r10               0xbbea6d4a27e90b17
r11               0xc9c9d25fb8e15e87
r12                      0x64ff9c148
r13               0xfffffd806ab70608
r14                                0
r15               0xfffffd8005cd2c80
rip               0xffffffff81809d6d    pmap_page_remove+0x30d
cs                               0x8
rflags                       0x10246    __ALIGN_SIZE+0xf246
rsp               0xffff80002a5d4e30
ss                              0x10
pmap_page_remove+0x30d: xchgq   %rax,0(%r12,%rcx,1)
ddb> show proc
PROC (reaper) tid=97199 pid=96164 tcnt=1 stat=onproc
    flags process=14000<NOZOMBIE,SYSTEM> proc=200<SYSTEM>
    runpri=4, usrpri=84, slppri=4, nice=20
    wchan=0x0, wmesg=, ps_single=0x0
    forw=0xffffffffffffffff, list=0xffff80002a58d9a0,0xffff80002a5d7728
    process=0xffff8000ffffd920 user=0xffff80002a5d0000, vmspace=0xffffffff82d9b4c0
    estcpu=34, cpticks=1, pctcpu=19.51, user=0, sys=1, intr=0
ddb> ps
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
 42537  167313      0      0  3     0x14200  acct          acct
 94167   31198      1      0  3  0x18100083  ttyin         getty
 14330  300212      0      0  3     0x14200  bored         sosplice
 41944  469506  41627      0  3  0x1a000082  thrsleep      syz-fuzzer
 41944   38649  41627      0  3  0x1e000082  nanoslp       syz-fuzzer
 41944  454356  41627      0  3  0x1e000002  inode         syz-fuzzer
 41944  368204  41627      0  2  0x1e000002                syz-fuzzer
 41944  178453  41627      0  3  0x1e000082  wait          syz-fuzzer
 41944   80227  41627      0  3  0x1e000082  thrsleep      syz-fuzzer
 41944  328672  41627      0  3  0x1e000082  wait          syz-fuzzer
 41944  197639  41627      0  2  0x1e000082                syz-fuzzer
 41944  389940  41627      0  3  0x1e000082  wait          syz-fuzzer
 41944  264071  41627      0  3  0x1e000082  wait          syz-fuzzer
 41944  295209  41627      0  3  0x1e000082  thrsleep      syz-fuzzer
 41944  276650  41627      0  3  0x1e000082  thrsleep      syz-fuzzer
 41944  294767  41627      0  3  0x1e000082  wait          syz-fuzzer
 41944  323286  41627      0  3  0x1e000082  wait          syz-fuzzer
 41627  412851  12352      0  3   0x810008a  sigsusp       ksh
 12352   24677  66135      0  3  0x1800009a  kqread        sshd
 66135   82338      1      0  3  0x18000088  kqread        sshd
 34238  442690  52777     73  2  0x19100010                syslogd
 52777  193542      1      0  3  0x18100082  sbwait        syslogd
 75586   65423      1      0  3  0x18100080  kqread        resolvd
 76682  301062  11953     77  2  0x18100012                dhcpleased
 68839  360802  11953     77  3  0x18100092  kqread        dhcpleased
 11953  205630      1      0  3  0x18000080  kqread        dhcpleased
 26832  308074      0      0  3     0x14200  bored         smr
 56019   22475      0      0  2     0x14200                zerothread
 24497  324604      0      0  3     0x14200  aiodoned      aiodoned
 65326  221123      0      0  3     0x14200  syncer        update
 37361  242803      0      0  3     0x14200  cleaner       cleaner
*96164   97199      0      0  7     0x14200                reaper
 30688   71693      0      0  3     0x14200  pgdaemon      pagedaemon
 15098  296128      0      0  3     0x14200  bored         viomb
 89866  498868      0      0  3  0x40014200  acpi0         acpi0
 84889  279512      0      0  3     0x14200  bored         softnet3
 90760  279543      0      0  3     0x14200  bored         softnet2
 18182  228366      0      0  3     0x14200  bored         softnet1
 44675  366123      0      0  2     0x14200                softnet0
 51062   22575      0      0  3     0x14200  bored         systqmp
 36411  204237      0      0  3     0x14200  bored         systq
 11322  430844      0      0  3  0x40014200  tmoslp        softclock
 98479   18345      0      0  3  0x40014200                idle0
     1  257884      0      0  2   0x8080082                init
     0       0     -1      0  3     0x10200  scheduler     swapper
ddb> show all locks
No such command
ddb> show malloc
           Type InUse  MemUse  HighUse   Limit  Requests Type Lim
         devbuf 10173   6415K    6926K 166960K     14977        0
            pcb    17     18K      20K 166960K       363        0
         rtable   146      5K       8K 166960K      1770        0
             pf    27      8K       9K 166960K       166        0
         ifaddr    32      9K      11K 166960K       237        0
        ifgroup    46      2K       2K 166960K       295        0
         sysctl     3      1K       2K 166960K         4        0
       counters    29     17K      17K 166960K        94        0
       ioctlops     0      0K       2K 166960K       256        0
            iov     0      0K      16K 166960K       137        0
          mount     1      1K       1K 166960K         1        0
            log     0      0K       0K 166960K         4        0
         vnodes  1458     92K      92K 166960K      4112        0
      UFS quota     1     32K      32K 166960K         1        0
      UFS mount     5     36K      36K 166960K         5        0
            shm     2     68K      76K 166960K        48        0
         VM map     2      1K       1K 166960K         2        0
            sem    12      0K       0K 166960K       319        0
        dirhash    12      2K       2K 166960K        69        0
           ACPI  1697    195K     286K 166960K     12548        0
      file desc     8     25K     105K 166960K      3028        0
          sigio     0      0K       0K 166960K       214        0
           proc    58     59K     132K 166960K      1726        0
        subproc    78      4K       8K 166960K       662        0
    NFS srvsock     1      0K       0K 166960K         1        0
     NFS daemon     1     16K      16K 166960K         1        0
    ip_moptions     0      0K       0K 166960K       674        0
       in_multi    66      4K       7K 166960K       659        0
    ether_multi     1      0K       0K 166960K        50        0
            mrt     1      0K       0K 166960K         4        0
    ISOFS mount     1     32K      32K 166960K         1        0
  MSDOSFS mount     1     16K      16K 166960K         1        0
           ttys   115    519K     519K 166960K       115        0
           exec     0      0K       1K 166960K      1186        0
     pfkey data     0      0K       0K 166960K         2        0
            tdb     3      0K       0K 166960K         3        0
        VM swap     8     62K      64K 166960K        10        0
       UVM amap   228     63K     100K 166960K     27376        0
       UVM aobj   141      8K       8K 166960K       152        0
     pinsyscall    28     56K     100K 166960K      5266        0
        memdesc     1      4K       4K 166960K         1        0
    crypto data     1      1K       1K 166960K         1        0
    ip6_options     0      0K       1K 166960K       340        0
            NDP    10      0K       2K 166960K       173        0
           temp    70   6811K    6885K 166960K     49587        0
         kqueue    12     18K      26K 166960K       361        0
      SYN cache     2     16K      16K 166960K         2        0
ddb> show all pools
Name      Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
rtpcb      120      478    0      475     3     0     3     3     0     8    2
rtentry    112      597    0      534     3     0     3     3     0     8    0
unpcb      144     2039    0     2026     6     0     6     6     0     8    5
syncache   336        4    0        4     1     1     0     1     0     8    0
sackhl      24        1    0        1     1     1     0     1     0     8    0
tcpqe       32      107    0      107     1     1     0     1     0     8    0
tcpcb      808     1617    0     1612    12     3     9    11     0     8    8
arp         88      106    0       96     1     0     1     1     0     8    0
ipq         40        7    0        7     1     0     1     1     0     8    1
ipqe        40       56    0       56     1     0     1     1     0     8    1
inpcb      360     4301    0     4293    27    18     9    14     0     8    8
nd6        104      175    0      157     1     0     1     1     0     8    0
pkpcb       40       16    0       16     2     1     1     1     0     8    1
kcovpl      48       49    0       43     1     0     1     1     0     8    0
ppxss      1072      10    0       10     1     0     1     1     0     8    1
art_heap8  4096       1    0        0     1     0     1     1     0     8    0
art_heap4  256     2375    0     2087    42    17    25    25     0     8    1
art_table   32     2376    0     2087     4     0     4     4     0     8    0
art_node    16      596    0      541     1     0     1     1     0     8    0
sysvmsgpl   40       24    0       16     1     0     1     1     0     8    0
semupl     112        1    0        1     1     1     0     1     0     8    0
semapl     112      316    0      306     1     0     1     1     0     8    0
shmpl      112      149    0       11     4     0     4     4     0     8    0
dirhash    1024      55    0       38     3     0     3     3     0     8    0
dino2pl    256     5823    0     4295    96     0    96    96     0     8    0
ffsino     240     5823    0     4295    91     0    91    91     0     8    0
nchpl      144     9665    0     7945    66     0    66    66     0     8    0
uvmvnodes   80     6852    0        0   140     0   140   140     0     8    0
vnodes     216     6852    0        0   381     0   381   381     0     8    0
namei      1024   37139    0    37139     3     1     2     2     0     8    2
vcpupl     3904       6    0        1     1     0     1     1     0     8    0
vmpool     664       43    0       38     2     1     1     1     0     8    0
kstatmem   264      150    0      130     2     0     2     2     0     8    0
scsiplug    72        3    0        3     1     0     1     1     0     8    1
scxspl     216    50117    0    50117     9     7     2     8     1     8    2
plimitpl   152      615    0      598     1     0     1     1     0     8    0
sigapl     424     3250    0     3206     7     0     7     7     0     8    1
futexpl     64    38444    0    38444     1     0     1     1     0     8    1
knotepl    120    33483    0    33417    39    26    13    18     0     8    8
kqueuepl   184      979    0      971     9     0     9     9     0     8    8
pipepl     288      772    0      752     7     0     7     7     0     8    4
fdescpl    432     3231    0     3212     5     0     5     5     0     8    1
filepl     120    22658    0    22472    19     3    16    18     0     8    7
lockfpl    104      719    0      717     1     0     1     1     0     8    0
lockfspl    48      254    0      252     1     0     1     1     0     8    0
sessionpl  144       65    0       50     1     0     1     1     0     8    0
pgrppl      48      111    0       96     1     0     1     1     0     8    0
ucredpl    104     4211    0     4194     1     0     1     1     0     8    0
zombiepl   144     3219    0     3206     1     0     1     1     0     8    0
processpl  1072    3250    0     3206     4     0     4     4     0     8    0
procpl     656     6546    0     6489     9     1     8     8     0     8    1
sosppl     168       50    0       50     2     1     1     1     0     8    1
sockpl     504     6852    0     6828    85    74    11    29     0     8    8
mcl64k     65536      1    0        1     1     0     1     1     0     8    1
mcl12k     12288      1    0        1     1     0     1     1     0     8    1
mcl9k      9216       3    0        3     1     0     1     1     0     8    1
mcl8k      8192      39    0       39     2     1     1     1     0     8    1
mcl4k      4096      20    0       20     2     1     1     1     0     8    1
mcl2k      2048   34658    0    34555    50    29    21    36     0     8    7
mtagpl      96       93    0       93     1     0     1     1     0     8    1
mbufpl     256    95203    0    95091   108    87    21    61     0     8    7
bufpl      280    11693    0     3740   569     0   569   569     0     8    0
anonpl      24   506348    0   496070   124    29    95    95     0   188   28
amapchunkpl 152   93561    0    92792    62    13    49    49     0   158   10
amappl16   200    10470    0    10373    41    24    17    19     0     8    8
amappl15   192       12    0       12     1     1     0     1     0     8    0
amappl14   184      288    0      275     2     1     1     2     0     8    0
amappl13   176       13    0       13     2     1     1     1     0     8    1
amappl12   168     4502    0     4481     2     0     2     2     0     8    0
amappl11   160       50    0       40     1     0     1     1     0     8    0
amappl10   152       83    0       76     1     0     1     1     0     8    0
amappl9    144      156    0      156     1     1     0     1     0     8    0
amappl8    136      172    0      140     2     0     2     2     0     8    0
amappl7    128       67    0       53     1     0     1     1     0     8    0
amappl6    120      898    0      884     2     1     1     2     0     8    0
amappl5    112      332    0      320     1     0     1     1     0     8    0
amappl4    104      873    0      840     3     1     2     3     0     8    0
amappl3     96    17111    0    17062     3     0     3     3     0     8    0
amappl2     88     3770    0     3708     4     2     2     4     0     8    0
amappl1     80    20914    0    20455    22    10    12    22     0     8    0
amappl      88    26420    0    26281     6     0     6     6     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      151    0       11     3     0     3     3     0     8    0
uaddrrnd    24     3274    0     3250     1     0     1     1     0     8    0
uaddrbest   32        2    0        0     1     0     1     1     0     8    0
uaddr       24     3274    0     3250     1     0     1     1     0     8    0
vmmpekpl   168    27951    0    27888     4     0     4     4     0     8    0
vmmpepl    168   215121    0   213666   127    33    94   114     0   357   10
vmsppl     344     3273    0     3249     5     1     4     4     0     8    0
rwobjpl     24    62643    0    54696    50     0    50    50     0     8    0
pdppl      4096    6554    0     6503   252   183    69    85     0     8   18
pvpl        32  1318384    0  1298486   540   294   246   391     0   265   72
pmappl     216     3273    0     3249     3     0     3     3     0     8    0
extentpl    40       56    0       38     1     0     1     1     0     8    0
phpool     112      759    0      399    12     0    12    12     0     8    0
ddb> machine ddbcpu 0
No such command
ddb> trace
pmap_page_remove(fffffd8005cd2c80) at pmap_page_remove+0x30d _atomic_swap_64 machine/atomic.h:117 [inline]
pmap_page_remove(fffffd8005cd2c80) at pmap_page_remove+0x30d sys/arch/amd64/amd64/pmap.c:1990
uvm_anfree_list(fffffd806aa31978,ffff80002a5d4f18) at uvm_anfree_list+0x98
amap_wipeout(fffffd806b3b9ab8) at amap_wipeout+0x1d1 sys/uvm/uvm_amap.c:504
uvm_unmap_detach(ffff80002a5d4fe0,1) at uvm_unmap_detach+0x7d sys/uvm/uvm_map.c:1354
uvm_map_teardown(fffffd806eda5568) at uvm_map_teardown+0x27f sys/uvm/uvm_map.c:2556
uvmspace_free(fffffd806eda5568) at uvmspace_free+0x96 sys/uvm/uvm_map.c:3461
reaper(ffff80002a5d79a8) at reaper+0x15a sys/kern/kern_exit.c:463
end trace frame: 0x0, count: -7
ddb> machine ddbcpu 1
No such command
ddb> trace
pmap_page_remove(fffffd8005cd2c80) at pmap_page_remove+0x30d _atomic_swap_64 machine/atomic.h:117 [inline]
pmap_page_remove(fffffd8005cd2c80) at pmap_page_remove+0x30d sys/arch/amd64/amd64/pmap.c:1990
uvm_anfree_list(fffffd806aa31978,ffff80002a5d4f18) at uvm_anfree_list+0x98
amap_wipeout(fffffd806b3b9ab8) at amap_wipeout+0x1d1 sys/uvm/uvm_amap.c:504
uvm_unmap_detach(ffff80002a5d4fe0,1) at uvm_unmap_detach+0x7d sys/uvm/uvm_map.c:1354
uvm_map_teardown(fffffd806eda5568) at uvm_map_teardown+0x27f sys/uvm/uvm_map.c:2556
uvmspace_free(fffffd806eda5568) at uvmspace_free+0x96 sys/uvm/uvm_map.c:3461
reaper(ffff80002a5d79a8) at reaper+0x15a sys/kern/kern_exit.c:463
end trace frame: 0x0, count: -7

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/17 05:43 openbsd 489289b76a3a 18f6e127 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-main uvm_fault: pmap_page_remove
2024/01/27 03:17 openbsd d4c9bc7e07bc cc4a4020 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-main uvm_fault: pmap_page_remove
2023/12/09 17:22 openbsd 102443c78d43 28b24332 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-main uvm_fault: pmap_page_remove
* Struck through repros no longer work on HEAD.