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