[moderation] [kernel?] KCSAN: data-race in hrtimer_interrupt / print_cpu (5)

3 views
Skip to first unread message

syzbot

unread,
Dec 7, 2023, 7:04:28 PM12/7/23
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 1b8af6552cb7 Merge tag 'powerpc-6.7-3' of git://git.kernel..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1089fbaae80000
kernel config: https://syzkaller.appspot.com/x/.config?x=efc18f367a3f97fa
dashboard link: https://syzkaller.appspot.com/bug?extid=8f0e958900a14d08a51d
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
CC: [linux-...@vger.kernel.org tg...@linutronix.de]

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/2dbebc9ea594/disk-1b8af655.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/41592181ba2a/vmlinux-1b8af655.xz
kernel image: https://storage.googleapis.com/syzbot-assets/b72b3a6a43ae/bzImage-1b8af655.xz

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

==================================================================
BUG: KCSAN: data-race in hrtimer_interrupt / print_cpu

read-write to 0xffff888237c1edd8 of 2 bytes by interrupt on cpu 0:
hrtimer_interrupt+0x31f/0x7b0 kernel/time/hrtimer.c:1847
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1065 [inline]
__sysvec_apic_timer_interrupt+0x52/0x190 arch/x86/kernel/apic/apic.c:1082
sysvec_apic_timer_interrupt+0x68/0x80 arch/x86/kernel/apic/apic.c:1076
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
__kmem_cache_alloc_lru mm/slub.c:3493 [inline]
kmem_cache_alloc+0x2f/0x250 mm/slub.c:3502
mempool_alloc_slab+0x1a/0x20 mm/mempool.c:518
mempool_alloc+0xa3/0x2c0 mm/mempool.c:398
bvec_alloc block/bio.c:211 [inline]
bio_alloc_bioset+0x573/0xb10 block/bio.c:558
bio_alloc include/linux/bio.h:432 [inline]
io_submit_init_bio fs/ext4/page-io.c:400 [inline]
io_submit_add_bh fs/ext4/page-io.c:422 [inline]
ext4_bio_write_folio+0x6f8/0x9a0 fs/ext4/page-io.c:563
mpage_submit_folio fs/ext4/inode.c:1875 [inline]
mpage_map_and_submit_buffers fs/ext4/inode.c:2121 [inline]
mpage_map_and_submit_extent fs/ext4/inode.c:2260 [inline]
ext4_do_writepages+0x139f/0x2100 fs/ext4/inode.c:2685
ext4_writepages+0x15e/0x2e0 fs/ext4/inode.c:2774
do_writepages+0x1c2/0x340 mm/page-writeback.c:2553
filemap_fdatawrite_wbc+0xdb/0xf0 mm/filemap.c:387
__filemap_fdatawrite_range mm/filemap.c:420 [inline]
file_write_and_wait_range+0xf4/0x190 mm/filemap.c:778
ext4_sync_file+0x133/0x6c0 fs/ext4/fsync.c:158
vfs_fsync_range+0x111/0x120 fs/sync.c:188
generic_write_sync include/linux/fs.h:2653 [inline]
ext4_buffered_write_iter+0x334/0x370 fs/ext4/file.c:305
ext4_file_write_iter+0x297/0xe10
call_write_iter include/linux/fs.h:2020 [inline]
new_sync_write fs/read_write.c:491 [inline]
vfs_write+0x48a/0x790 fs/read_write.c:584
ksys_write+0xeb/0x1a0 fs/read_write.c:637
__do_sys_write fs/read_write.c:649 [inline]
__se_sys_write fs/read_write.c:646 [inline]
__x64_sys_write+0x42/0x50 fs/read_write.c:646
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x44/0x110 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x63/0x6b

read to 0xffff888237c1edd8 of 2 bytes by task 11685 on cpu 1:
print_cpu+0x36a/0x640 kernel/time/timer_list.c:136
timer_list_show+0x115/0x180 kernel/time/timer_list.c:291
seq_read_iter+0x612/0x8f0 fs/seq_file.c:272
proc_reg_read_iter+0x114/0x180 fs/proc/inode.c:302
call_read_iter include/linux/fs.h:2014 [inline]
copy_splice_read+0x26b/0x4b0 fs/splice.c:364
vfs_splice_read fs/splice.c:993 [inline]
splice_direct_to_actor+0x28c/0x690 fs/splice.c:1069
do_splice_direct+0x10d/0x190 fs/splice.c:1194
do_sendfile+0x3c4/0x980 fs/read_write.c:1254
__do_sys_sendfile64 fs/read_write.c:1322 [inline]
__se_sys_sendfile64 fs/read_write.c:1308 [inline]
__x64_sys_sendfile64+0x110/0x150 fs/read_write.c:1308
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x44/0x110 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x63/0x6b

value changed: 0xd1bb -> 0xd1bc

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 11685 Comm: syz-executor.4 Not tainted 6.7.0-rc3-syzkaller-00298-g1b8af6552cb7 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023
==================================================================


---
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