softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000101? ================================================================================ UBSAN: array-index-out-of-bounds in kernel/bpf/helpers.c:736:13 index -5 is out of range for type 'char[3][512]' CPU: 1 PID: 21795 Comm: syz-executor.0 Not tainted 5.15.148-syzkaller-00718-g993bed180178 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/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 ubsan_epilogue lib/ubsan.c:151 [inline] __ubsan_handle_out_of_bounds+0x118/0x140 lib/ubsan.c:282 try_get_fmt_tmp_buf kernel/bpf/helpers.c:736 [inline] bpf_bprintf_prepare+0x132e/0x1360 kernel/bpf/helpers.c:778 ____bpf_trace_printk kernel/trace/bpf_trace.c:377 [inline] bpf_trace_printk+0x14a/0x300 kernel/trace/bpf_trace.c:368 bpf_prog_cfddb232a7dfb698+0x2f/0x898 bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline] __bpf_prog_run include/linux/filter.h:625 [inline] bpf_prog_run include/linux/filter.h:632 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:1883 [inline] bpf_trace_run3+0x11e/0x250 kernel/trace/bpf_trace.c:1921 __bpf_trace_kmem_cache_free+0x99/0xc0 include/trace/events/kmem.h:138 __traceiter_kmem_cache_free+0x32/0x50 include/trace/events/kmem.h:138 trace_kmem_cache_free include/trace/events/kmem.h:138 [inline] kmem_cache_free+0x2c3/0x2e0 mm/slub.c:3536 put_cred_rcu+0x285/0x320 kernel/cred.c:128 rcu_do_batch+0x57a/0xc10 kernel/rcu/tree.c:2523 rcu_core+0x517/0x1020 kernel/rcu/tree.c:2763 rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2776 __do_softirq+0x26d/0x5bf kernel/softirq.c:565 invoke_softirq kernel/softirq.c:425 [inline] __irq_exit_rcu+0x50/0xf0 kernel/softirq.c:648 irq_exit_rcu+0x9/0x10 kernel/softirq.c:660 sysvec_apic_timer_interrupt+0x9a/0xc0 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:638 RIP: 0010:console_lock_spinning_disable_and_check kernel/printk/printk.c:1840 [inline] RIP: 0010:console_unlock+0xc5b/0x10e0 kernel/printk/printk.c:2767 Code: 48 89 de 48 81 e6 00 02 00 00 31 ff e8 fe f5 18 00 48 81 e3 00 02 00 00 75 07 e8 b0 f1 18 00 eb 06 e8 a9 f1 18 00 fb 45 31 ff <45> 84 f6 0f 94 c1 0f 95 c0 84 4c 24 0f 74 0f e8 91 f1 18 00 2e 2e RSP: 0018:ffffc900013e6dc0 EFLAGS: 00000246 RAX: ffffffff81572fd7 RBX: 0000000000000200 RCX: 0000000000040000 RDX: ffffc90001e41000 RSI: 000000000003ffff RDI: 0000000000040000 RBP: ffffc900013e7050 R08: ffffffff81572fc2 R09: 0000000000000003 R10: fffff5200027cda8 R11: dffffc0000000001 R12: ffffffff868d2468 R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000000 vprintk_emit+0x132/0x340 kernel/printk/printk.c:2288 vprintk_default+0x26/0x30 kernel/printk/printk.c:2303 vprintk+0x74/0x80 kernel/printk/printk_safe.c:45 _printk+0xd1/0x111 kernel/printk/printk.c:2313 __warn_printk+0xad/0x120 kernel/panic.c:710 preempt_count_sub+0xa8/0x160 kernel/sched/core.c:5650 bpf_bprintf_cleanup kernel/bpf/helpers.c:745 [inline] ____bpf_snprintf kernel/bpf/helpers.c:1004 [inline] bpf_snprintf+0x1c0/0x210 kernel/bpf/helpers.c:984 bpf_prog_c39d3245afed4123+0x46/0x55c bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline] __bpf_prog_run include/linux/filter.h:625 [inline] bpf_prog_run include/linux/filter.h:632 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:1883 [inline] bpf_trace_run3+0x11e/0x250 kernel/trace/bpf_trace.c:1921 __bpf_trace_kmem_cache_free+0x99/0xc0 include/trace/events/kmem.h:138 __traceiter_kmem_cache_free+0x32/0x50 include/trace/events/kmem.h:138 trace_kmem_cache_free include/trace/events/kmem.h:138 [inline] kmem_cache_free+0x2c3/0x2e0 mm/slub.c:3536 jbd2_free_handle include/linux/jbd2.h:1602 [inline] jbd2_journal_stop+0x82c/0xc70 fs/jbd2/transaction.c:1964 __ext4_journal_stop+0x111/0x1c0 fs/ext4/ext4_jbd2.c:127 ext4_dirty_inode+0xd1/0x100 fs/ext4/inode.c:6025 __mark_inode_dirty+0x200/0xa50 fs/fs-writeback.c:2464 generic_update_time fs/inode.c:1817 [inline] inode_update_time fs/inode.c:1830 [inline] touch_atime+0x338/0x500 fs/inode.c:1902 file_accessed include/linux/fs.h:2551 [inline] ext4_dio_read_iter fs/ext4/file.c:82 [inline] ext4_file_read_iter+0x411/0x4b0 fs/ext4/file.c:130 call_read_iter include/linux/fs.h:2196 [inline] generic_file_splice_read+0x4aa/0x780 fs/splice.c:311 do_splice_to fs/splice.c:796 [inline] splice_direct_to_actor+0x439/0xbe0 fs/splice.c:870 do_splice_direct+0x27f/0x3c0 fs/splice.c:979 do_sendfile+0x616/0xfe0 fs/read_write.c:1249 __do_sys_sendfile64 fs/read_write.c:1317 [inline] __se_sys_sendfile64 fs/read_write.c:1303 [inline] __x64_sys_sendfile64+0x1ce/0x230 fs/read_write.c:1303 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 0033:0x7f4a2e035da9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4a2cd960c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000028 RAX: ffffffffffffffda RBX: 00007f4a2e164050 RCX: 00007f4a2e035da9 RDX: 0000000000000000 RSI: 000000000000000b RDI: 000000000000000a RBP: 00007f4a2e08247a R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000010000 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000006e R14: 00007f4a2e164050 R15: 00007ffe52570ba8 ================================================================================ softirq: huh, entered softirq 9 RCU ffffffff815caa40 with preempt_count 00000101, exited with 00000100? timer: neigh_timer_handler+0x0/0xe70 preempt leak: 00000101 -> 000000ff WARNING: CPU: 1 PID: 21795 at kernel/time/timer.c:1434 call_timer_fn+0xa3/0x2d0 kernel/time/timer.c:1433 Modules linked in: CPU: 1 PID: 21795 Comm: syz-executor.0 Not tainted 5.15.148-syzkaller-00718-g993bed180178 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 RIP: 0010:call_timer_fn+0xa3/0x2d0 kernel/time/timer.c:1433 Code: 73 b6 0f 00 c6 05 f8 fa a2 05 01 65 8b 0d 6d 02 a2 7e 81 e1 ff ff ff 7f 48 c7 c7 40 d1 29 85 4c 89 f6 44 89 ea e8 bd 0b e1 ff <0f> 0b eb 05 e8 44 b6 0f 00 65 8b 0d 45 02 a2 7e 89 ca 81 e2 00 00 RSP: 0018:ffffc900001d0d60 EFLAGS: 00010246 RAX: 83ca758598e6e500 RBX: 00000000000000ff RCX: ffff88813085e2c0 RDX: 0000000000000100 RSI: 0000000000000100 RDI: 0000000000000000 RBP: ffffc900001d0d90 R08: ffffffff81575f25 R09: ffffed103ee24e93 R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000100006cc8 R13: 0000000000000101 R14: ffffffff83e9fd80 R15: ffff88816b5ff450 FS: 00007f4a2cd966c0(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f6b13594000 CR3: 00000001112d0000 CR4: 00000000003506a0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: expire_timers kernel/time/timer.c:1472 [inline] __run_timers+0x72a/0xa10 kernel/time/timer.c:1743 run_timer_softirq+0x69/0xf0 kernel/time/timer.c:1756 __do_softirq+0x26d/0x5bf kernel/softirq.c:565 invoke_softirq kernel/softirq.c:425 [inline] __irq_exit_rcu+0x50/0xf0 kernel/softirq.c:648 irq_exit_rcu+0x9/0x10 kernel/softirq.c:660 sysvec_apic_timer_interrupt+0x9a/0xc0 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:638 RIP: 0010:console_lock_spinning_disable_and_check kernel/printk/printk.c:1840 [inline] RIP: 0010:console_unlock+0xc5b/0x10e0 kernel/printk/printk.c:2767 Code: 48 89 de 48 81 e6 00 02 00 00 31 ff e8 fe f5 18 00 48 81 e3 00 02 00 00 75 07 e8 b0 f1 18 00 eb 06 e8 a9 f1 18 00 fb 45 31 ff <45> 84 f6 0f 94 c1 0f 95 c0 84 4c 24 0f 74 0f e8 91 f1 18 00 2e 2e RSP: 0018:ffffc900013e6dc0 EFLAGS: 00000246 RAX: ffffffff81572fd7 RBX: 0000000000000200 RCX: 0000000000040000 RDX: ffffc90001e41000 RSI: 000000000003ffff RDI: 0000000000040000 RBP: ffffc900013e7050 R08: ffffffff81572fc2 R09: 0000000000000003 R10: fffff5200027cda8 R11: dffffc0000000001 R12: ffffffff868d2468 R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000000 vprintk_emit+0x132/0x340 kernel/printk/printk.c:2288 vprintk_default+0x26/0x30 kernel/printk/printk.c:2303 vprintk+0x74/0x80 kernel/printk/printk_safe.c:45 _printk+0xd1/0x111 kernel/printk/printk.c:2313 __warn_printk+0xad/0x120 kernel/panic.c:710 preempt_count_sub+0xa8/0x160 kernel/sched/core.c:5650 bpf_bprintf_cleanup kernel/bpf/helpers.c:745 [inline] ____bpf_snprintf kernel/bpf/helpers.c:1004 [inline] bpf_snprintf+0x1c0/0x210 kernel/bpf/helpers.c:984 bpf_prog_c39d3245afed4123+0x46/0x55c bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline] __bpf_prog_run include/linux/filter.h:625 [inline] bpf_prog_run include/linux/filter.h:632 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:1883 [inline] bpf_trace_run3+0x11e/0x250 kernel/trace/bpf_trace.c:1921 __bpf_trace_kmem_cache_free+0x99/0xc0 include/trace/events/kmem.h:138 __traceiter_kmem_cache_free+0x32/0x50 include/trace/events/kmem.h:138 trace_kmem_cache_free include/trace/events/kmem.h:138 [inline] kmem_cache_free+0x2c3/0x2e0 mm/slub.c:3536 jbd2_free_handle include/linux/jbd2.h:1602 [inline] jbd2_journal_stop+0x82c/0xc70 fs/jbd2/transaction.c:1964 __ext4_journal_stop+0x111/0x1c0 fs/ext4/ext4_jbd2.c:127 ext4_dirty_inode+0xd1/0x100 fs/ext4/inode.c:6025 __mark_inode_dirty+0x200/0xa50 fs/fs-writeback.c:2464 generic_update_time fs/inode.c:1817 [inline] inode_update_time fs/inode.c:1830 [inline] touch_atime+0x338/0x500 fs/inode.c:1902 file_accessed include/linux/fs.h:2551 [inline] ext4_dio_read_iter fs/ext4/file.c:82 [inline] ext4_file_read_iter+0x411/0x4b0 fs/ext4/file.c:130 call_read_iter include/linux/fs.h:2196 [inline] generic_file_splice_read+0x4aa/0x780 fs/splice.c:311 do_splice_to fs/splice.c:796 [inline] splice_direct_to_actor+0x439/0xbe0 fs/splice.c:870 do_splice_direct+0x27f/0x3c0 fs/splice.c:979 do_sendfile+0x616/0xfe0 fs/read_write.c:1249 __do_sys_sendfile64 fs/read_write.c:1317 [inline] __se_sys_sendfile64 fs/read_write.c:1303 [inline] __x64_sys_sendfile64+0x1ce/0x230 fs/read_write.c:1303 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 0033:0x7f4a2e035da9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4a2cd960c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000028 RAX: ffffffffffffffda RBX: 00007f4a2e164050 RCX: 00007f4a2e035da9 RDX: 0000000000000000 RSI: 000000000000000b RDI: 000000000000000a RBP: 00007f4a2e08247a R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000010000 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000006e R14: 00007f4a2e164050 R15: 00007ffe52570ba8 ---[ end trace 7e2469d0b10d5064 ]--- softirq: huh, entered softirq 9 RCU ffffffff815caa40 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000101, exited with 00000100? softirq: huh, entered softirq 9 RCU ffffffff815caa40 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 9 RCU ffffffff815caa40 with preempt_count 00000102, exited with 00000100? softirq: huh, entered softirq 4 BLOCK ffffffff8252c040 with preempt_count 00000102, exited with 00000100? ------------[ cut here ]------------ WARNING: CPU: 1 PID: 22344 at kernel/softirq.c:358 __local_bh_enable_ip+0x6c/0x80 kernel/softirq.c:387 Modules linked in: CPU: 1 PID: 22344 Comm: syz-executor.1 Tainted: G W 5.15.148-syzkaller-00718-g993bed180178 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 RIP: 0010:__local_bh_enable_ip+0x6c/0x80 kernel/softirq.c:358 Code: 66 8b 05 87 7d c0 7e 66 85 c0 75 22 bf 01 00 00 00 e8 a8 41 09 00 65 8b 05 f9 86 bf 7e 85 c0 74 02 5d c3 e8 fa 9a bd ff 5d c3 <0f> 0b eb a2 e8 0b 00 00 00 eb d7 66 0f 1f 84 00 00 00 00 00 55 48 RSP: 0000:ffffc900013572e8 EFLAGS: 00010206 RAX: 0000000080010200 RBX: 0000000000004000 RCX: ffff88810c2ca780 RDX: 0000000080010200 RSI: 0000000000000200 RDI: ffffffff812e7c49 RBP: ffffc900013572e8 R08: ffffffff812e63ea R09: ffffed10218594f1 R10: 0000000000000000 R11: dffffc0000000001 R12: ffff88810c2ca780 R13: dffffc0000000000 R14: ffff88810c2cb6c0 R15: 0000000000004000 FS: 00007f1c5d73a6c0(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f1c5d739d00 CR3: 000000018072e000 CR4: 00000000003506a0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: local_bh_enable+0x1f/0x30 include/linux/bottom_half.h:32 fpregs_unlock arch/x86/include/asm/fpu/api.h:78 [inline] fpu_sync_fpstate+0x1cd/0x410 arch/x86/kernel/fpu/core.c:188 sync_fpstate arch/x86/kernel/fpu/regset.c:44 [inline] xfpregs_get+0x3f/0xc0 arch/x86/kernel/fpu/regset.c:74 __regset_get kernel/regset.c:23 [inline] regset_get_alloc+0xf5/0x1b0 kernel/regset.c:48 fill_thread_core_info fs/binfmt_elf.c:1785 [inline] fill_note_info fs/binfmt_elf.c:1875 [inline] elf_core_dump+0x1394/0x3e80 fs/binfmt_elf.c:2199 do_coredump+0x1834/0x3050 fs/coredump.c:826 get_signal+0x4c8/0x1630 kernel/signal.c:2882 arch_do_signal_or_restart+0xbd/0x1680 arch/x86/kernel/signal.c:867 handle_signal_work kernel/entry/common.c:148 [inline] exit_to_user_mode_loop+0xa0/0xe0 kernel/entry/common.c:172 exit_to_user_mode_prepare+0x5a/0xa0 kernel/entry/common.c:208 irqentry_exit_to_user_mode+0x9/0x20 kernel/entry/common.c:314 irqentry_exit+0x12/0x40 kernel/entry/common.c:405 exc_page_fault+0x47a/0x830 arch/x86/mm/fault.c:1608 asm_exc_page_fault+0x27/0x30 arch/x86/include/asm/idtentry.h:568 RIP: 0033:0x7f1c5e969967 Code: 00 00 00 64 f0 83 04 25 a8 ff ff ff 01 64 48 8b 04 25 00 00 00 00 48 8d b8 e0 fe ff ff e8 d1 26 01 00 85 c0 0f 84 91 01 00 00 <64> f0 83 2c 25 a8 ff ff ff 01 e8 fa dc 00 00 48 8b 0c 24 8b 00 48 RSP: 002b:00007f1c5d73a0f0 EFLAGS: 00010206 RAX: 000000000000000b RBX: 00007f1c5eae6f80 RCX: 00007f1c5ea0547a RDX: 0000000000000000 RSI: 00000000200bd000 RDI: 0000000000000006 RBP: 00007f1c5ea0547a R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007f1c5eae6f80 R15: 00007ffdf120fa28 ---[ end trace 7e2469d0b10d5066 ]--- ---------------- Code disassembly (best guess): 0: 48 89 de mov %rbx,%rsi 3: 48 81 e6 00 02 00 00 and $0x200,%rsi a: 31 ff xor %edi,%edi c: e8 fe f5 18 00 call 0x18f60f 11: 48 81 e3 00 02 00 00 and $0x200,%rbx 18: 75 07 jne 0x21 1a: e8 b0 f1 18 00 call 0x18f1cf 1f: eb 06 jmp 0x27 21: e8 a9 f1 18 00 call 0x18f1cf 26: fb sti 27: 45 31 ff xor %r15d,%r15d * 2a: 45 84 f6 test %r14b,%r14b <-- trapping instruction 2d: 0f 94 c1 sete %cl 30: 0f 95 c0 setne %al 33: 84 4c 24 0f test %cl,0xf(%rsp) 37: 74 0f je 0x48 39: e8 91 f1 18 00 call 0x18f1cf 3e: 2e cs 3f: 2e cs