syzbot


general protection fault in hsr_port_get_hsr

Status: closed as invalid on 2025/02/03 16:44
Subsystems: net
[Documentation on labels]
First crash: 231d, last: 231d

Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000004: 0000 [#1] PREEMPT SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000020-0x0000000000000027]
CPU: 1 UID: 0 PID: 11624 Comm: syz.5.1218 Not tainted 6.13.0-rc5-syzkaller-00012-g0bc21e701a6f #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:hsr_port_get_hsr+0x76/0xd0 net/hsr/hsr_main.c:129
Code: b0 51 9b f6 48 89 d8 48 c1 e8 03 42 80 3c 28 00 75 57 48 8b 1b 4c 39 f3 74 44 e8 95 51 9b f6 48 8d 7b 20 48 89 f8 48 c1 e8 03 <42> 0f b6 04 28 84 c0 74 04 3c 03 7e 2b 8b 6b 20 44 89 e6 89 ef e8
RSP: 0018:ffffc90000a18ba0 EFLAGS: 00010202
RAX: 0000000000000004 RBX: 0000000000000000 RCX: ffffffff8afdfe50
RDX: ffff88802fdc9e00 RSI: ffffffff8afdfe2b RDI: 0000000000000020
RBP: 0000000000000000 R08: 0000000000000004 R09: 0000000000000000
R10: 0000000000000004 R11: 0000000000000004 R12: 0000000000000004
R13: dffffc0000000000 R14: ffff8880602c0d90 R15: 000000000003da4c
FS:  00007fdfde5e76c0(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0a63169f98 CR3: 0000000064730000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 hsr_announce+0xc5/0x3e0 net/hsr/hsr_device.c:414
 call_timer_fn+0x1a0/0x610 kernel/time/timer.c:1793
 expire_timers kernel/time/timer.c:1844 [inline]
 __run_timers+0x6e8/0x930 kernel/time/timer.c:2418
 __run_timer_base kernel/time/timer.c:2430 [inline]
 __run_timer_base kernel/time/timer.c:2422 [inline]
 run_timer_base+0x114/0x190 kernel/time/timer.c:2439
 run_timer_softirq+0x1a/0x40 kernel/time/timer.c:2449
 handle_softirqs+0x213/0x8f0 kernel/softirq.c:561
 __do_softirq kernel/softirq.c:595 [inline]
 invoke_softirq kernel/softirq.c:435 [inline]
 __irq_exit_rcu+0x109/0x170 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+0xa4/0xc0 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:kasan_check_range+0x156/0x1a0 mm/kasan/generic.c:190
Code: 39 d0 74 11 80 38 00 74 ef 4d 8d 1c 2c 48 85 c0 48 89 c2 75 93 48 89 da 4c 89 d8 4c 29 da e9 2c ff ff ff 5b b8 01 00 00 00 5d <41> 5c c3 cc cc cc cc b8 01 00 00 00 c3 cc cc cc cc 48 29 c3 48 89
RSP: 0018:ffffc9000c16f7f8 EFLAGS: 00000246
RAX: 0000000000000001 RBX: ffffea00013f3900 RCX: ffffffff81e970b3
RDX: fffff9400027e721 RSI: 0000000000000008 RDI: ffffea00013f3900
RBP: ffffea00013f3900 R08: 0000000000000000 R09: fffff9400027e720
R10: ffffea00013f3907 R11: 0000000000000002 R12: 0000000000000013
R13: 0000000000000001 R14: ffff888030e6d221 R15: 0000000000000001
 instrument_atomic_read include/linux/instrumented.h:68 [inline]
 _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
 folio_test_head include/linux/page-flags.h:824 [inline]
 folio_test_large include/linux/page-flags.h:845 [inline]
 folio_add_new_anon_rmap+0x313/0x1980 mm/rmap.c:1446
 do_anonymous_page mm/memory.c:4855 [inline]
 do_pte_missing+0x2a89/0x3e00 mm/memory.c:3977
 handle_pte_fault mm/memory.c:5801 [inline]
 __handle_mm_fault+0x103c/0x2a40 mm/memory.c:5944
 handle_mm_fault+0x3fa/0xaa0 mm/memory.c:6112
 faultin_page mm/gup.c:1196 [inline]
 __get_user_pages+0x8d9/0x3b50 mm/gup.c:1494
 populate_vma_page_range+0x27f/0x3a0 mm/gup.c:1932
 __mm_populate+0x1d6/0x380 mm/gup.c:2035
 mm_populate include/linux/mm.h:3396 [inline]
 vm_mmap_pgoff+0x293/0x360 mm/util.c:585
 ksys_mmap_pgoff+0x7d/0x5c0 mm/mmap.c:542
 __do_sys_mmap arch/x86/kernel/sys_x86_64.c:89 [inline]
 __se_sys_mmap arch/x86/kernel/sys_x86_64.c:82 [inline]
 __x64_sys_mmap+0x125/0x190 arch/x86/kernel/sys_x86_64.c:82
 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
RIP: 0033:0x7fdfdd785d29
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fdfde5e7038 EFLAGS: 00000246 ORIG_RAX: 0000000000000009
RAX: ffffffffffffffda RBX: 00007fdfdd975fa0 RCX: 00007fdfdd785d29
RDX: 00000000000000df RSI: 0000000000040009 RDI: 0000000000000000
RBP: 00007fdfdd801b08 R08: 0000000000000007 R09: 0000000000028000
R10: 0000000000009b72 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007fdfdd975fa0 R15: 00007ffe73cff558
 </TASK>
Modules linked in:
vkms_vblank_simulate: vblank timer overrun
---[ end trace 0000000000000000 ]---
RIP: 0010:hsr_port_get_hsr+0x76/0xd0 net/hsr/hsr_main.c:129
Code: b0 51 9b f6 48 89 d8 48 c1 e8 03 42 80 3c 28 00 75 57 48 8b 1b 4c 39 f3 74 44 e8 95 51 9b f6 48 8d 7b 20 48 89 f8 48 c1 e8 03 <42> 0f b6 04 28 84 c0 74 04 3c 03 7e 2b 8b 6b 20 44 89 e6 89 ef e8
RSP: 0018:ffffc90000a18ba0 EFLAGS: 00010202
RAX: 0000000000000004 RBX: 0000000000000000 RCX: ffffffff8afdfe50
RDX: ffff88802fdc9e00 RSI: ffffffff8afdfe2b RDI: 0000000000000020
RBP: 0000000000000000 R08: 0000000000000004 R09: 0000000000000000
R10: 0000000000000004 R11: 0000000000000004 R12: 0000000000000004
R13: dffffc0000000000 R14: ffff8880602c0d90 R15: 000000000003da4c
FS:  00007fdfde5e76c0(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0a63169f98 CR3: 0000000064730000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	b0 51                	mov    $0x51,%al
   2:	9b                   	fwait
   3:	f6 48 89 d8          	testb  $0xd8,-0x77(%rax)
   7:	48 c1 e8 03          	shr    $0x3,%rax
   b:	42 80 3c 28 00       	cmpb   $0x0,(%rax,%r13,1)
  10:	75 57                	jne    0x69
  12:	48 8b 1b             	mov    (%rbx),%rbx
  15:	4c 39 f3             	cmp    %r14,%rbx
  18:	74 44                	je     0x5e
  1a:	e8 95 51 9b f6       	call   0xf69b51b4
  1f:	48 8d 7b 20          	lea    0x20(%rbx),%rdi
  23:	48 89 f8             	mov    %rdi,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	42 0f b6 04 28       	movzbl (%rax,%r13,1),%eax <-- trapping instruction
  2f:	84 c0                	test   %al,%al
  31:	74 04                	je     0x37
  33:	3c 03                	cmp    $0x3,%al
  35:	7e 2b                	jle    0x62
  37:	8b 6b 20             	mov    0x20(%rbx),%ebp
  3a:	44 89 e6             	mov    %r12d,%esi
  3d:	89 ef                	mov    %ebp,%edi
  3f:	e8                   	.byte 0xe8

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/01/03 08:28 upstream 0bc21e701a6f d3ccff63 .config console log report info [disk image] [vmlinux] [kernel image] ci-qemu-gce-upstream-auto general protection fault in hsr_port_get_hsr
* Struck through repros no longer work on HEAD.