syzbot


uvm_fault: igmp_leavegroup (5)

Status: fixed on 2024/04/11 23:44
Reported-by: syzbot+2f24ed6c8ddb2d6bb22c@syzkaller.appspotmail.com
Fix commit: 4733ced31b52 Prevent changing interface loopback flag from userland.
First crash: 225d, last: 224d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
openbsd uvm_fault: igmp_leavegroup (3) 37 969d 1060d 3/3 fixed on 2022/03/28 22:44
openbsd uvm_fault: igmp_leavegroup (2) 1 1075d 1075d 3/3 fixed on 2021/12/16 06:48
openbsd uvm_fault: igmp_leavegroup (4) 271 500d 967d 0/3 auto-obsoleted due to no activity on 2023/08/29 05:19
openbsd uvm_fault: igmp_leavegroup 1 1661d 1661d 0/3 auto-closed as invalid on 2020/08/03 03:01

Sample crash report:
uvm_fault(0xfffffd80074a6158, 0x4, 0, 1) -> e
kernel: page fault trap, code=0
Stopped at      igmp_leavegroup+0xaf:   movl    0x4(%rax),%r12d
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
igmp_leavegroup(ffff800000dcbe00,ffff8000006ab000) at igmp_leavegroup+0xaf sys/netinet/igmp.c:512
in_delmulti(ffff800000dcbe00) at in_delmulti+0xd3 sys/netinet/in.c:908
ip_freemoptions(ffff8000006ba790) at ip_freemoptions+0x5d sys/netinet/ip_output.c:1737
in_pcbdetach(fffffd806ed65168) at in_pcbdetach+0x97 sys/netinet/in_pcb.c:606
udp_detach(fffffd806e5f4948) at udp_detach+0x3f sys/netinet/udp_usrreq.c:1139
soclose(fffffd806e5f4948,0) at soclose+0x80 pru_detach sys/sys/protosw.h:283 [inline]
soclose(fffffd806e5f4948,0) at soclose+0x80 sys/kern/uipc_socket.c:411
soo_close(fffffd807251a350,ffff80002a5d71f8) at soo_close+0x44
fdrop(fffffd807251a350,ffff80002a5d71f8) at fdrop+0xd5 sys/kern/kern_descrip.c:1274
closef(fffffd807251a350,ffff80002a5d71f8) at closef+0x11b sys/kern/kern_descrip.c:1258
fdfree(ffff80002a5d71f8) at fdfree+0xe3 sys/kern/kern_descrip.c:1190
exit1(ffff80002a5d71f8,0,0,1) at exit1+0x371 sys/kern/kern_exit.c:199
sys_exit(ffff80002a5d71f8,ffff80002a6650e0,ffff80002a665030) at sys_exit+0x1a sys/kern/kern_exit.c:89
syscall(ffff80002a6650e0) at syscall+0x72a sys/arch/amd64/amd64/trap.c:577
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f5796969dd0, 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> 
ddb> set $lines = 0
ddb> set $maxwidth = 0
ddb> show panic
*cpu0: uvm_fault(0xfffffd80074a6158, 0x4, 0, 1) -> e
ddb> trace
igmp_leavegroup(ffff800000dcbe00,ffff8000006ab000) at igmp_leavegroup+0xaf sys/netinet/igmp.c:512
in_delmulti(ffff800000dcbe00) at in_delmulti+0xd3 sys/netinet/in.c:908
ip_freemoptions(ffff8000006ba790) at ip_freemoptions+0x5d sys/netinet/ip_output.c:1737
in_pcbdetach(fffffd806ed65168) at in_pcbdetach+0x97 sys/netinet/in_pcb.c:606
udp_detach(fffffd806e5f4948) at udp_detach+0x3f sys/netinet/udp_usrreq.c:1139
soclose(fffffd806e5f4948,0) at soclose+0x80 pru_detach sys/sys/protosw.h:283 [inline]
soclose(fffffd806e5f4948,0) at soclose+0x80 sys/kern/uipc_socket.c:411
soo_close(fffffd807251a350,ffff80002a5d71f8) at soo_close+0x44
fdrop(fffffd807251a350,ffff80002a5d71f8) at fdrop+0xd5 sys/kern/kern_descrip.c:1274
closef(fffffd807251a350,ffff80002a5d71f8) at closef+0x11b sys/kern/kern_descrip.c:1258
fdfree(ffff80002a5d71f8) at fdfree+0xe3 sys/kern/kern_descrip.c:1190
exit1(ffff80002a5d71f8,0,0,1) at exit1+0x371 sys/kern/kern_exit.c:199
sys_exit(ffff80002a5d71f8,ffff80002a6650e0,ffff80002a665030) at sys_exit+0x1a sys/kern/kern_exit.c:89
syscall(ffff80002a6650e0) at syscall+0x72a sys/arch/amd64/amd64/trap.c:577
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f5796969dd0, count: -14
ddb> show registers
rdi                                0
rsi                                0
rbp               0xffff80002a664c80
rbx                              0x3
rdx                                0
rcx                              0x1
rax                                0
r8                              0x90
r9                               0x1
r10               0x9ef3a67c3d6258f9
r11               0xd1c026ab436aaa58
r12                                0
r13                              0x3
r14               0xffff800000dcbe00
r15               0xffff8000006ab000
rip               0xffffffff8212401f    igmp_leavegroup+0xaf
cs                               0x8
rflags                       0x10246    __ALIGN_SIZE+0xf246
rsp               0xffff80002a664c50
ss                              0x10
igmp_leavegroup+0xaf:   movl    0x4(%rax),%r12d
ddb> show proc
PROC (syz-executor3315967969) tid=99242 pid=92189 tcnt=1 stat=onproc
    flags process=8000008<EXITING> proc=2000<WEXIT>
    runpri=51, usrpri=51, slppri=24, nice=20
    wchan=0x0, wmesg=, ps_single=0x0
    forw=0xffffffffffffffff, list=0xffff80002a5d6f68,0xffffffff82d9cde0
    process=0xffff8000ffff6e20 user=0xffff80002a660000, vmspace=0xfffffd80074a6158
    estcpu=1, cpticks=0, pctcpu=0.0, user=0, sys=0, intr=0
ddb> ps
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
 79311  228595  28555      0  3   0x8000082  nanoslp       syz-executor3315967969
 28555  345265  44603      0  3   0x810008a  sigsusp       ksh
 44603  462161  80234      0  3  0x1800009a  kqread        sshd
 64025  473238      1      0  3  0x18100083  ttyin         getty
 80234  163259      1      0  3  0x18000088  kqread        sshd
 80326  431857  99520     73  3  0x19100090  kqread        syslogd
 99520  413985      1      0  3  0x18100082  sbwait        syslogd
 91323  230560      1      0  3  0x18100080  kqread        resolvd
  3039  338423  48347     77  3  0x18100092  kqread        dhcpleased
 23154  137822  48347     77  3  0x18100092  kqread        dhcpleased
 48347  393370      1      0  3  0x18000080  kqread        dhcpleased
 25344  469061      0      0  3     0x14200  bored         smr
 94621   30141      0      0  2     0x14200                zerothread
 35860  162655      0      0  3     0x14200  aiodoned      aiodoned
 99344  270525      0      0  3     0x14200  syncer        update
 74942  463036      0      0  3     0x14200  cleaner       cleaner
 17363  160214      0      0  3     0x14200  reaper        reaper
 54375   41460      0      0  3     0x14200  pgdaemon      pagedaemon
  3953   40450      0      0  3     0x14200  bored         viomb
 36774  152891      0      0  3  0x40014200  acpi0         acpi0
 12615  119697      0      0  3     0x14200  bored         softnet3
 42500   74475      0      0  3     0x14200  bored         softnet2
 72144   87449      0      0  3     0x14200  bored         softnet1
 22866  352107      0      0  3     0x14200  bored         softnet0
 68329  503570      0      0  3     0x14200  bored         systqmp
 76706  189639      0      0  3     0x14200  bored         systq
 10716  115604      0      0  3  0x40014200  tmoslp        softclock
 19542  418354      0      0  3  0x40014200                idle0
     1  122511      0      0  3   0x8000082  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 10131   6381K    6412K 166960K     11209        0
            pcb    15     10K      10K 166960K        15        0
         rtable    58      1K       2K 166960K       110        0
             pf    12      6K       6K 166960K        12        0
         ifaddr    11      5K       5K 166960K        11        0
        ifgroup    17      1K       1K 166960K        17        0
       counters    22     16K      16K 166960K        22        0
       ioctlops     0      0K       2K 166960K        21        0
          mount     1      1K       1K 166960K         1        0
            log     0      0K       0K 166960K         4        0
         vnodes  1259     79K      79K 166960K      1275        0
      UFS quota     1     32K      32K 166960K         1        0
      UFS mount     5     36K      36K 166960K         5        0
            shm     2      1K       1K 166960K         2        0
         VM map     2      1K       1K 166960K         2        0
            sem     2      0K       0K 166960K         2        0
        dirhash    12      2K       2K 166960K        12        0
           ACPI  1697    195K     286K 166960K     12548        0
      file desc     1      0K       0K 166960K         1        0
           proc    55     58K      59K 166960K       246        0
    NFS srvsock     1      0K       0K 166960K         1        0
     NFS daemon     1     16K      16K 166960K         1        0
    ip_moptions     2      0K       0K 166960K         2        0
       in_multi    12      0K       0K 166960K        12        0
    ether_multi     1      0K       0K 166960K         1        0
    ISOFS mount     1     32K      32K 166960K         1        0
  MSDOSFS mount     1     16K      16K 166960K         1        0
           ttys    25    122K     122K 166960K        25        0
           exec     0      0K       1K 166960K       243        0
            tdb     3      0K       0K 166960K         3        0
        VM swap     8     62K      64K 166960K        10        0
       UVM amap    96      4K       6K 166960K      2242        0
       UVM aobj     3      2K       2K 166960K         3        0
     pinsyscall    22     44K      48K 166960K       840        0
        memdesc     1      4K       4K 166960K         1        0
    crypto data     1      1K       1K 166960K         1        0
            NDP     3      0K       0K 166960K         3        0
           temp     1   6788K    6852K 166960K      2789        0
         kqueue    11     16K      18K 166960K        24        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       20    0       17     1     0     1     1     0     8    0
rtentry    112       23    0        1     1     0     1     1     0     8    0
unpcb      144       34    0       20     1     0     1     1     0     8    0
syncache   336        5    0        5     1     0     1     1     0     8    1
tcpqe       32      209    0      209     1     0     1     1     0     8    1
tcpcb      808        8    0        5     1     0     1     1     0     8    0
arp         88        2    0        0     1     0     1     1     0     8    0
inpcb      360       28    0       20     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
dino2pl    256     1502    0       40    92     0    92    92     0     8    0
ffsino     240     1502    0       40    86     0    86    86     0     8    0
nchpl      144     1686    0       47    61     0    61    61     0     8    0
uvmvnodes   80     1511    0        0    31     0    31    31     0     8    0
vnodes     216     1511    0        0    84     0    84    84     0     8    0
namei      1024    4341    0     4341     1     0     1     1     0     8    1
kstatmem   264        6    0        0     1     0     1     1     0     8    0
scxspl     216     5155    0     5155     2     0     2     2     1     8    2
plimitpl   152       16    0       10     1     0     1     1     0     8    0
sigapl     424      309    0      279     4     0     4     4     0     8    0
knotepl    120     3657    0     3628     2     0     2     2     0     8    1
kqueuepl   184       21    0       13     1     0     1     1     0     8    0
pipepl     288       87    0       84     1     0     1     1     0     8    0
fdescpl    432      293    0      279     2     0     2     2     0     8    0
filepl     120     1134    0     1077     2     0     2     2     0     8    0
lockfpl    104        6    0        4     1     0     1     1     0     8    0
lockfspl    48        4    0        2     1     0     1     1     0     8    0
sessionpl  144       17    0        9     1     0     1     1     0     8    0
pgrppl      48       17    0        9     1     0     1     1     0     8    0
ucredpl    104       66    0       56     1     0     1     1     0     8    0
zombiepl   144      280    0      279     1     0     1     1     0     8    0
processpl  1072     309    0      279     3     0     3     3     0     8    0
procpl     656      309    0      279     3     0     3     3     0     8    0
sockpl     472       82    0       57     4     0     4     4     0     8    0
mcl8k      8192       4    0        4     1     0     1     1     0     8    1
mcl4k      4096      10    0       10     1     0     1     1     0     8    1
mcl2k      2048   12334    0    12291    31    17    14    31     0     8    8
mtagpl      96        4    0        4     1     0     1     1     0     8    1
mbufpl     256    19845    0    19797    16     4    12    16     0     8    7
bufpl      280     2510    0       95   173     0   173   173     0     8    0
anonpl      24   184012    0   182235    23     0    23    23     0   188   11
amapchunkpl 152    8474    0     8342     7     0     7     7     0   158    1
amappl16   200     5344    0     5344     5     0     5     5     0     8    5
amappl15   192       11    0       11     1     0     1     1     0     8    1
amappl14   184      116    0      107     1     0     1     1     0     8    0
amappl13   176       10    0       10     1     0     1     1     0     8    1
amappl12   168      805    0      793     1     0     1     1     0     8    0
amappl11   160       84    0       74     1     0     1     1     0     8    0
amappl10   152       13    0       13     1     0     1     1     0     8    1
amappl9    144      157    0      157     1     0     1     1     0     8    1
amappl8    136       41    0       39     1     0     1     1     0     8    0
amappl7    128       15    0       14     1     0     1     1     0     8    0
amappl6    120      169    0      159     1     0     1     1     0     8    0
amappl5    112      119    0      107     1     0     1     1     0     8    0
amappl4    104      403    0      374     1     0     1     1     0     8    0
amappl3     96     2309    0     2285     1     0     1     1     0     8    0
amappl2     88      581    0      528     2     0     2     2     0     8    0
amappl1     80     8793    0     8392    10     0    10    10     0     8    1
amappl      88     1940    0     1890     2     0     2     2     0    92    0
dma4096    4096       1    0        1     1     0     1     1     0     8    1
dma1024    1024       1    0        0     1     0     1     1     0     8    0
dma256     256        6    0        6     1     0     1     1     0     8    1
dma128     128      253    0      253     1     0     1     1     0     8    1
dma64       64        6    0        6     1     0     1     1     0     8    1
dma32       32        7    0        7     1     0     1     1     0     8    1
dma16       16       18    0       17     1     0     1     1     0     8    0
aobjpl      72        2    0        0     1     0     1     1     0     8    0
uaddrrnd    24      293    0      279     1     0     1     1     0     8    0
uaddrbest   32        2    0        0     1     0     1     1     0     8    0
uaddr       24      293    0      279     1     0     1     1     0     8    0
vmmpekpl   168     5527    0     5511     1     0     1     1     0     8    0
vmmpepl    168    34636    0    33730    46     0    46    46     0   357    2
vmsppl     344      292    0      279     2     0     2     2     0     8    0
rwobjpl     24    19049    0    16941    14     0    14    14     0     8    1
pdppl      4096     592    0      558    48    14    34    40     0     8    0
pvpl        32   276129    0   272017    52     0    52    52     0   265   15
pmappl     216      292    0      279     1     0     1     1     0     8    0
extentpl    40       56    0       38     1     0     1     1     0     8    0
phpool     112      292    0       35     9     0     9     9     0     8    1
ddb> machine ddbcpu 0
No such command
ddb> trace
igmp_leavegroup(ffff800000dcbe00,ffff8000006ab000) at igmp_leavegroup+0xaf sys/netinet/igmp.c:512
in_delmulti(ffff800000dcbe00) at in_delmulti+0xd3 sys/netinet/in.c:908
ip_freemoptions(ffff8000006ba790) at ip_freemoptions+0x5d sys/netinet/ip_output.c:1737
in_pcbdetach(fffffd806ed65168) at in_pcbdetach+0x97 sys/netinet/in_pcb.c:606
udp_detach(fffffd806e5f4948) at udp_detach+0x3f sys/netinet/udp_usrreq.c:1139
soclose(fffffd806e5f4948,0) at soclose+0x80 pru_detach sys/sys/protosw.h:283 [inline]
soclose(fffffd806e5f4948,0) at soclose+0x80 sys/kern/uipc_socket.c:411
soo_close(fffffd807251a350,ffff80002a5d71f8) at soo_close+0x44
fdrop(fffffd807251a350,ffff80002a5d71f8) at fdrop+0xd5 sys/kern/kern_descrip.c:1274
closef(fffffd807251a350,ffff80002a5d71f8) at closef+0x11b sys/kern/kern_descrip.c:1258
fdfree(ffff80002a5d71f8) at fdfree+0xe3 sys/kern/kern_descrip.c:1190
exit1(ffff80002a5d71f8,0,0,1) at exit1+0x371 sys/kern/kern_exit.c:199
sys_exit(ffff80002a5d71f8,ffff80002a6650e0,ffff80002a665030) at sys_exit+0x1a sys/kern/kern_exit.c:89
syscall(ffff80002a6650e0) at syscall+0x72a sys/arch/amd64/amd64/trap.c:577
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f5796969dd0, count: -14
ddb> machine ddbcpu 1
No such command
ddb> trace
igmp_leavegroup(ffff800000dcbe00,ffff8000006ab000) at igmp_leavegroup+0xaf sys/netinet/igmp.c:512
in_delmulti(ffff800000dcbe00) at in_delmulti+0xd3 sys/netinet/in.c:908
ip_freemoptions(ffff8000006ba790) at ip_freemoptions+0x5d sys/netinet/ip_output.c:1737
in_pcbdetach(fffffd806ed65168) at in_pcbdetach+0x97 sys/netinet/in_pcb.c:606
udp_detach(fffffd806e5f4948) at udp_detach+0x3f sys/netinet/udp_usrreq.c:1139
soclose(fffffd806e5f4948,0) at soclose+0x80 pru_detach sys/sys/protosw.h:283 [inline]
soclose(fffffd806e5f4948,0) at soclose+0x80 sys/kern/uipc_socket.c:411
soo_close(fffffd807251a350,ffff80002a5d71f8) at soo_close+0x44
fdrop(fffffd807251a350,ffff80002a5d71f8) at fdrop+0xd5 sys/kern/kern_descrip.c:1274
closef(fffffd807251a350,ffff80002a5d71f8) at closef+0x11b sys/kern/kern_descrip.c:1258
fdfree(ffff80002a5d71f8) at fdfree+0xe3 sys/kern/kern_descrip.c:1190
exit1(ffff80002a5d71f8,0,0,1) at exit1+0x371 sys/kern/kern_exit.c:199
sys_exit(ffff80002a5d71f8,ffff80002a6650e0,ffff80002a665030) at sys_exit+0x1a sys/kern/kern_exit.c:89
syscall(ffff80002a6650e0) at syscall+0x72a sys/arch/amd64/amd64/trap.c:577
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f5796969dd0, count: -14

Crashes (12):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/11 03:09 openbsd d11f3b71804f 33b9e058 .config console log report syz C [disk image] [bsd.gdb] [kernel image] ci-openbsd-main uvm_fault: igmp_leavegroup
2024/04/11 20:19 openbsd 123b2274d92c 3023abf0 .config console log report ci-openbsd-main uvm_fault: igmp_leavegroup
2024/04/11 16:38 openbsd 123b2274d92c 3023abf0 .config console log report ci-openbsd-main uvm_fault: igmp_leavegroup
2024/04/11 16:19 openbsd 123b2274d92c 3023abf0 .config console log report ci-openbsd-multicore uvm_fault: igmp_leavegroup
2024/04/11 12:37 openbsd 123b2274d92c 3023abf0 .config console log report ci-openbsd-main uvm_fault: igmp_leavegroup
2024/04/11 07:56 openbsd d11f3b71804f 33b9e058 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-multicore uvm_fault: igmp_leavegroup
2024/04/11 06:00 openbsd d11f3b71804f 33b9e058 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-main uvm_fault: igmp_leavegroup
2024/04/11 01:02 openbsd d11f3b71804f 33b9e058 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-multicore uvm_fault: igmp_leavegroup
2024/04/10 23:19 openbsd d11f3b71804f 33b9e058 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-main uvm_fault: igmp_leavegroup
2024/04/10 19:57 openbsd ffe6655cba7d 7d74efd0 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-main uvm_fault: igmp_leavegroup
2024/04/10 19:46 openbsd ffe6655cba7d 7d74efd0 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-main uvm_fault: igmp_leavegroup
2024/04/10 07:03 openbsd 1e30b36946b4 171ec371 .config console log report ci-openbsd-multicore uvm_fault: igmp_leavegroup
* Struck through repros no longer work on HEAD.