[syzbot] [kernel?] KCSAN: data-race in mas_wr_store_entry / mtree_load

0 views
Skip to first unread message

syzbot

unread,
2:43 AM (5 hours ago) 2:43 AM
to linux-...@vger.kernel.org, syzkall...@googlegroups.com, tg...@kernel.org
Hello,

syzbot found the following issue on:

HEAD commit: 0ce37745d4bf Merge tag 'block-7.2-20260724' of git://git.k..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=13c6909e580000
kernel config: https://syzkaller.appspot.com/x/.config?x=84b3039e8461eef5
dashboard link: https://syzkaller.appspot.com/bug?extid=caa2ebc5f1f594970675
compiler: Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/82454ebb316b/disk-0ce37745.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/728ae5f54b86/vmlinux-0ce37745.xz
kernel image: https://storage.googleapis.com/syzbot-assets/4ce26f3067dd/bzImage-0ce37745.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+caa2eb...@syzkaller.appspotmail.com

virtio_scsi virtio0: 1/0/0 default/read/poll queues
==================================================================
BUG: KCSAN: data-race in mas_wr_store_entry / mtree_load

write to 0xffff88810cd6dc00 of 8 bytes by task 3544 on cpu 1:
mte_set_node_dead lib/maple_tree.c:299 [inline]
mas_put_in_tree lib/maple_tree.c:1579 [inline]
mas_replace_node lib/maple_tree.c:1594 [inline]
mas_wr_node_store lib/maple_tree.c:3201 [inline]
mas_wr_store_entry+0x3b95/0x5a90 lib/maple_tree.c:3531
mas_store_gfp+0x5cd/0x6c0 lib/maple_tree.c:4905
irq_insert_desc kernel/irq/irqdesc.c:195 [inline]
alloc_descs kernel/irq/irqdesc.c:531 [inline]
__irq_alloc_descs+0x361/0x4d0 kernel/irq/irqdesc.c:922
irq_domain_alloc_descs kernel/irq/irqdomain.c:-1 [inline]
irq_domain_alloc_irqs_locked+0x89/0x6d0 kernel/irq/irqdomain.c:1639
__irq_domain_alloc_irqs+0x80/0xd0 kernel/irq/irqdomain.c:1711
__msi_domain_alloc_irqs+0x435/0xa00 kernel/irq/msi.c:1336
__msi_domain_alloc_locked kernel/irq/msi.c:1393 [inline]
msi_domain_alloc_locked+0x357/0x3e0 kernel/irq/msi.c:1398
msi_domain_alloc_irqs_all_locked+0xd2/0x110 kernel/irq/msi.c:1474
pci_msi_setup_msi_irqs+0x7a/0x90 drivers/pci/msi/irqdomain.c:17
__msix_setup_interrupts drivers/pci/msi/msi.c:687 [inline]
msix_setup_interrupts drivers/pci/msi/msi.c:708 [inline]
msix_capability_init+0x566/0x960 drivers/pci/msi/msi.c:748
__pci_enable_msix_range+0x41d/0x4b0 drivers/pci/msi/msi.c:856
pci_alloc_irq_vectors_affinity+0xac/0x1e0 drivers/pci/msi/api.c:268
vp_request_msix_vectors drivers/virtio/virtio_pci_common.c:157 [inline]
vp_find_vqs_msix+0x3f0/0x8b0 drivers/virtio/virtio_pci_common.c:414
vp_find_vqs+0x4a/0x490 drivers/virtio/virtio_pci_common.c:524
virtio_find_vqs include/linux/virtio_config.h:298 [inline]
virtio_find_single_vq include/linux/virtio_config.h:309 [inline]
probe_common+0x1e8/0x3c0 drivers/char/hw_random/virtio-rng.c:177
virtrng_restore+0x1a/0xc0 drivers/char/hw_random/virtio-rng.c:243
virtio_device_restore_priv+0x23c/0x410 drivers/virtio/virtio.c:633
virtio_device_restore+0x1a/0x30 drivers/virtio/virtio.c:680
virtio_pci_restore drivers/virtio/virtio_pci_common.c:621 [inline]
virtio_pci_resume+0xfa/0x140 drivers/virtio/virtio_pci_common.c:648
pci_pm_resume+0x160/0x340 drivers/pci/pci-driver.c:1042
dpm_run_callback+0x53/0x2f0 drivers/base/power/main.c:510
device_resume+0x76f/0x7a0 drivers/base/power/main.c:1178
async_resume+0x2c/0x40 drivers/base/power/main.c:1201
async_run_entry_fn+0x52/0x180 kernel/async.c:129
process_one_work kernel/workqueue.c:3322 [inline]
process_scheduled_works+0x4d4/0x9a0 kernel/workqueue.c:3405
worker_thread+0x569/0x750 kernel/workqueue.c:3486
kthread+0x221/0x270 kernel/kthread.c:436
ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

read to 0xffff88810cd6dc00 of 8 bytes by task 5229 on cpu 0:
ma_dead_node lib/maple_tree.c:544 [inline]
mtree_lookup_walk lib/maple_tree.c:2988 [inline]
mtree_load+0x3fd/0x600 lib/maple_tree.c:5668
irq_to_desc+0x1a/0x30 kernel/irq/irqdesc.c:414
irq_get_irq_data+0x13/0x30 kernel/irq/chip.c:140
irq_domain_get_irq_data+0x18/0x70 kernel/irq/irqdomain.c:1506
msi_init_virq kernel/irq/msi.c:1237 [inline]
__msi_domain_alloc_irqs+0x492/0xa00 kernel/irq/msi.c:1345
__msi_domain_alloc_locked kernel/irq/msi.c:1393 [inline]
msi_domain_alloc_locked+0x357/0x3e0 kernel/irq/msi.c:1398
msi_domain_alloc_irqs_all_locked+0xd2/0x110 kernel/irq/msi.c:1474
pci_msi_setup_msi_irqs+0x7a/0x90 drivers/pci/msi/irqdomain.c:17
__msix_setup_interrupts drivers/pci/msi/msi.c:687 [inline]
msix_setup_interrupts drivers/pci/msi/msi.c:708 [inline]
msix_capability_init+0x566/0x960 drivers/pci/msi/msi.c:748
__pci_enable_msix_range+0x41d/0x4b0 drivers/pci/msi/msi.c:856
pci_alloc_irq_vectors_affinity+0xac/0x1e0 drivers/pci/msi/api.c:268
vp_request_msix_vectors drivers/virtio/virtio_pci_common.c:157 [inline]
vp_find_vqs_msix+0x3f0/0x8b0 drivers/virtio/virtio_pci_common.c:414
vp_find_vqs+0x4a/0x490 drivers/virtio/virtio_pci_common.c:524
virtio_find_vqs include/linux/virtio_config.h:298 [inline]
virtscsi_init+0x50b/0x8b0 drivers/scsi/virtio_scsi.c:886
virtscsi_restore+0x3a/0xf0 drivers/scsi/virtio_scsi.c:1025
virtio_device_restore_priv+0x23c/0x410 drivers/virtio/virtio.c:633
virtio_device_restore+0x1a/0x30 drivers/virtio/virtio.c:680
virtio_pci_restore drivers/virtio/virtio_pci_common.c:621 [inline]
virtio_pci_resume+0xfa/0x140 drivers/virtio/virtio_pci_common.c:648
pci_pm_resume+0x160/0x340 drivers/pci/pci-driver.c:1042
dpm_run_callback+0x53/0x2f0 drivers/base/power/main.c:510
device_resume+0x76f/0x7a0 drivers/base/power/main.c:1178
async_resume+0x2c/0x40 drivers/base/power/main.c:1201
async_run_entry_fn+0x52/0x180 kernel/async.c:129
process_one_work kernel/workqueue.c:3322 [inline]
process_scheduled_works+0x4d4/0x9a0 kernel/workqueue.c:3405
worker_thread+0x569/0x750 kernel/workqueue.c:3486
kthread+0x221/0x270 kernel/kthread.c:436
ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

value changed: 0xffff888104bd130e -> 0xffff88810cd6dc00

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 5229 Comm: kworker/u8:174 Not tainted syzkaller #0 PREEMPT(lazy)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/16/2026
Workqueue: async async_run_entry_fn
==================================================================
usb usb1: PM: dpm_run_callback(): usb_dev_resume returns -107
usb usb1: PM: failed to resume async: error -107


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages