KCSAN: data-race in __xa_clear_mark / xas_find_marked (2)

Status: moderation: reported on 2021/06/26 18:58
Subsystems: fs mm
Labels: prio:high
[Documentation on labels]
Reported-by: syzbot+03743c59b799c7b55cd4@syzkaller.appspotmail.com
First crash: 1936d, last: 10m
▶ ▼ ✨ AI Jobs (5)
ID Workflow Result Correct Bug Created Started Finished Revision
5ddf1a8e assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ✅ UserNamespace: ✅ VMGuestTrigger: ✅ VMHostTrigger: ❌ ❓ KCSAN: data-race in __xa_clear_mark / xas_find_marked (2) 2026/05/31 20:53 2026/05/31 20:53 2026/05/31 21:09 6b4a8443
72fecced assessment-security 💥 KCSAN: data-race in __xa_clear_mark / xas_find_marked (2) 2026/05/15 06:56 2026/05/15 06:56 2026/05/15 06:57 6ccb967e
a0741bf4 repro ❓ KCSAN: data-race in __xa_clear_mark / xas_find_marked (2) 2026/03/07 06:26 2026/03/07 06:26 2026/03/07 06:28 31e9c887
be28beee assessment-kcsan Benign: ✅ Confident: ✅ ❓ KCSAN: data-race in __xa_clear_mark / xas_find_marked (2) 2026/02/24 18:46 2026/02/24 18:46 2026/02/24 18:48 305c0ec5
f2b43e1e assessment-kcsan 💥 KCSAN: data-race in __xa_clear_mark / xas_find_marked (2) 2026/01/09 22:47 2026/01/09 22:47 2026/01/09 23:06 75199160
▶ ▼ Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __xa_clear_mark / xas_find_marked fs mm 6 558 1936d 2237d 0/29 closed as invalid on 2021/06/07 13:50

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __xa_clear_mark / xas_find_marked

read-write to 0xffff88811a84ed98 of 8 bytes by interrupt on cpu 1:
 instrument_read_write include/linux/instrumented.h:56 [inline]
 __instrument_read_write_bitop include/asm-generic/bitops/instrumented-non-atomic.h:84 [inline]
 ___test_and_clear_bit include/asm-generic/bitops/instrumented-non-atomic.h:114 [inline]
 node_clear_mark lib/xarray.c:102 [inline]
 xas_clear_mark lib/xarray.c:922 [inline]
 __xa_clear_mark+0xf5/0x1e0 lib/xarray.c:2103
 __folio_end_writeback+0xe7/0x530 mm/page-writeback.c:2965
 folio_end_writeback_no_dropbehind+0x6d/0x200 mm/filemap.c:1672
 folio_end_writeback+0x1c/0x70 mm/filemap.c:1698
 bh_end_async_write+0x1a6/0x250 fs/buffer.c:432
 bio_endio+0x390/0x570 block/bio.c:1929
 blk_update_request+0x33a/0x710 block/blk-mq.c:1016
 blk_mq_end_request+0x26/0x50 block/blk-mq.c:1147
 lo_complete_rq+0x98/0x130 drivers/block/loop.c:315
 blk_complete_reqs block/blk-mq.c:1222 [inline]
 blk_done_softirq+0x77/0xb0 block/blk-mq.c:1227
 handle_softirqs+0xcc/0x2a0 kernel/softirq.c:645
 __do_softirq kernel/softirq.c:679 [inline]
 invoke_softirq kernel/softirq.c:519 [inline]
 __irq_exit_rcu+0x44/0xe0 kernel/softirq.c:758
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
 sysvec_apic_timer_interrupt+0x74/0x80 arch/x86/kernel/apic/apic.c:1062
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
 kcsan_setup_watchpoint+0x42b/0x4a0 kernel/kcsan/core.c:713
 queued_spin_trylock include/asm-generic/qspinlock.h:93 [inline]
 do_raw_spin_trylock include/linux/spinlock.h:195 [inline]
 __raw_spin_trylock include/linux/spinlock_api_smp.h:103 [inline]
 _raw_spin_trylock+0x35/0xb0 kernel/locking/spinlock.c:157
 spin_trylock include/linux/spinlock.h:359 [inline]
 rmqueue_pcplist mm/page_alloc.c:3380 [inline]
 rmqueue mm/page_alloc.c:3421 [inline]
 get_page_from_freelist+0x727/0x1990 mm/page_alloc.c:3940
 __alloc_frozen_pages_noprof+0x1f3/0x400 mm/page_alloc.c:5436
 alloc_pages_mpol+0xaf/0x1d0 mm/mempolicy.c:2486
 folio_alloc_mpol_noprof+0x39/0x80 mm/mempolicy.c:2505
 shmem_alloc_folio mm/shmem.c:1933 [inline]
 shmem_alloc_and_add_folio mm/shmem.c:1975 [inline]
 shmem_get_folio_gfp+0x3ff/0xd90 mm/shmem.c:2528
 shmem_get_folio mm/shmem.c:2634 [inline]
 shmem_write_begin+0xfc/0x1f0 mm/shmem.c:3265
 generic_perform_write+0x186/0x490 mm/filemap.c:4374
 shmem_file_write_iter+0xc5/0xf0 mm/shmem.c:3440
 lo_rw_aio+0x6ab/0x760 drivers/block/loop.c:-1
 do_req_filebacked drivers/block/loop.c:-1 [inline]
 loop_handle_cmd drivers/block/loop.c:1949 [inline]
 loop_process_work+0x569/0xad0 drivers/block/loop.c:1984
 loop_workfn+0x31/0x40 drivers/block/loop.c:2008
 process_one_work kernel/workqueue.c:3396 [inline]
 process_scheduled_works+0x56a/0xa50 kernel/workqueue.c:3479
 worker_thread+0x569/0x750 kernel/workqueue.c:3560
 kthread+0x223/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 0xffff88811a84ed98 of 8 bytes by task 4748 on cpu 0:
 xas_find_chunk include/linux/xarray.h:1752 [inline]
 xas_find_marked+0x211/0x650 lib/xarray.c:1513
 find_get_entry mm/filemap.c:2087 [inline]
 filemap_get_folios_tag+0xf7/0x400 mm/filemap.c:2353
 __filemap_fdatawait_range mm/filemap.c:523 [inline]
 filemap_write_and_wait_range+0x1f5/0x370 mm/filemap.c:692
 filemap_write_and_wait include/linux/pagemap.h:65 [inline]
 sync_blockdev block/bdev.c:275 [inline]
 bdev_release+0xd4/0x3d0 block/bdev.c:1171
 blkdev_release+0x15/0x20 block/fops.c:682
 __fput+0x29e/0x630 fs/file_table.c:512
 ____fput+0x1c/0x30 fs/file_table.c:540
 task_work_run+0x130/0x1a0 kernel/task_work.c:233
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 __exit_to_user_mode_loop kernel/entry/common.c:70 [inline]
 exit_to_user_mode_loop+0x1e4/0x8c0 kernel/entry/common.c:101
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:343 [inline]
 do_syscall_64+0x212/0x360 arch/x86/entry/syscall_64.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffffffff00000000 -> 0xfffffff000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 4748 Comm: syz.0.396 Not tainted syzkaller #0 PREEMPT(lazy) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
==================================================================

Crashes (5574):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/25 20:26 upstream aa98230e410f f281d9d2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/25 11:13 upstream f49a343b305c f281d9d2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/24 16:34 upstream f49a343b305c 3c3cdf19 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/24 13:09 upstream 62f4c998b297 0281b448 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/23 12:03 upstream fe2ec83746e5 abce1216 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/23 10:00 upstream fe2ec83746e5 5207b90e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/22 19:00 upstream c4e9f74da438 e12281bd .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/22 04:42 upstream f0100363d8c3 e12281bd .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/21 21:49 upstream f0100363d8c3 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/21 08:34 upstream 93f51579e7df 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/20 00:52 upstream 518e5b794c06 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/19 16:55 upstream 40288c9206c1 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/18 22:19 upstream 17e7b8eacf4c 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/18 09:41 upstream 5dd1818b15d9 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/17 19:50 upstream 4982d3552a3b 8d7d05f1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/17 02:00 upstream 238650ef6c7c 95928915 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/16 21:47 upstream 238650ef6c7c 12a0a44a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/16 07:19 upstream 9b87fdc9af2f 12a0a44a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/15 23:05 upstream f6e7b42bf05b 2daa4bb5 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/15 15:08 upstream 587858367581 2daa4bb5 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/15 04:37 upstream 587858367581 81a27d1a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/14 16:20 upstream 704340f1cd0d 81a27d1a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/14 12:31 upstream 704340f1cd0d 70a60e12 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/13 06:00 upstream 2f0c1cf72f46 70a60e12 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/12 16:26 upstream 5225b8eec4c9 70a60e12 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/12 02:50 upstream 3026c6e4f223 70a60e12 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/11 22:03 upstream 3026c6e4f223 b6a5eeb7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/11 13:56 upstream 08df884136f1 b6a5eeb7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/11 00:04 upstream 08df884136f1 1fe56c0a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/10 13:55 upstream 50d05c7c76c9 1fe56c0a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/09 19:53 upstream 50d05c7c76c9 4e8b1cc6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/09 17:35 upstream 893e11787f78 4e8b1cc6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/09 01:10 upstream 893e11787f78 243b72f1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/08 15:47 upstream 28924df2a08f 243b72f1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/08 03:22 upstream 28924df2a08f 680aa3e1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/07 23:35 upstream df2908090cda 680aa3e1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/06 09:05 upstream 1fc5a74b108f 4f7b22a0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/05 05:11 upstream bc35965f6940 4f7b22a0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/04 10:50 upstream bc35965f6940 f65209a4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/03 03:58 upstream 940de590b839 6a988719 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/03 01:55 upstream 940de590b839 85995287 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/02 13:52 upstream 89a312991dc6 85995287 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/02 03:52 upstream 89a312991dc6 587f6b29 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/09/01 02:09 upstream bf1079577a11 316d9396 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/08/31 08:13 upstream cee9395acd80 2f52988a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/05/31 13:28 upstream 174914ea5513 6b4a8443 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/05/14 17:50 upstream 66182ca873a4 6ccb967e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/03/07 00:29 upstream 651690480a96 5cb44a80 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/02/24 10:41 upstream 7dff99b35460 96b1aa46 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2026/01/09 20:12 upstream 372800cb95a3 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2021/06/26 05:21 upstream b7050b242430 9d2ab5df .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2021/06/22 18:45 upstream 0c18f29aae7c aba2b2fb .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
2021/06/07 18:41 upstream 614124bea77e b718257f .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in __xa_clear_mark / xas_find_marked
* Struck through repros no longer work on HEAD.