syzbot


uvm_fault: pfr_detach_table

Status: fixed on 2020/04/20 18:58
Reported-by: syzbot+d0639632a0affe0a690e@syzkaller.appspotmail.com
Fix commit: 3d97bff14298 fix insufficient input sanitization in pf_rulecopyin() and pf_pool_copyin()
First crash: 1789d, last: 1785d
Last patch testing requests (2)
Created Duration User Patch Repo Result
2020/04/19 00:02 9m greg@nest.cx git://github.com/blackgnezdo/src c4fa7f2562c6318a999d877a6b05647a480baa3d report log
2020/04/18 08:58 16m anton@basename.se https://github.com/mptre/openbsd-src pf OK

Sample crash report:
login: uvm_fault(0xfffffd806bc09cc0, 0x4c3, 0, 1) -> e
kernel: page fault trap, code=0
Stopped at      pfr_detach_table+0x20:  movl    0x4c4(%r14),%r15d
ddb> 
ddb> set $lines = 0
ddb> set $maxwidth = 0
ddb> show panic
kernel page fault
uvm_fault(0xfffffd806bc09cc0, 0x4c3, 0, 1) -> e
pfr_detach_table(ffffffffffffffff) at pfr_detach_table+0x20 sys/net/pf_table.c:2240
end trace frame: 0xffff80001d3d25a0, count: 0
ddb> trace
pfr_detach_table(ffffffffffffffff) at pfr_detach_table+0x20 sys/net/pf_table.c:2240
pf_tbladdr_remove(ffff8000009f3558) at pf_tbladdr_remove+0x4e sys/net/pf.c:1525
pf_rm_rule(0,ffff8000009f3520) at pf_rm_rule+0x3fc sys/net/pf_ioctl.c:309
pfioctl(4900,cd604404,ffff8000006be000,2,ffff8000ffff5648) at pfioctl+0x4f7a
VOP_IOCTL(fffffd80609400d0,cd604404,ffff8000006be000,2,fffffd806c3beba0,ffff8000ffff5648) at VOP_IOCTL+0x88 sys/kern/vfs_vops.c:291
vn_ioctl(fffffd805d719788,cd604404,ffff8000006be000,ffff8000ffff5648) at vn_ioctl+0xb7 sys/kern/vfs_vnops.c:533
sys_ioctl(ffff8000ffff5648,ffff80001d3d2a48,ffff80001d3d2a90) at sys_ioctl+0x5b9
syscall(ffff80001d3d2b10) at syscall+0x507 sys/arch/amd64/amd64/trap.c:555
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7ffffd41f0, count: -9
ddb> show registers
rdi               0xffffffffffffffff
rsi                              0x3
rbp               0xffff80001d3d2560
rbx               0xffff8000009f3768
rdx                              0x3
rcx                              0x1
rax               0xffffffff81560355    pfioctl+0x4015
r8                             0x550
r9                               0x1
r10               0xf982732e3e47ffef
r11               0xb40ab09ea8b74869
r12               0xffff8000009f3878
r13               0xffff8000009f37f0
r14               0xffffffffffffffff
r15               0xffffffffffffffff
rip               0xffffffff812fb2a0    pfr_detach_table+0x20
cs                               0x8
rflags                       0x10246    __ALIGN_SIZE+0xf246
rsp               0xffff80001d3d2530
ss                              0x10
pfr_detach_table+0x20:  movl    0x4c4(%r14),%r15d
ddb> show proc
PROC (syz-executor3088) pid=9013 stat=onproc
    flags process=2<EXEC> proc=0
    pri=51, usrpri=51, nice=20
    forw=0xffffffffffffffff, list=0xffff8000ffff4ee0,0xffffffff8254b668
    process=0xffff80001d39a018 user=0xffff80001d3cd000, vmspace=0xfffffd806bc09cc0
    estcpu=1, cpticks=0, pctcpu=0.0
    user=0, sys=0, intr=0
ddb> ps
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
*71287    9013  71870      0  7         0x2                syz-executor3088
 71870  432992  60797      0  3    0x10008a  pause         ksh
 60797  228098  52138      0  2        0x12                sshd
 60142  165500      1      0  3    0x100083  ttyin         getty
 52138  149286      1      0  3        0x80  select        sshd
  9705  188860  52642     73  3    0x100090  kqread        syslogd
 52642  281968      1      0  3    0x100082  netio         syslogd
 78320  177651      1     77  3    0x100090  poll          dhclient
 76630   78909      1      0  3        0x80  poll          dhclient
 26044  103734      0      0  2     0x14200                zerothread
 54123   98048      0      0  3     0x14200  aiodoned      aiodoned
 53266   75323      0      0  3     0x14200  syncer        update
 41548  335290      0      0  3     0x14200  cleaner       cleaner
 24554  412587      0      0  3     0x14200  reaper        reaper
 94020   23450      0      0  3     0x14200  pgdaemon      pagedaemon
 96638  131332      0      0  3     0x14200  bored         crynlk
  4534  161409      0      0  3     0x14200  bored         crypto
   450  355046      0      0  3  0x40014200  acpi0         acpi0
  4615  473377      0      0  3     0x14200  bored         softnet
 52521   94705      0      0  3     0x14200  bored         systqmp
  2482  147509      0      0  3     0x14200  bored         systq
 65983  349348      0      0  3  0x40014200  bored         softclock
 52128  123556      0      0  3  0x40014200                idle0
 29627   31084      0      0  3     0x14200  bored         smr
     1   82924      0      0  3        0x82  wait          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  9438   6319K    6320K  78643K     10535        0
            pcb    13      8K       8K  78643K        13        0
         rtable    61      1K       2K  78643K       117        0
         ifaddr    24      7K       7K  78643K        24        0
       counters    19     16K      16K  78643K        19        0
       ioctlops     1      4K       4K  78643K        14        0
          mount     1      1K       1K  78643K         1        0
         vnodes  1180     74K      74K  78643K      1185        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      0K       0K  78643K         2        0
            sem     2      0K       0K  78643K         2        0
        dirhash    12      2K       2K  78643K        12        0
           ACPI  1794    195K     288K  78643K     12646        0
      file desc     1      0K       0K  78643K         1        0
           proc    47     38K      46K  78643K       278        0
    NFS srvsock     1      0K       0K  78643K         1        0
     NFS daemon     1     16K      16K  78643K         1        0
       in_multi    11      0K       0K  78643K        11        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       151        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    61      3K       3K  78643K       708        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     3      0K       0K  78643K         3        0
           temp    20   3003K    3067K  78643K      1711        0
      SYN cache     2     16K      16K  78643K         2        0
ddb> show all pools
Name      Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
arp         64        2    0        0     1     0     1     1     0     8    0
rtpcb       80       15    0       13     1     0     1     1     0     8    0
rtentry    112       23    0        1     1     0     1     1     0     8    0
unpcb      120       27    0       19     1     0     1     1     0     8    0
syncache   264        5    0        5     2     1     1     1     0     8    1
tcpcb      544        8    0        5     1     0     1     1     0     8    0
inpcb      280       22    0       16     1     0     1     1     0     8    0
pfrule     1360       1    0        0     1     0     1     1     0     8    0
art_heap8  4096       1    0        0     1     0     1     1     0     8    0
art_heap4  256       96    0        0     6     0     6     6     0     8    0
art_table   32       97    0        0     1     0     1     1     0     8    0
art_node    16       22    0        2     1     0     1     1     0     8    0
dirhash    1024      17    0        0     3     0     3     3     0     8    0
dino1pl    128     1392    0       15    45     0    45    45     0     8    0
ffsino     240     1392    0       15    81     0    81    81     0     8    0
nchpl      144     1567    0       31    57     0    57    57     0     8    0
uvmvnodes   72     1401    0        0    26     0    26    26     0     8    0
vnodes     208     1401    0        0    74     0    74    74     0     8    0
namei      1024    3479    0     3479     2     1     1     1     0     8    1
scxspl     192     2424    0     2424     1     0     1     1     0     8    1
plimitpl   152       13    0        8     1     0     1     1     0     8    0
sigapl     432      176    0      166     2     0     2     2     0     8    0
knotepl    112        5    0        0     1     0     1     1     0     8    0
kqueuepl   104        1    0        0     1     0     1     1     0     8    0
pipepl     112      114    0      107     2     1     1     1     0     8    0
fdescpl    424      177    0      166     2     0     2     2     0     8    0
filepl     120      858    0      814     2     0     2     2     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       17    0        9     1     0     1     1     0     8    0
pgrppl      48       17    0        9     1     0     1     1     0     8    0
ucredpl     96       47    0       40     1     0     1     1     0     8    0
zombiepl   144      166    0      166     2     1     1     1     0     8    1
processpl  872      191    0      166     4     0     4     4     0     8    0
procpl     632      191    0      166     3     0     3     3     0     8    0
sockpl     384       64    0       48     2     0     2     2     0     8    0
mcl4k      4096      10    0       10     2     1     1     1     0     8    1
mcl2k      2048    5785    0     5757     7     1     6     6     0     8    1
mtagpl      80        2    0        2     1     1     0     1     0     8    0
mbufpl     256     9932    0     9895     4     0     4     4     0     8    0
bufpl      280     2095    0      258   132     0   132   132     0     8    0
anonpl      16    17276    0    16138     7     2     5     7     0   107    0
amapchunkpl 152     466    0      430     2     0     2     2     0   158    0
amappl16   192       28    0       26     1     0     1     1     0     8    0
amappl15   184       42    0       38     1     0     1     1     0     8    0
amappl14   176       13    0       12     2     1     1     1     0     8    0
amappl12   160        4    0        4     1     1     0     1     0     8    0
amappl11   152       41    0       30     1     0     1     1     0     8    0
amappl10   144        1    0        1     1     1     0     1     0     8    0
amappl9    136      354    0      353     1     0     1     1     0     8    0
amappl8    128       63    0       59     1     0     1     1     0     8    0
amappl7    120       66    0       57     1     0     1     1     0     8    0
amappl6    112       45    0       42     1     0     1     1     0     8    0
amappl5    104      182    0      172     1     0     1     1     0     8    0
amappl4     96      395    0      372     1     0     1     1     0     8    0
amappl3     88      111    0      102     1     0     1     1     0     8    0
amappl2     80      691    0      640     3     1     2     2     0     8    0
amappl1     72    12165    0    11775    16     6    10    16     0     8    0
amappl      80      353    0      334     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      177    0      166     1     0     1     1     0     8    0
uaddrbest   32        2    0        0     1     0     1     1     0     8    0
uaddr       24      177    0      166     1     0     1     1     0     8    0
vmmpekpl   168     5221    0     5207     1     0     1     1     0     8    0
vmmpepl    168    26028    0    25260    48    10    38    48     0   357    2
vmsppl     272      176    0      166     1     0     1     1     0     8    0
pdppl      4096     360    0      332     5     0     5     5     0     8    0
pvpl        32    70611    0    67864    28     2    26    26     0   265    3
pmappl     200      176    0      166     1     0     1     1     0     8    0
extentpl    40       46    0       29     1     0     1     1     0     8    0
phpool     112      116    0        5     4     0     4     4     0     8    0

Crashes (12):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/01/01 20:39 openbsd ad460bdde645 25a0186e .config console log report syz C ci-openbsd-main
2020/01/04 23:24 openbsd d9ef20e24f31 68256974 .config console log report ci-openbsd-main
2020/01/04 22:04 openbsd d9ef20e24f31 68256974 .config console log report ci-openbsd-main
2020/01/04 00:29 openbsd 7945b8879d45 76d86b16 .config console log report ci-openbsd-multicore
2020/01/03 21:57 openbsd 7945b8879d45 76d86b16 .config console log report ci-openbsd-multicore
2020/01/03 20:58 openbsd 7945b8879d45 76d86b16 .config console log report ci-openbsd-main
2020/01/03 08:32 openbsd e22fe1b6b6d2 9dcc1191 .config console log report ci-openbsd-multicore
2020/01/03 00:28 openbsd 8864b42271c4 25a0186e .config console log report ci-openbsd-main
2020/01/02 21:42 openbsd 8864b42271c4 25a0186e .config console log report ci-openbsd-multicore
2020/01/02 10:53 openbsd ae88e52d437c 25a0186e .config console log report ci-openbsd-main
2020/01/02 01:24 openbsd ad460bdde645 25a0186e .config console log report ci-openbsd-main
2020/01/01 19:14 openbsd ad460bdde645 25a0186e .config console log report ci-openbsd-main
* Struck through repros no longer work on HEAD.