BUG: using __this_cpu_read() in preemptible [00000000] code: syz-executor.2/27222 caller is __this_cpu_preempt_check+0x13/0x20 lib/smp_processor_id.c:66 CPU: 1 PID: 27222 Comm: syz-executor.2 Tainted: G W 5.15.149-syzkaller-00490-g5d96939590c0 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x151/0x1b7 lib/dump_stack.c:106 dump_stack+0x15/0x17 lib/dump_stack.c:113 check_preemption_disabled+0x109/0x110 lib/smp_processor_id.c:49 __this_cpu_preempt_check+0x13/0x20 lib/smp_processor_id.c:66 percpu_counter_add_batch+0x3f/0x160 lib/percpu_counter.c:87 percpu_counter_add include/linux/percpu_counter.h:56 [inline] percpu_counter_dec include/linux/percpu_counter.h:188 [inline] file_free fs/file_table.c:57 [inline] __fput+0x705/0x910 fs/file_table.c:293 ____fput+0x15/0x20 fs/file_table.c:308 task_work_run+0x129/0x190 kernel/task_work.c:164 tracehook_notify_resume include/linux/tracehook.h:189 [inline] exit_to_user_mode_loop+0xc4/0xe0 kernel/entry/common.c:175 exit_to_user_mode_prepare+0x5a/0xa0 kernel/entry/common.c:208 __syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline] syscall_exit_to_user_mode+0x26/0x160 kernel/entry/common.c:301 do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 0033:0x7f780b61cd9a Code: 48 3d 00 f0 ff ff 77 48 c3 0f 1f 80 00 00 00 00 48 83 ec 18 89 7c 24 0c e8 03 7f 02 00 8b 7c 24 0c 89 c2 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 36 89 d7 89 44 24 0c e8 63 7f 02 00 8b 44 24 RSP: 002b:00007fffbf1096a0 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 0000000000000004 RCX: 00007f780b61cd9a RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 00007f780b74d980 R08: 0000001b32020000 R09: 000000000000001a R10: 0000000081731f84 R11: 0000000000000293 R12: 00000000000502ba R13: 000000000004ffc9 R14: 00007fffbf109860 R15: 00007f780b5d4cb0