syzbot


KCSAN: data-race in __kernfs_remove / cleanup_glue_dir (8)

Status: auto-obsoleted due to no activity on 2024/01/28 04:07
Subsystems: kernfs
[Documentation on labels]
Reported-by: syzbot+7466867e5f72e66f1880@syzkaller.appspotmail.com
First crash: 136d, last: 125d
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __kernfs_remove / cleanup_glue_dir kernfs 2 1316d 1334d 0/26 auto-closed as invalid on 2020/10/24 11:06
upstream KCSAN: data-race in __kernfs_remove / cleanup_glue_dir (4) kernfs 1 1115d 1115d 0/26 auto-closed as invalid on 2021/05/13 08:58
upstream KCSAN: data-race in __kernfs_remove / cleanup_glue_dir (6) kernfs 3 745d 774d 0/26 auto-closed as invalid on 2022/05/18 10:42
upstream KCSAN: data-race in __kernfs_remove / cleanup_glue_dir (2) kernfs 2 1220d 1233d 0/26 auto-closed as invalid on 2021/01/28 08:27
upstream KCSAN: data-race in __kernfs_remove / cleanup_glue_dir (7) kernfs 1 663d 663d 0/26 auto-closed as invalid on 2022/08/08 13:27
upstream KCSAN: data-race in __kernfs_remove / cleanup_glue_dir (5) kernfs 1 920d 920d 0/26 auto-closed as invalid on 2021/11/24 14:49
upstream KCSAN: data-race in __kernfs_remove / cleanup_glue_dir (3) kernfs 1 1184d 1184d 0/26 auto-closed as invalid on 2021/03/05 09:25

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __kernfs_remove / cleanup_glue_dir

read-write to 0xffff88813b1dd9c0 of 8 bytes by task 5630 on cpu 1:
 kernfs_unlink_sibling fs/kernfs/dir.c:415 [inline]
 __kernfs_remove+0x2ff/0x480 fs/kernfs/dir.c:1471
 kernfs_remove+0x4e/0x70 fs/kernfs/dir.c:1507
 sysfs_remove_dir+0x7e/0xa0 fs/sysfs/dir.c:101
 __kobject_del+0x8c/0x190 lib/kobject.c:601
 kobject_del+0x2e/0x50 lib/kobject.c:624
 device_del+0x72f/0x7a0 drivers/base/core.c:3834
 device_unregister+0x15/0x30 drivers/base/core.c:3855
 wakeup_source_sysfs_remove+0x25/0x30 drivers/base/power/wakeup_stats.c:208
 wakeup_source_unregister+0xee/0x110 drivers/base/power/wakeup.c:244
 ep_free fs/eventpoll.c:709 [inline]
 ep_clear_and_put+0x1fd/0x250 fs/eventpoll.c:826
 ep_eventpoll_release+0x32/0x40 fs/eventpoll.c:834
 __fput+0x299/0x630 fs/file_table.c:394
 ____fput+0x15/0x20 fs/file_table.c:422
 task_work_run+0x135/0x1a0 kernel/task_work.c:180
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x604/0x16d0 kernel/exit.c:869
 do_group_exit+0x101/0x150 kernel/exit.c:1018
 get_signal+0xf4e/0x10a0 kernel/signal.c:2904
 arch_do_signal_or_restart+0x95/0x4b0 arch/x86/kernel/signal.c:309
 exit_to_user_mode_loop+0x6f/0xe0 kernel/entry/common.c:168
 exit_to_user_mode_prepare+0x6c/0xb0 kernel/entry/common.c:204
 __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
 syscall_exit_to_user_mode+0x26/0x140 kernel/entry/common.c:296
 do_syscall_64+0x50/0x110 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x63/0x6b

read to 0xffff88813b1dd9c0 of 8 bytes by task 5640 on cpu 0:
 kobject_has_children drivers/base/core.c:3283 [inline]
 cleanup_glue_dir+0xe5/0x160 drivers/base/core.c:3349
 device_del+0x73a/0x7a0 drivers/base/core.c:3835
 device_unregister+0x15/0x30 drivers/base/core.c:3855
 wakeup_source_sysfs_remove+0x25/0x30 drivers/base/power/wakeup_stats.c:208
 wakeup_source_unregister+0xee/0x110 drivers/base/power/wakeup.c:244
 ep_free fs/eventpoll.c:709 [inline]
 ep_clear_and_put+0x1fd/0x250 fs/eventpoll.c:826
 ep_eventpoll_release+0x32/0x40 fs/eventpoll.c:834
 __fput+0x299/0x630 fs/file_table.c:394
 ____fput+0x15/0x20 fs/file_table.c:422
 task_work_run+0x135/0x1a0 kernel/task_work.c:180
 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
 exit_to_user_mode_loop+0xd6/0xe0 kernel/entry/common.c:171
 exit_to_user_mode_prepare+0x6c/0xb0 kernel/entry/common.c:204
 __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
 syscall_exit_to_user_mode+0x26/0x140 kernel/entry/common.c:296
 do_syscall_64+0x50/0x110 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x63/0x6b

value changed: 0x0000000000000002 -> 0x0000000000000001

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 5640 Comm: syz-executor.5 Not tainted 6.7.0-rc6-syzkaller-00303-g3f82f1c3a036 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/12/24 04:06 upstream 3f82f1c3a036 fb427a07 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __kernfs_remove / cleanup_glue_dir
2023/12/15 04:45 upstream c7402612e2e6 3222d10c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __kernfs_remove / cleanup_glue_dir
2023/12/13 10:21 upstream 88035e5694a8 ebcad15c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __kernfs_remove / cleanup_glue_dir
* Struck through repros no longer work on HEAD.