syzbot


possible deadlock in io_uring_mmap

Status: upstream: reported on 2025/03/11 22:53
Subsystems: io-uring
[Documentation on labels]
Reported-by: syzbot+96c4c7891428e8c9ac1a@syzkaller.appspotmail.com
First crash: 4d12h, last: 4d12h
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [io-uring?] possible deadlock in io_uring_mmap 0 (1) 2025/03/11 22:53

Sample crash report:
======================================================
WARNING: possible circular locking dependency detected
6.14.0-rc5-syzkaller-g77c95b8c7a16 #0 Not tainted
------------------------------------------------------
syz.3.85/7036 is trying to acquire lock:
ffff0000cf4f89b8 (&vma->vm_lock->lock){++++}-{4:4}, at: vma_start_write include/linux/mm.h:770 [inline]
ffff0000cf4f89b8 (&vma->vm_lock->lock){++++}-{4:4}, at: vm_flags_set include/linux/mm.h:900 [inline]
ffff0000cf4f89b8 (&vma->vm_lock->lock){++++}-{4:4}, at: io_region_mmap io_uring/memmap.c:312 [inline]
ffff0000cf4f89b8 (&vma->vm_lock->lock){++++}-{4:4}, at: io_uring_mmap+0x37c/0x504 io_uring/memmap.c:339

but task is already holding lock:
ffff0000f51da8d8 (&ctx->mmap_lock){+.+.}-{4:4}, at: class_mutex_constructor include/linux/mutex.h:201 [inline]
ffff0000f51da8d8 (&ctx->mmap_lock){+.+.}-{4:4}, at: io_uring_mmap+0x100/0x504 io_uring/memmap.c:325

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #9 (&ctx->mmap_lock){+.+.}-{4:4}:
       __mutex_lock_common+0x1f0/0x24b8 kernel/locking/mutex.c:585
       __mutex_lock kernel/locking/mutex.c:730 [inline]
       mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:782
       class_mutex_constructor include/linux/mutex.h:201 [inline]
       io_uring_get_unmapped_area+0x84/0x348 io_uring/memmap.c:357
       __get_unmapped_area+0x1d8/0x364 mm/mmap.c:846
       do_mmap+0x4a8/0x1150 mm/mmap.c:409
       vm_mmap_pgoff+0x228/0x3c4 mm/util.c:575
       ksys_mmap_pgoff+0x3a4/0x5c8 mm/mmap.c:607
       __do_sys_mmap arch/arm64/kernel/sys.c:28 [inline]
       __se_sys_mmap arch/arm64/kernel/sys.c:21 [inline]
       __arm64_sys_mmap+0xf8/0x110 arch/arm64/kernel/sys.c:21
       __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
       invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
       el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
       do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
       el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744
       el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762
       el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600

-> #8 (&mm->mmap_lock){++++}-{4:4}:
       __might_fault+0xc4/0x124 mm/memory.c:6851
       drm_mode_object_get_properties+0x208/0x540 drivers/gpu/drm/drm_mode_object.c:407
       drm_mode_obj_get_properties_ioctl+0x2bc/0x4fc drivers/gpu/drm/drm_mode_object.c:459
       drm_ioctl_kernel+0x26c/0x368 drivers/gpu/drm/drm_ioctl.c:796
       drm_ioctl+0x6a0/0xb98 drivers/gpu/drm/drm_ioctl.c:893
       vfs_ioctl fs/ioctl.c:51 [inline]
       __do_sys_ioctl fs/ioctl.c:906 [inline]
       __se_sys_ioctl fs/ioctl.c:892 [inline]
       __arm64_sys_ioctl+0x14c/0x1cc fs/ioctl.c:892
       __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
       invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
       el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
       do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
       el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744
       el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762
       el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600

-> #7 (crtc_ww_class_mutex){+.+.}-{4:4}:
       ww_acquire_init include/linux/ww_mutex.h:162 [inline]
       drm_modeset_acquire_init+0x1e4/0x384 drivers/gpu/drm/drm_modeset_lock.c:250
       drmm_mode_config_init+0xb98/0x130c drivers/gpu/drm/drm_mode_config.c:462
       vkms_modeset_init drivers/gpu/drm/vkms/vkms_drv.c:155 [inline]
       vkms_create drivers/gpu/drm/vkms/vkms_drv.c:216 [inline]
       vkms_init+0x2fc/0x5fc drivers/gpu/drm/vkms/vkms_drv.c:253
       do_one_initcall+0x254/0xaa4 init/main.c:1257
       do_initcall_level+0x154/0x214 init/main.c:1319
       do_initcalls+0x84/0xf4 init/main.c:1335
       do_basic_setup+0x8c/0xa0 init/main.c:1354
       kernel_init_freeable+0x324/0x478 init/main.c:1568
       kernel_init+0x24/0x2a0 init/main.c:1457
       ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862

-> #6 (crtc_ww_class_acquire){+.+.}-{0:0}:
       ww_acquire_init include/linux/ww_mutex.h:161 [inline]
       drm_modeset_acquire_init+0x1c4/0x384 drivers/gpu/drm/drm_modeset_lock.c:250
       drm_client_modeset_commit_atomic+0xd8/0x724 drivers/gpu/drm/drm_client_modeset.c:1018
       drm_client_modeset_commit_locked+0xd0/0x4a8 drivers/gpu/drm/drm_client_modeset.c:1182
       drm_client_modeset_commit+0x50/0x7c drivers/gpu/drm/drm_client_modeset.c:1208
       __drm_fb_helper_restore_fbdev_mode_unlocked+0xd4/0x178 drivers/gpu/drm/drm_fb_helper.c:237
       drm_fb_helper_set_par+0xc4/0x110 drivers/gpu/drm/drm_fb_helper.c:1351
       fbcon_init+0xf34/0x1eb8 drivers/video/fbdev/core/fbcon.c:1113
       visual_init+0x27c/0x548 drivers/tty/vt/vt.c:1011
       do_bind_con_driver+0x7dc/0xe04 drivers/tty/vt/vt.c:3831
       do_take_over_console+0x4ac/0x5f0 drivers/tty/vt/vt.c:4397
       do_fbcon_takeover+0x158/0x260 drivers/video/fbdev/core/fbcon.c:549
       do_fb_registered drivers/video/fbdev/core/fbcon.c:2988 [inline]
       fbcon_fb_registered+0x370/0x4ec drivers/video/fbdev/core/fbcon.c:3008
       do_register_framebuffer drivers/video/fbdev/core/fbmem.c:449 [inline]
       register_framebuffer+0x470/0x610 drivers/video/fbdev/core/fbmem.c:515
       __drm_fb_helper_initial_config_and_unlock+0x1334/0x1880 drivers/gpu/drm/drm_fb_helper.c:1843
       drm_fb_helper_initial_config+0x48/0x64 drivers/gpu/drm/drm_fb_helper.c:1908
       drm_fbdev_client_hotplug+0x158/0x22c drivers/gpu/drm/clients/drm_fbdev_client.c:52
       drm_client_register+0x144/0x1e0 drivers/gpu/drm/drm_client.c:140
       drm_fbdev_client_setup+0x1a4/0x39c drivers/gpu/drm/clients/drm_fbdev_client.c:159
       drm_client_setup+0x78/0x140 drivers/gpu/drm/clients/drm_client_setup.c:39
       vkms_create drivers/gpu/drm/vkms/vkms_drv.c:227 [inline]
       vkms_init+0x4ec/0x5fc drivers/gpu/drm/vkms/vkms_drv.c:253
       do_one_initcall+0x254/0xaa4 init/main.c:1257
       do_initcall_level+0x154/0x214 init/main.c:1319
       do_initcalls+0x84/0xf4 init/main.c:1335
       do_basic_setup+0x8c/0xa0 init/main.c:1354
       kernel_init_freeable+0x324/0x478 init/main.c:1568
       kernel_init+0x24/0x2a0 init/main.c:1457
       ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862

-> #5 (&client->modeset_mutex){+.+.}-{4:4}:
       __mutex_lock_common+0x1f0/0x24b8 kernel/locking/mutex.c:585
       __mutex_lock kernel/locking/mutex.c:730 [inline]
       mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:782
       drm_client_modeset_probe+0x300/0x3cb0 drivers/gpu/drm/drm_client_modeset.c:843
       __drm_fb_helper_initial_config_and_unlock+0x100/0x1880 drivers/gpu/drm/drm_fb_helper.c:1820
       drm_fb_helper_initial_config+0x48/0x64 drivers/gpu/drm/drm_fb_helper.c:1908
       drm_fbdev_client_hotplug+0x158/0x22c drivers/gpu/drm/clients/drm_fbdev_client.c:52
       drm_client_register+0x144/0x1e0 drivers/gpu/drm/drm_client.c:140
       drm_fbdev_client_setup+0x1a4/0x39c drivers/gpu/drm/clients/drm_fbdev_client.c:159
       drm_client_setup+0x78/0x140 drivers/gpu/drm/clients/drm_client_setup.c:39
       vkms_create drivers/gpu/drm/vkms/vkms_drv.c:227 [inline]
       vkms_init+0x4ec/0x5fc drivers/gpu/drm/vkms/vkms_drv.c:253
       do_one_initcall+0x254/0xaa4 init/main.c:1257
       do_initcall_level+0x154/0x214 init/main.c:1319
       do_initcalls+0x84/0xf4 init/main.c:1335
       do_basic_setup+0x8c/0xa0 init/main.c:1354
       kernel_init_freeable+0x324/0x478 init/main.c:1568
       kernel_init+0x24/0x2a0 init/main.c:1457
       ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862

-> #4 (&helper->lock){+.+.}-{4:4}:
       __mutex_lock_common+0x1f0/0x24b8 kernel/locking/mutex.c:585
       __mutex_lock kernel/locking/mutex.c:730 [inline]
       mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:782
       __drm_fb_helper_restore_fbdev_mode_unlocked+0xb4/0x178 drivers/gpu/drm/drm_fb_helper.c:228
       drm_fb_helper_set_par+0xc4/0x110 drivers/gpu/drm/drm_fb_helper.c:1351
       fbcon_init+0xf34/0x1eb8 drivers/video/fbdev/core/fbcon.c:1113
       visual_init+0x27c/0x548 drivers/tty/vt/vt.c:1011
       do_bind_con_driver+0x7dc/0xe04 drivers/tty/vt/vt.c:3831
       do_take_over_console+0x4ac/0x5f0 drivers/tty/vt/vt.c:4397
       do_fbcon_takeover+0x158/0x260 drivers/video/fbdev/core/fbcon.c:549
       do_fb_registered drivers/video/fbdev/core/fbcon.c:2988 [inline]
       fbcon_fb_registered+0x370/0x4ec drivers/video/fbdev/core/fbcon.c:3008
       do_register_framebuffer drivers/video/fbdev/core/fbmem.c:449 [inline]
       register_framebuffer+0x470/0x610 drivers/video/fbdev/core/fbmem.c:515
       __drm_fb_helper_initial_config_and_unlock+0x1334/0x1880 drivers/gpu/drm/drm_fb_helper.c:1843
       drm_fb_helper_initial_config+0x48/0x64 drivers/gpu/drm/drm_fb_helper.c:1908
       drm_fbdev_client_hotplug+0x158/0x22c drivers/gpu/drm/clients/drm_fbdev_client.c:52
       drm_client_register+0x144/0x1e0 drivers/gpu/drm/drm_client.c:140
       drm_fbdev_client_setup+0x1a4/0x39c drivers/gpu/drm/clients/drm_fbdev_client.c:159
       drm_client_setup+0x78/0x140 drivers/gpu/drm/clients/drm_client_setup.c:39
       vkms_create drivers/gpu/drm/vkms/vkms_drv.c:227 [inline]
       vkms_init+0x4ec/0x5fc drivers/gpu/drm/vkms/vkms_drv.c:253
       do_one_initcall+0x254/0xaa4 init/main.c:1257
       do_initcall_level+0x154/0x214 init/main.c:1319
       do_initcalls+0x84/0xf4 init/main.c:1335
       do_basic_setup+0x8c/0xa0 init/main.c:1354
       kernel_init_freeable+0x324/0x478 init/main.c:1568
       kernel_init+0x24/0x2a0 init/main.c:1457
       ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862

-> #3 (console_lock){+.+.}-{0:0}:
       console_lock+0x19c/0x1f4 kernel/printk/printk.c:2833
       __bch2_print_string_as_lines fs/bcachefs/util.c:267 [inline]
       bch2_print_string_as_lines+0x2c/0xd4 fs/bcachefs/util.c:286
       bch2_print_str+0x90/0xcc fs/bcachefs/super.c:102
       bch2_dump_trans_updates+0xf4/0x160 fs/bcachefs/btree_iter.c:1516
       bch2_bucket_ref_update+0xfc0/0x1390 fs/bcachefs/buckets.c:485
       __mark_pointer fs/bcachefs/buckets.c:550 [inline]
       bch2_trigger_pointer fs/bcachefs/buckets.c:589 [inline]
       __trigger_extent+0x1150/0x46dc fs/bcachefs/buckets.c:736
       bch2_trigger_extent+0x474/0x814 fs/bcachefs/buckets.c:865
       bch2_key_trigger fs/bcachefs/bkey_methods.h:88 [inline]
       bch2_key_trigger_old fs/bcachefs/bkey_methods.h:102 [inline]
       run_one_trans_trigger fs/bcachefs/btree_trans_commit.c:511 [inline]
       run_btree_triggers+0x6bc/0xe10 fs/bcachefs/btree_trans_commit.c:540
       bch2_trans_commit_run_triggers fs/bcachefs/btree_trans_commit.c:573 [inline]
       __bch2_trans_commit+0x210/0x6190 fs/bcachefs/btree_trans_commit.c:1010
       bch2_trans_commit fs/bcachefs/btree_update.h:183 [inline]
       bch2_extent_update+0x3d0/0x9b4 fs/bcachefs/io_write.c:326
       bch2_remap_range+0x193c/0x304c fs/bcachefs/reflink.c:715
       bch2_remap_file_range+0x9d4/0xcc8 fs/bcachefs/fs-io.c:916
       vfs_clone_file_range+0x69c/0xc58 fs/remap_range.c:403
       ioctl_file_clone fs/ioctl.c:240 [inline]
       ioctl_file_clone_range fs/ioctl.c:258 [inline]
       do_vfs_ioctl+0x1708/0x2724 fs/ioctl.c:853
       __do_sys_ioctl fs/ioctl.c:904 [inline]
       __se_sys_ioctl fs/ioctl.c:892 [inline]
       __arm64_sys_ioctl+0xe4/0x1cc fs/ioctl.c:892
       __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
       invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
       el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
       do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
       el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744
       el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762
       el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600

-> #2 (bcachefs_btree){+.+.}-{0:0}:
       trans_set_locked+0x88/0x1a4 fs/bcachefs/btree_locking.h:198
       bch2_trans_begin+0x6fc/0x980 fs/bcachefs/btree_iter.c:3305
       bchfs_read+0x1dc/0x1dc0 fs/bcachefs/fs-io-buffered.c:161
       bch2_readahead+0xafc/0xed4 fs/bcachefs/fs-io-buffered.c:291
       read_pages+0x150/0x4f0 mm/readahead.c:161
       page_cache_ra_order+0x7d0/0xb8c mm/readahead.c:516
       do_sync_mmap_readahead+0x3d8/0x890
       filemap_fault+0x69c/0x1518 mm/filemap.c:3447
       bch2_page_fault+0x34c/0x808 fs/bcachefs/fs-io-pagecache.c:594
       __do_fault+0xf8/0x498 mm/memory.c:4988
       do_read_fault mm/memory.c:5403 [inline]
       do_fault mm/memory.c:5537 [inline]
       do_pte_missing mm/memory.c:4058 [inline]
       handle_pte_fault+0x3504/0x57b0 mm/memory.c:5900
       __handle_mm_fault mm/memory.c:6043 [inline]
       handle_mm_fault+0xfa8/0x188c mm/memory.c:6212
       faultin_page mm/gup.c:1196 [inline]
       __get_user_pages+0x1878/0x3400 mm/gup.c:1491
       populate_vma_page_range+0x220/0x2f0 mm/gup.c:1929
       __mm_populate+0x240/0x3d8 mm/gup.c:2032
       mm_populate include/linux/mm.h:3386 [inline]
       vm_mmap_pgoff+0x304/0x3c4 mm/util.c:580
       ksys_mmap_pgoff+0x3a4/0x5c8 mm/mmap.c:607
       __do_sys_mmap arch/arm64/kernel/sys.c:28 [inline]
       __se_sys_mmap arch/arm64/kernel/sys.c:21 [inline]
       __arm64_sys_mmap+0xf8/0x110 arch/arm64/kernel/sys.c:21
       __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
       invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
       el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
       do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
       el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744
       el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762
       el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600

-> #1 (mapping.invalidate_lock#5){.+.+}-{4:4}:
       down_read+0x58/0x2fc kernel/locking/rwsem.c:1524
       filemap_invalidate_lock_shared include/linux/fs.h:932 [inline]
       filemap_fault+0x524/0x1518 mm/filemap.c:3435
       bch2_page_fault+0x34c/0x808 fs/bcachefs/fs-io-pagecache.c:594
       __do_fault+0xf8/0x498 mm/memory.c:4988
       do_shared_fault mm/memory.c:5467 [inline]
       do_fault mm/memory.c:5541 [inline]
       do_pte_missing mm/memory.c:4058 [inline]
       handle_pte_fault+0x1348/0x57b0 mm/memory.c:5900
       __handle_mm_fault mm/memory.c:6043 [inline]
       handle_mm_fault+0xfa8/0x188c mm/memory.c:6212
       do_page_fault+0x408/0x10ac arch/arm64/mm/fault.c:647
       do_translation_fault+0xc4/0x114 arch/arm64/mm/fault.c:783
       do_mem_abort+0x74/0x200 arch/arm64/mm/fault.c:919
       el0_da+0x60/0x178 arch/arm64/kernel/entry-common.c:604
       el0t_64_sync_handler+0xcc/0x108 arch/arm64/kernel/entry-common.c:765
       el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600

-> #0 (&vma->vm_lock->lock){++++}-{4:4}:
       check_prev_add kernel/locking/lockdep.c:3163 [inline]
       check_prevs_add kernel/locking/lockdep.c:3282 [inline]
       validate_chain kernel/locking/lockdep.c:3906 [inline]
       __lock_acquire+0x34f0/0x7904 kernel/locking/lockdep.c:5228
       lock_acquire+0x23c/0x724 kernel/locking/lockdep.c:5851
       down_write+0x50/0xc0 kernel/locking/rwsem.c:1577
       vma_start_write include/linux/mm.h:770 [inline]
       vm_flags_set include/linux/mm.h:900 [inline]
       io_region_mmap io_uring/memmap.c:312 [inline]
       io_uring_mmap+0x37c/0x504 io_uring/memmap.c:339
       call_mmap include/linux/fs.h:2245 [inline]
       mmap_file mm/internal.h:124 [inline]
       __mmap_new_file_vma mm/vma.c:2292 [inline]
       __mmap_new_vma mm/vma.c:2356 [inline]
       __mmap_region mm/vma.c:2457 [inline]
       mmap_region+0x1ae0/0x2518 mm/vma.c:2535
       do_mmap+0xbc8/0x1150 mm/mmap.c:561
       vm_mmap_pgoff+0x228/0x3c4 mm/util.c:575
       ksys_mmap_pgoff+0x3a4/0x5c8 mm/mmap.c:607
       __do_sys_mmap arch/arm64/kernel/sys.c:28 [inline]
       __se_sys_mmap arch/arm64/kernel/sys.c:21 [inline]
       __arm64_sys_mmap+0xf8/0x110 arch/arm64/kernel/sys.c:21
       __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
       invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
       el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
       do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
       el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744
       el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762
       el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600

other info that might help us debug this:

Chain exists of:
  &vma->vm_lock->lock --> &mm->mmap_lock --> &ctx->mmap_lock

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&ctx->mmap_lock);
                               lock(&mm->mmap_lock);
                               lock(&ctx->mmap_lock);
  lock(&vma->vm_lock->lock);

 *** DEADLOCK ***

2 locks held by syz.3.85/7036:
 #0: ffff0000c2fc45d0 (&mm->mmap_lock){++++}-{4:4}, at: mmap_write_lock_killable include/linux/mmap_lock.h:152 [inline]
 #0: ffff0000c2fc45d0 (&mm->mmap_lock){++++}-{4:4}, at: vm_mmap_pgoff+0x154/0x3c4 mm/util.c:573
 #1: ffff0000f51da8d8 (&ctx->mmap_lock){+.+.}-{4:4}, at: class_mutex_constructor include/linux/mutex.h:201 [inline]
 #1: ffff0000f51da8d8 (&ctx->mmap_lock){+.+.}-{4:4}, at: io_uring_mmap+0x100/0x504 io_uring/memmap.c:325

stack backtrace:
CPU: 0 UID: 0 PID: 7036 Comm: syz.3.85 Not tainted 6.14.0-rc5-syzkaller-g77c95b8c7a16 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call trace:
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:466 (C)
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:120
 dump_stack+0x1c/0x28 lib/dump_stack.c:129
 print_circular_bug+0x154/0x1c0 kernel/locking/lockdep.c:2076
 check_noncircular+0x310/0x404 kernel/locking/lockdep.c:2208
 check_prev_add kernel/locking/lockdep.c:3163 [inline]
 check_prevs_add kernel/locking/lockdep.c:3282 [inline]
 validate_chain kernel/locking/lockdep.c:3906 [inline]
 __lock_acquire+0x34f0/0x7904 kernel/locking/lockdep.c:5228
 lock_acquire+0x23c/0x724 kernel/locking/lockdep.c:5851
 down_write+0x50/0xc0 kernel/locking/rwsem.c:1577
 vma_start_write include/linux/mm.h:770 [inline]
 vm_flags_set include/linux/mm.h:900 [inline]
 io_region_mmap io_uring/memmap.c:312 [inline]
 io_uring_mmap+0x37c/0x504 io_uring/memmap.c:339
 call_mmap include/linux/fs.h:2245 [inline]
 mmap_file mm/internal.h:124 [inline]
 __mmap_new_file_vma mm/vma.c:2292 [inline]
 __mmap_new_vma mm/vma.c:2356 [inline]
 __mmap_region mm/vma.c:2457 [inline]
 mmap_region+0x1ae0/0x2518 mm/vma.c:2535
 do_mmap+0xbc8/0x1150 mm/mmap.c:561
 vm_mmap_pgoff+0x228/0x3c4 mm/util.c:575
 ksys_mmap_pgoff+0x3a4/0x5c8 mm/mmap.c:607
 __do_sys_mmap arch/arm64/kernel/sys.c:28 [inline]
 __se_sys_mmap arch/arm64/kernel/sys.c:21 [inline]
 __arm64_sys_mmap+0xf8/0x110 arch/arm64/kernel/sys.c:21
 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744
 el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/03/07 22:45 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 77c95b8c7a16 7e3bd60d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in io_uring_mmap
* Struck through repros no longer work on HEAD.