syzbot


panic: rw_enter: solock locking against myself (2)

Status: auto-obsoleted due to no activity on 2024/04/07 19:27
Reported-by: syzbot+98889375a114b35f0717@syzkaller.appspotmail.com
First crash: 307d, last: 110d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
openbsd panic: rw_enter: solock locking against myself 5 578d 666d 0/3 auto-obsoleted due to no activity on 2022/12/26 22:02
Last patch testing requests (4)
Created Duration User Patch Repo Result
2024/03/18 19:28 15m retest repro openbsd OK log
2024/01/08 19:10 16m retest repro openbsd report log
2023/10/30 18:57 12m retest repro openbsd report log
2023/08/21 18:31 14m retest repro openbsd report log

Sample crash report:
panic: rw_enter: solock locking against myself
Stopped at      db_enter+0x1c:  addq    $0x8,%rsp
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
*370344  56681  32767        0x10  0x4000000    1K syz-executor.3
   6403  72085      0     0x14000      0x200    0  zerothread
db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff827dc239) at panic+0x17b sys/kern/subr_prf.c:198
rw_enter(fffffd806f0e13e0,1) at rw_enter+0x482 rw_enter_diag sys/kern/kern_rwlock.c:183 [inline]
rw_enter(fffffd806f0e13e0,1) at rw_enter+0x482 sys/kern/kern_rwlock.c:274
soisconnected(fffffd8069800050) at soisconnected+0x243 solock sys/kern/uipc_socket2.c:352 [inline]
soisconnected(fffffd8069800050) at soisconnected+0x243 sys/kern/uipc_socket2.c:111
unp_connect2(fffffd806f0e13d8,fffffd8069800050) at unp_connect2+0xca
unp_connect(fffffd806f0e13d8,fffffd806d212000,ffff8000212355e8) at unp_connect+0x46d sys/kern/uipc_usrreq.c:908
sys_connect(ffff8000212355e8,ffff8000212a1070,ffff8000212a10c0) at sys_connect+0x207 sys/kern/uipc_syscalls.c:422
syscall(ffff8000212a1140) at syscall+0x606 mi_syscall sys/sys/syscall_mi.h:110 [inline]
syscall(ffff8000212a1140) at syscall+0x606 sys/arch/amd64/amd64/trap.c:632
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xad453b621f0, count: 6
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
*cpu1: rw_enter: solock locking against myself
ddb{1}> trace
db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff827dc239) at panic+0x17b sys/kern/subr_prf.c:198
rw_enter(fffffd806f0e13e0,1) at rw_enter+0x482 rw_enter_diag sys/kern/kern_rwlock.c:183 [inline]
rw_enter(fffffd806f0e13e0,1) at rw_enter+0x482 sys/kern/kern_rwlock.c:274
soisconnected(fffffd8069800050) at soisconnected+0x243 solock sys/kern/uipc_socket2.c:352 [inline]
soisconnected(fffffd8069800050) at soisconnected+0x243 sys/kern/uipc_socket2.c:111
unp_connect2(fffffd806f0e13d8,fffffd8069800050) at unp_connect2+0xca
unp_connect(fffffd806f0e13d8,fffffd806d212000,ffff8000212355e8) at unp_connect+0x46d sys/kern/uipc_usrreq.c:908
sys_connect(ffff8000212355e8,ffff8000212a1070,ffff8000212a10c0) at sys_connect+0x207 sys/kern/uipc_syscalls.c:422
syscall(ffff8000212a1140) at syscall+0x606 mi_syscall sys/sys/syscall_mi.h:110 [inline]
syscall(ffff8000212a1140) at syscall+0x606 sys/arch/amd64/amd64/trap.c:632
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xad453b621f0, count: -9
ddb{1}> show registers
rdi                                0
rsi                              0x1
rbp               0xffff8000212a0ca0
rbx               0xffff800020d59b8f
rdx                            0x3fd
rcx                                0
rax                             0x2f
r8                 0x101010101010101
r9                0x8080808080808080
r10               0xaeb501b9592c2306
r11                0x24985fb9720657e
r12               0xffff800020d59990
r13                                0
r14                                0
r15                              0x1
rip               0xffffffff82078dac    db_enter+0x1c
cs                               0x8
rflags                         0x246
rsp               0xffff8000212a0c90
ss                              0x10
db_enter+0x1c:  addq    $0x8,%rsp
ddb{1}> show proc
PROC (syz-executor.3) pid=370344 stat=onproc
    flags process=10<SUGID> proc=4000000<THREAD>
    pri=32, usrpri=86, nice=20
    forw=0xffffffffffffffff, list=0xffff800021294858,0xffff8000211d98d8
    process=0xffff8000ffff65c8 user=0xffff80002129c000, vmspace=0xfffffd806953e3c8
    estcpu=36, cpticks=1, pctcpu=0.0
    user=0, sys=1, intr=0
ddb{1}> ps
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
 26040  436876  56921  32767  3        0x90  nanoslp       syz-executor.4
 26040  382218  56921  32767  3   0x4000090  fsleep        syz-executor.4
 26040  257063  56921  32767  3   0x4000090  fsleep        syz-executor.4
 26040  457494  56921  32767  3   0x4000090  fsleep        syz-executor.4
 56681  232549   7329  32767  2        0x10                syz-executor.3
*56681  370344   7329  32767  7   0x4000010                syz-executor.3
 56681  469444   7329  32767  3   0x4000090  fsleep        syz-executor.3
 56681  257411   7329  32767  3   0x4000090  fsleep        syz-executor.3
 66262  379399  75455  32767  2        0x10                syz-executor.5
 66262  132088  75455  32767  3   0x4000090  fsleep        syz-executor.5
 66262   59980  75455  32767  3   0x4000090  fsleep        syz-executor.5
 66262   77473  75455  32767  3   0x4000090  fsleep        syz-executor.5
 72159   57104  90130  32767  3        0x90  nanoslp       syz-executor.2
 75455  433846  38792  32767  3        0x90  nanoslp       syz-executor.5
 56916  284737  73907  32767  3        0x10  biowait       syz-executor.7
 73907  339099  86172      0  3        0x82  wait          syz-executor.7
 38792  176053  86172      0  3        0x82  wait          syz-executor.5
  3784   62031  50908  32767  3        0x90  nanoslp       syz-executor.1
 90130  171273  86172      0  3        0x82  wait          syz-executor.2
 50908  420043  86172      0  3        0x82  wait          syz-executor.1
 56921  297752  35827  32767  3        0x90  nanoslp       syz-executor.4
  7329  182262  49874  32767  3        0x90  nanoslp       syz-executor.3
 35827  489863  86172      0  3        0x82  wait          syz-executor.4
  7774  218422  29817  32767  3        0x10  biowait       syz-executor.6
 49874  218223  86172      0  3        0x82  wait          syz-executor.3
 29817  346327  86172      0  3        0x82  wait          syz-executor.6
 30546  378753  74915  32767  3        0x90  nanoslp       syz-executor.0
 74915   86982  86172      0  3        0x82  wait          syz-executor.0
 86172  435716  15998      0  3        0x82  thrsleep      syz-execprog
 86172  520224  15998      0  3   0x4000082  nanoslp       syz-execprog
 86172  208459  15998      0  3   0x4000082  wait          syz-execprog
 86172  137504  15998      0  3   0x4000082  wait          syz-execprog
 86172  141933  15998      0  3   0x4000082  wait          syz-execprog
 86172  330591  15998      0  3   0x4000082  thrsleep      syz-execprog
 86172  295182  15998      0  3   0x4000082  wait          syz-execprog
 86172  124673  15998      0  3   0x4000082  wait          syz-execprog
 86172  307622  15998      0  3   0x4000082  wait          syz-execprog
 86172  191646  15998      0  3   0x4000082  thrsleep      syz-execprog
 86172  523761  15998      0  3   0x4000082  wait          syz-execprog
 86172  289126  15998      0  3   0x4000082  kqread        syz-execprog
 86172  297228  15998      0  3   0x4000082  wait          syz-execprog
 86172  279157  15998      0  3   0x4000082  thrsleep      syz-execprog
 86172  279958  15998      0  3   0x4000082  thrsleep      syz-execprog
 86172  145092  15998      0  3   0x4000082  thrsleep      syz-execprog
 15998  165891  74593      0  3    0x10008a  sigsusp       ksh
 74593  147156  11346      0  3        0x9a  kqread        sshd
 23146  352669      1      0  3    0x100083  ttyin         getty
 11346   15057      1      0  3        0x88  kqread        sshd
 99353   59547   9963     73  3   0x1100090  kqread        syslogd
  9963  102066      1      0  3    0x100082  netio         syslogd
 60598  222466      1      0  3    0x100080  kqread        resolvd
 92191   93159  28671     77  3    0x100092  kqread        dhcpleased
 70087   48024  28671     77  3    0x100092  kqread        dhcpleased
 28671  357189      1      0  3        0x80  kqread        dhcpleased
 26897  371929      0      0  3     0x14200  bored         smr
 72085    6403      0      0  7     0x14200                zerothread
 78412  230325      0      0  3     0x14200  aiodoned      aiodoned
  7533  373109      0      0  3     0x14200  syncer        update
 20560  181823      0      0  3     0x14200  cleaner       cleaner
 36934  123221      0      0  3     0x14200  reaper        reaper
 36694  485937      0      0  3     0x14200  pgdaemon      pagedaemon
 82080  180703      0      0  3     0x14200  bored         viomb
 61626  213725      0      0  3  0x40014200  acpi0         acpi0
 41225  397307      0      0  3  0x40014200                idle1
 45648  289082      0      0  3     0x14200  bored         softnet3
 42655  519677      0      0  3     0x14200  bored         softnet2
 71229   92413      0      0  3     0x14200  bored         softnet1
 42931  327799      0      0  3     0x14200  bored         softnet0
 82618   30432      0      0  3     0x14200  bored         systqmp
 23301  380158      0      0  3     0x14200  bored         systq
 31919  437144      0      0  3  0x40014200  bored         softclock
 10000  390737      0      0  3  0x40014200                idle0
     1  358327      0      0  3        0x82  wait          init
     0       0     -1      0  3     0x10200  scheduler     swapper
ddb{1}> show all locks
Process 56681 (syz-executor.3) thread 0xffff8000212355e8 (370344)
exclusive rwlock solock r = 0 (0xfffffd806f0e13f0)
#0  witness_lock+0x44d
#1  unp_connect+0x395 sys/kern/uipc_usrreq.c:880
#2  sys_connect+0x207 sys/kern/uipc_syscalls.c:422
#3  syscall+0x606 mi_syscall sys/sys/syscall_mi.h:110 [inline]
#3  syscall+0x606 sys/arch/amd64/amd64/trap.c:632
#4  Xsyscall+0x128
exclusive rrwlock inode r = 0 (0xfffffd8072c7db38)
#0  witness_lock+0x44d
#1  rw_enter+0x3e5 sys/kern/kern_rwlock.c:310
#2  rrw_enter+0x8f sys/kern/kern_rwlock.c:465
#3  VOP_LOCK+0x8b sys/kern/vfs_vops.c:518
#4  vn_lock+0x84 sys/kern/vfs_vnops.c:564
#5  vget+0x200 sys/kern/vfs_subr.c:676
#6  ufs_ihashget+0x121 sys/ufs/ufs/ufs_ihash.c:119
#7  ffs_vget+0x7c sys/ufs/ffs/ffs_vfsops.c:1324
#8  ufs_lookup+0x122c sys/ufs/ufs/ufs_lookup.c:582
#9  VOP_LOOKUP+0x5c sys/kern/vfs_vops.c:85
#10 vfs_lookup+0x6f5 sys/kern/vfs_lookup.c:566
#11 namei+0x55a sys/kern/vfs_lookup.c:250
#12 unp_connect+0x1ce sys/kern/uipc_usrreq.c:841
#13 sys_connect+0x207 sys/kern/uipc_syscalls.c:422
#14 syscall+0x606 mi_syscall sys/sys/syscall_mi.h:110 [inline]
#14 syscall+0x606 sys/arch/amd64/amd64/trap.c:632
#15 Xsyscall+0x128
exclusive kernel_lock &kernel_lock r = 0 (0xffffffff82cd16d8)
#0  witness_lock+0x44d
#1  unp_connect+0x1c6 sys/kern/uipc_usrreq.c:841
#2  sys_connect+0x207 sys/kern/uipc_syscalls.c:422
#3  syscall+0x606 mi_syscall sys/sys/syscall_mi.h:110 [inline]
#3  syscall+0x606 sys/arch/amd64/amd64/trap.c:632
#4  Xsyscall+0x128
Process 56916 (syz-executor.7) thread 0xffff800021295080 (284737)
exclusive rrwlock inode r = 0 (0xfffffd8072c7d4d8)
#0  witness_lock+0x44d
#1  rw_enter+0x3e5 sys/kern/kern_rwlock.c:310
#2  rrw_enter+0x8f sys/kern/kern_rwlock.c:465
#3  VOP_LOCK+0x8b sys/kern/vfs_vops.c:518
#4  ufs_ihashins+0x46 sys/ufs/ufs/ufs_ihash.c:140
#5  ffs_vget+0x141 sys/ufs/ffs/ffs_vfsops.c:1353
#6  ffs_inode_alloc+0x1c2 sys/ufs/ffs/ffs_alloc.c:394
#7  ufs_mkdir+0xf8 sys/ufs/ufs/ufs_vnops.c:1149
#8  VOP_MKDIR+0xc3 sys/kern/vfs_vops.c:388
#9  domkdirat+0x125 sys/kern/vfs_syscalls.c:3074
#10 syscall+0x5e2 mi_syscall sys/sys/syscall_mi.h:110 [inline]
#10 syscall+0x5e2 sys/arch/amd64/amd64/trap.c:632
#11 Xsyscall+0x128
exclusive rrwlock inode r = 0 (0xfffffd8069a0e708)
#0  witness_lock+0x44d
#1  rw_enter+0x3e5 sys/kern/kern_rwlock.c:310
#2  rrw_enter+0x8f sys/kern/kern_rwlock.c:465
#3  VOP_LOCK+0x8b sys/kern/vfs_vops.c:518
#4  vn_lock+0x84 sys/kern/vfs_vnops.c:564
#5  vfs_lookup+0xd5 sys/kern/vfs_lookup.c:418
#6  namei+0x55a sys/kern/vfs_lookup.c:250
#7  domkdirat+0x79 sys/kern/vfs_syscalls.c:3059
#8  syscall+0x5e2 mi_syscall sys/sys/syscall_mi.h:110 [inline]
#8  syscall+0x5e2 sys/arch/amd64/amd64/trap.c:632
#9  Xsyscall+0x128
Process 7774 (syz-executor.6) thread 0xffff800021235330 (218422)
exclusive rrwlock inode r = 0 (0xfffffd8072c7d3c8)
#0  witness_lock+0x44d
#1  rw_enter+0x3e5 sys/kern/kern_rwlock.c:310
#2  rrw_enter+0x8f sys/kern/kern_rwlock.c:465
#3  VOP_LOCK+0x8b sys/kern/vfs_vops.c:518
#4  ufs_ihashins+0x46 sys/ufs/ufs/ufs_ihash.c:140
#5  ffs_vget+0x141 sys/ufs/ffs/ffs_vfsops.c:1353
#6  ffs_inode_alloc+0x1c2 sys/ufs/ffs/ffs_alloc.c:394
#7  ufs_mkdir+0xf8 sys/ufs/ufs/ufs_vnops.c:1149
#8  VOP_MKDIR+0xc3 sys/kern/vfs_vops.c:388
#9  domkdirat+0x125 sys/kern/vfs_syscalls.c:3074
#10 syscall+0x5e2 mi_syscall sys/sys/syscall_mi.h:110 [inline]
#10 syscall+0x5e2 sys/arch/amd64/amd64/trap.c:632
#11 Xsyscall+0x128
exclusive rrwlock inode r = 0 (0xfffffd8072c1a1b0)
#0  witness_lock+0x44d
#1  rw_enter+0x3e5 sys/kern/kern_rwlock.c:310
#2  rrw_enter+0x8f sys/kern/kern_rwlock.c:465
#3  VOP_LOCK+0x8b sys/kern/vfs_vops.c:518
#4  vn_lock+0x84 sys/kern/vfs_vnops.c:564
#5  vfs_lookup+0xd5 sys/kern/vfs_lookup.c:418
#6  namei+0x55a sys/kern/vfs_lookup.c:250
#7  domkdirat+0x79 sys/kern/vfs_syscalls.c:3059
#8  syscall+0x5e2 mi_syscall sys/sys/syscall_mi.h:110 [inline]
#8  syscall+0x5e2 sys/arch/amd64/amd64/trap.c:632
#9  Xsyscall+0x128
ddb{1}> show malloc
           Type InUse  MemUse  HighUse   Limit  Requests Type Lim
         devbuf 10171   6406K    6419K  78643K     11261        0
            pcb    13      8K       8K  78643K        13        0
         rtable   234      6K       6K  78643K       350        0
         ifaddr    73     24K      24K  78643K        75        0
       counters    60     35K      35K  78643K        60        0
       ioctlops     0      0K       2K  78643K        29        0
          mount     1      1K       1K  78643K         1        0
            log     0      0K       0K  78643K         4        0
         vnodes  1174     73K      74K  78643K      1187        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  1697    195K     286K  78643K     12548        0
      file desc    21     77K     117K  78643K     16645        0
           proc    56     78K     103K  78643K       471        0
    NFS srvsock     1      0K       0K  78643K         1        0
     NFS daemon     1     16K      16K  78643K         1        0
       in_multi    99      6K       6K  78643K        99        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    25    122K     122K  78643K        25        0
           exec     0      0K       1K  78643K       364        0
            tdb     3      0K       0K  78643K         3        0
        pagedep     1      8K       8K  78643K         1        0
       inodedep     1     32K      32K  78643K         1        0
         newblk     1      0K       0K  78643K         1        0
        VM swap     8     62K      64K  78643K        10        0
       UVM amap   280     77K      79K  78643K    206935        0
       UVM aobj     3      2K       2K  78643K         3        0
        memdesc     1      4K       4K  78643K         1        0
    crypto data     1      1K       1K  78643K         1        0
            NDP    11      0K       2K  78643K        27        0
           temp    51   5850K    5914K  78643K     37012        0
         kqueue    12     18K      18K  78643K        25        0
      SYN cache     2     16K      16K  78643K         2        0
ddb{1}> 

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/06/25 20:41 openbsd 55a13683696a 79782afc .config console log report syz [disk image] [bsd.gdb] [kernel image] ci-openbsd-setuid panic: rw_enter: solock locking against myself
2023/08/02 11:18 openbsd 9e19e53abc91 df07ffe8 .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-setuid panic: rw_enter: solock locking against myself
2023/06/25 19:24 openbsd 55a13683696a 79782afc .config console log report [disk image] [bsd.gdb] [kernel image] ci-openbsd-setuid panic: rw_enter: solock locking against myself
* Struck through repros no longer work on HEAD.