syzbot


KASAN: stack-out-of-bounds Read in __show_regs (3)

Status: moderation: reported on 2025/04/06 16:12
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+32d97843589308b7100f@syzkaller.appspotmail.com
First crash: 6d05h, last: 6d05h
Similar bugs (6)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: stack-out-of-bounds Read in __show_regs (2) kernel C error 2412 182d 297d 0/28 auto-obsoleted due to no activity on 2024/12/17 01:51
android-5-15 KASAN: stack-out-of-bounds Read in __show_regs 1 643d 643d 0/2 auto-obsoleted due to no activity on 2023/10/03 16:34
android-5-10 KASAN: stack-out-of-bounds Read in __show_regs 1 227d 227d 0/2 auto-obsoleted due to no activity on 2024/11/22 17:27
upstream KASAN: stack-out-of-bounds Read in __show_regs kernel C unreliable unreliable 517 888d 1391d 0/28 auto-obsoleted due to no activity on 2023/05/14 10:00
upstream BUG: unable to handle kernel NULL pointer dereference in exc_page_fault kernel 5 223d 231d 0/28 closed as invalid on 2024/09/13 11:13
android-5-10 KASAN: out-of-bounds Read in __show_regs 1 121d 121d 0/2 auto-obsoleted due to no activity on 2025/03/08 21:46

Sample crash report:
Code: Unable to access opcode bytes at 0xffffffffffffffd6.
RSP: d010:ffff8881149ad020 EFLAGS: 00000001 ORIG_RAX: ffff8881149ad000
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000001
RDX: 0000000000000002 RSI: ffffffff81ba573e RDI: ffff888118ad8540
==================================================================
BUG: KASAN: stack-out-of-bounds in __show_regs+0x740/0x750 arch/x86/kernel/process_64.c:87
Read of size 8 at addr ffffc900047cfb48 by task kworker/1:3/5221

CPU: 1 UID: 0 PID: 5221 Comm: kworker/1:3 Not tainted 6.14.0-rc6-syzkaller-ged492c95f13a #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Workqueue: events legacy_dvb_usb_read_remote_control
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:408 [inline]
 print_report+0xc3/0x670 mm/kasan/report.c:521
 kasan_report+0xd9/0x110 mm/kasan/report.c:634
 __show_regs+0x740/0x750 arch/x86/kernel/process_64.c:87
 show_trace_log_lvl+0x26c/0x3d0 arch/x86/kernel/dumpstack.c:301
 sched_show_task kernel/sched/core.c:7720 [inline]
 sched_show_task+0x424/0x630 kernel/sched/core.c:7695
 show_state_filter+0xee/0x320 kernel/sched/core.c:7765
 k_spec drivers/tty/vt/keyboard.c:667 [inline]
 k_spec+0xed/0x150 drivers/tty/vt/keyboard.c:656
 kbd_keycode drivers/tty/vt/keyboard.c:1522 [inline]
 kbd_event+0xcbd/0x17a0 drivers/tty/vt/keyboard.c:1541
 input_handle_events_default+0x116/0x1b0 drivers/input/input.c:2575
 input_pass_values+0x6c4/0x890 drivers/input/input.c:127
 input_event_dispose drivers/input/input.c:352 [inline]
 input_handle_event+0xb30/0x14d0 drivers/input/input.c:369
 input_event drivers/input/input.c:395 [inline]
 input_event+0x83/0xb0 drivers/input/input.c:390
 hidinput_hid_event+0x1d57/0x2410 drivers/hid/hid-input.c:1714
 hid_process_event+0x4b7/0x5e0 drivers/hid/hid-core.c:1548
 hid_input_array_field+0x535/0x710 drivers/hid/hid-core.c:1660
 hid_process_report drivers/hid/hid-core.c:1702 [inline]
 hid_report_raw_event+0xabc/0x1280 drivers/hid/hid-core.c:2048
 __hid_input_report.constprop.0+0x341/0x440 drivers/hid/hid-core.c:2118
 hid_irq_in+0x35e/0x870 drivers/hid/usbhid/hid-core.c:285
 __usb_hcd_giveback_urb+0x389/0x6e0 drivers/usb/core/hcd.c:1650
 usb_hcd_giveback_urb+0x396/0x450 drivers/usb/core/hcd.c:1734
 dummy_timer+0x17f7/0x3960 drivers/usb/gadget/udc/dummy_hcd.c:1994
 __run_hrtimer kernel/time/hrtimer.c:1801 [inline]
 __hrtimer_run_queues+0x20a/0xae0 kernel/time/hrtimer.c:1865
 hrtimer_run_softirq+0x17d/0x350 kernel/time/hrtimer.c:1882
 handle_softirqs+0x206/0x8d0 kernel/softirq.c:561
 __do_softirq kernel/softirq.c:595 [inline]
 invoke_softirq kernel/softirq.c:435 [inline]
 __irq_exit_rcu+0xfa/0x160 kernel/softirq.c:662
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:678
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0x90/0xb0 arch/x86/kernel/apic/apic.c:1049
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:console_flush_all+0x9a4/0xc60 kernel/printk/printk.c:3211
Code: 00 e8 f0 ae 27 00 9c 5b 81 e3 00 02 00 00 31 ff 48 89 de e8 ee fb 1f 00 48 85 db 0f 85 55 01 00 00 e8 b0 00 20 00 fb 4c 89 e0 <48> c1 e8 03 42 80 3c 38 00 0f 84 11 ff ff ff 4c 89 e7 e8 a5 1a 7a
RSP: 0018:ffffc90001fef868 EFLAGS: 00000293
RAX: ffffffff893ac7b8 RBX: 0000000000000000 RCX: ffffffff815b5232
RDX: ffff88810a738000 RSI: ffffffff815b5240 RDI: 0000000000000007
RBP: 0000000000000000 R08: 0000000000000007 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000005 R12: ffffffff893ac7b8
R13: ffffffff893ac760 R14: ffffc90001fef8f8 R15: dffffc0000000000
 __console_flush_and_unlock kernel/printk/printk.c:3269 [inline]
 console_unlock+0xd9/0x210 kernel/printk/printk.c:3309
 vprintk_emit+0x424/0x6f0 kernel/printk/printk.c:2432
 _printk+0xc8/0x100 kernel/printk/printk.c:2457
 legacy_dvb_usb_read_remote_control+0x40d/0x500 drivers/media/usb/dvb-usb/dvb-usb-remote.c:124
 process_one_work+0x9c5/0x1ba0 kernel/workqueue.c:3238
 process_scheduled_works kernel/workqueue.c:3319 [inline]
 worker_thread+0x6c8/0xf00 kernel/workqueue.c:3400
 kthread+0x3af/0x750 kernel/kthread.c:464
 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </TASK>

The buggy address belongs to the virtual mapping at
 [ffffc900047c8000, ffffc900047d1000) created by:
 kernel_clone+0xfd/0x960 kernel/fork.c:2815

The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888100000000 pfn:0x10a7f9
flags: 0x200000000000000(node=0|zone=2)
raw: 0200000000000000 0000000000000000 dead000000000122 0000000000000000
raw: ffff888100000000 0000000000000000 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Unmovable, gfp_mask 0x2dc2(GFP_KERNEL|__GFP_HIGHMEM|__GFP_NOWARN|__GFP_ZERO), pid 17157, tgid 17157 (syz.5.2879), ts 1474801571482, free_ts 1474795057571
 set_page_owner include/linux/page_owner.h:32 [inline]
 post_alloc_hook+0x181/0x1b0 mm/page_alloc.c:1551
 prep_new_page mm/page_alloc.c:1559 [inline]
 get_page_from_freelist+0xe76/0x2b90 mm/page_alloc.c:3477
 __alloc_frozen_pages_noprof+0x21c/0x2290 mm/page_alloc.c:4740
 alloc_pages_mpol+0xe7/0x410 mm/mempolicy.c:2270
 alloc_frozen_pages_noprof mm/mempolicy.c:2341 [inline]
 alloc_pages_noprof+0x131/0x390 mm/mempolicy.c:2361
 vm_area_alloc_pages mm/vmalloc.c:3591 [inline]
 __vmalloc_area_node mm/vmalloc.c:3669 [inline]
 __vmalloc_node_range_noprof+0x721/0x1530 mm/vmalloc.c:3846
 alloc_thread_stack_node kernel/fork.c:314 [inline]
 dup_task_struct kernel/fork.c:1127 [inline]
 copy_process+0x2e2d/0x8bd0 kernel/fork.c:2233
 kernel_clone+0xfd/0x960 kernel/fork.c:2815
 __do_sys_clone3+0x214/0x290 kernel/fork.c:3119
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
page last free pid 9287 tgid 9287 stack trace:
 reset_page_owner include/linux/page_owner.h:25 [inline]
 free_pages_prepare mm/page_alloc.c:1127 [inline]
 free_frozen_pages+0x653/0xde0 mm/page_alloc.c:2660
 pagetable_free include/linux/mm.h:2917 [inline]
 pagetable_dtor_free include/linux/mm.h:3015 [inline]
 __tlb_remove_table include/asm-generic/tlb.h:216 [inline]
 __tlb_remove_table_free mm/mmu_gather.c:227 [inline]
 tlb_remove_table_rcu+0x116/0x1a0 mm/mmu_gather.c:282
 rcu_do_batch kernel/rcu/tree.c:2546 [inline]
 rcu_core+0x79d/0x14d0 kernel/rcu/tree.c:2802
 handle_softirqs+0x206/0x8d0 kernel/softirq.c:561
 __do_softirq kernel/softirq.c:595 [inline]
 invoke_softirq kernel/softirq.c:435 [inline]
 __irq_exit_rcu+0xfa/0x160 kernel/softirq.c:662
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:678
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0x90/0xb0 arch/x86/kernel/apic/apic.c:1049
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702

Memory state around the buggy address:
 ffffc900047cfa00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffffc900047cfa80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffffc900047cfb00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                                              ^
 ffffc900047cfb80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffffc900047cfc00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================
----------------
Code disassembly (best guess), 1 bytes skipped:
   0:	e8 f0 ae 27 00       	call   0x27aef5
   5:	9c                   	pushf
   6:	5b                   	pop    %rbx
   7:	81 e3 00 02 00 00    	and    $0x200,%ebx
   d:	31 ff                	xor    %edi,%edi
   f:	48 89 de             	mov    %rbx,%rsi
  12:	e8 ee fb 1f 00       	call   0x1ffc05
  17:	48 85 db             	test   %rbx,%rbx
  1a:	0f 85 55 01 00 00    	jne    0x175
  20:	e8 b0 00 20 00       	call   0x2000d5
  25:	fb                   	sti
  26:	4c 89 e0             	mov    %r12,%rax
* 29:	48 c1 e8 03          	shr    $0x3,%rax <-- trapping instruction
  2d:	42 80 3c 38 00       	cmpb   $0x0,(%rax,%r15,1)
  32:	0f 84 11 ff ff ff    	je     0xffffff49
  38:	4c 89 e7             	mov    %r12,%rdi
  3b:	e8                   	.byte 0xe8
  3c:	a5                   	movsl  %ds:(%rsi),%es:(%rdi)
  3d:	1a                   	.byte 0x1a
  3e:	7a                   	.byte 0x7a

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/02 16:02 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing ed492c95f13a c799dfdd .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: stack-out-of-bounds Read in __show_regs
* Struck through repros no longer work on HEAD.