syzbot


KCSAN: data-race in pipe_double_lock / pipe_release (5)

Status: moderation: reported on 2024/06/11 19:28
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+dfb0715dc383d6b65992@syzkaller.appspotmail.com
First crash: 31d, last: 31d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in pipe_double_lock / pipe_release (3) fs 1 270d 270d 0/27 auto-obsoleted due to no activity on 2023/11/21 02:37
upstream KCSAN: data-race in pipe_double_lock / pipe_release (4) fs 1 177d 177d 0/27 auto-obsoleted due to no activity on 2024/02/21 21:32
upstream KCSAN: data-race in pipe_double_lock / pipe_release (2) fs 1 375d 375d 0/27 auto-obsoleted due to no activity on 2023/08/07 23:55
upstream KCSAN: data-race in pipe_double_lock / pipe_release fs 1 1485d 1485d 0/27 auto-closed as invalid on 2020/07/23 17:42

Sample crash report:
==================================================================
BUG: KCSAN: data-race in pipe_double_lock / pipe_release

read-write to 0xffff88811864e66c of 4 bytes by task 3581 on cpu 0:
 put_pipe_info fs/pipe.c:712 [inline]
 pipe_release+0x164/0x1c0 fs/pipe.c:742
 __fput+0x2c2/0x660 fs/file_table.c:422
 ____fput+0x15/0x20 fs/file_table.c:450
 task_work_run+0x13a/0x1a0 kernel/task_work.c:180
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
 syscall_exit_to_user_mode+0xbe/0x130 kernel/entry/common.c:218
 do_syscall_64+0xd6/0x1c0 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff88811864e66c of 4 bytes by task 3586 on cpu 1:
 pipe_lock fs/pipe.c:91 [inline]
 pipe_double_lock+0x2e/0xa0 fs/pipe.c:111
 splice_pipe_to_pipe fs/splice.c:1765 [inline]
 do_splice+0x32e/0x1120 fs/splice.c:1331
 __do_splice fs/splice.c:1436 [inline]
 __do_sys_splice fs/splice.c:1652 [inline]
 __se_sys_splice+0x24c/0x390 fs/splice.c:1634
 __x64_sys_splice+0x78/0x90 fs/splice.c:1634
 x64_sys_call+0x297f/0x2d70 arch/x86/include/generated/asm/syscalls_64.h:276
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000002 -> 0x00000001

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 3586 Comm: syz-executor.2 Not tainted 6.10.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/06/11 19:28 upstream 83a7eefedc9b 4d75f4f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in pipe_double_lock / pipe_release
* Struck through repros no longer work on HEAD.