================================================================== BUG: KASAN: invalid-access in __kvm_pgtable_visit arch/arm64/kvm/hyp/pgtable.c:163 [inline] BUG: KASAN: invalid-access in __kvm_pgtable_walk+0x8e4/0xa68 arch/arm64/kvm/hyp/pgtable.c:237 Read of size 8 at addr def000001eccf000 by task syz.2.17/3622 Pointer tag: [de], memory tag: [fe] CPU: 0 UID: 0 PID: 3622 Comm: syz.2.17 Not tainted syzkaller #0 PREEMPT Hardware name: linux,dummy-virt (DT) Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 print_address_description+0xac/0x288 mm/kasan/report.c:378 print_report+0x84/0xa0 mm/kasan/report.c:482 kasan_report+0xb0/0x110 mm/kasan/report.c:595 kasan_tag_mismatch+0x28/0x3c mm/kasan/sw_tags.c:175 __hwasan_tag_mismatch+0x30/0x60 arch/arm64/lib/kasan_sw_tags.S:55 __kvm_pgtable_visit arch/arm64/kvm/hyp/pgtable.c:163 [inline] __kvm_pgtable_walk+0x8e4/0xa68 arch/arm64/kvm/hyp/pgtable.c:237 _kvm_pgtable_walk arch/arm64/kvm/hyp/pgtable.c:260 [inline] kvm_pgtable_walk+0x294/0x468 arch/arm64/kvm/hyp/pgtable.c:283 kvm_pgtable_stage2_destroy_range+0x60/0xb4 arch/arm64/kvm/hyp/pgtable.c:1563 stage2_destroy_range arch/arm64/kvm/mmu.c:924 [inline] kvm_stage2_destroy arch/arm64/kvm/mmu.c:935 [inline] kvm_free_stage2_pgd+0x198/0x28c arch/arm64/kvm/mmu.c:1112 kvm_uninit_stage2_mmu+0x20/0x38 arch/arm64/kvm/mmu.c:1023 kvm_arch_flush_shadow_all+0x1a8/0x1e0 arch/arm64/kvm/nested.c:1113 kvm_flush_shadow_all virt/kvm/kvm_main.c:343 [inline] kvm_mmu_notifier_release+0x48/0xa8 virt/kvm/kvm_main.c:884 mmu_notifier_unregister+0x128/0x42c mm/mmu_notifier.c:815 kvm_destroy_vm virt/kvm/kvm_main.c:1295 [inline] kvm_put_kvm+0x6a0/0xfa8 virt/kvm/kvm_main.c:1353 kvm_vm_release+0x58/0x78 virt/kvm/kvm_main.c:1376 __fput+0x4ac/0x980 fs/file_table.c:468 ____fput+0x20/0x58 fs/file_table.c:496 task_work_run+0x1bc/0x254 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] do_notify_resume+0x1bc/0x270 arch/arm64/kernel/entry-common.c:155 exit_to_user_mode_prepare arch/arm64/kernel/entry-common.c:173 [inline] exit_to_user_mode arch/arm64/kernel/entry-common.c:182 [inline] el0_svc+0xb8/0x164 arch/arm64/kernel/entry-common.c:880 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:898 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x5eccf flags: 0x1ffc84000000000(node=0|zone=0|lastcpupid=0x7ff|kasantag=0x21) raw: 01ffc84000000000 ffffc1ffc07b3308 ffffc1ffc07b2088 0000000000000000 raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: fff000001eccee00: 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 fff000001eccef00: 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 >fff000001eccf000: fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe ^ fff000001eccf100: fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fff000001eccf200: fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe ================================================================== Unable to handle kernel paging request at virtual address fffee72652b20300 KASAN: probably wild-memory-access in range [0xfff672652b203000-0xfff672652b20300f] Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 swapper pgtable: 4k pages, 52-bit VAs, pgdp=000000004769a000 [fffee72652b20300] pgd=0000000047ee1003, p4d=0000000000000000 Internal error: Oops: 0000000096000004 [#1] SMP Modules linked in: CPU: 0 UID: 0 PID: 3622 Comm: syz.2.17 Tainted: G B syzkaller #0 PREEMPT Tainted: [B]=BAD_PAGE Hardware name: linux,dummy-virt (DT) pstate: 81402009 (Nzcv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) pc : __kvm_pgtable_visit arch/arm64/kvm/hyp/pgtable.c:163 [inline] pc : __kvm_pgtable_walk+0x268/0xa68 arch/arm64/kvm/hyp/pgtable.c:237 lr : kvm_dereference_pteref arch/arm64/include/asm/kvm_pgtable.h:389 [inline] lr : __kvm_pgtable_visit arch/arm64/kvm/hyp/pgtable.c:160 [inline] lr : __kvm_pgtable_walk+0x214/0xa68 arch/arm64/kvm/hyp/pgtable.c:237 sp : ffff80008e5776d0 x29: ffff80008e577770 x28: 0000000000000005 x27: fff672652b203000 x26: fff672652b203000 x25: 0000000000000000 x24: 0000000000000002 x23: 00000000000000ff x22: efff800000000000 x21: ffff80008e5779d8 x20: 00000000000000ff x19: 00000000000000ff x18: 0000000000001b80 x17: 00000000050334fc x16: 00000000cecddeb9 x15: fff0000072d85404 x14: 00000000000000ff x13: ffff80008e5779e0 x12: ffff80008e5779e8 x11: ffff80008e5779e8 x10: 0000000000ff0100 x9 : ffff80008e577728 x8 : 0fff672652b20300 x7 : ffff800080bc7858 x6 : 0000000000000000 x5 : 0000000000000000 x4 : 00000000000000ff x3 : 0000000000000002 x2 : fff672652b203000 x1 : 0000000000000000 x0 : 0000000000000000 Call trace: __kvm_pgtable_visit arch/arm64/kvm/hyp/pgtable.c:161 [inline] (P) __kvm_pgtable_walk+0x268/0xa68 arch/arm64/kvm/hyp/pgtable.c:237 (P) __kvm_pgtable_visit arch/arm64/kvm/hyp/pgtable.c:207 [inline] __kvm_pgtable_walk+0x600/0xa68 arch/arm64/kvm/hyp/pgtable.c:237 __kvm_pgtable_visit arch/arm64/kvm/hyp/pgtable.c:207 [inline] __kvm_pgtable_walk+0x600/0xa68 arch/arm64/kvm/hyp/pgtable.c:237 _kvm_pgtable_walk arch/arm64/kvm/hyp/pgtable.c:260 [inline] kvm_pgtable_walk+0x294/0x468 arch/arm64/kvm/hyp/pgtable.c:283 kvm_pgtable_stage2_destroy_range+0x60/0xb4 arch/arm64/kvm/hyp/pgtable.c:1563 stage2_destroy_range arch/arm64/kvm/mmu.c:924 [inline] kvm_stage2_destroy arch/arm64/kvm/mmu.c:935 [inline] kvm_free_stage2_pgd+0x198/0x28c arch/arm64/kvm/mmu.c:1112 kvm_uninit_stage2_mmu+0x20/0x38 arch/arm64/kvm/mmu.c:1023 kvm_arch_flush_shadow_all+0x1a8/0x1e0 arch/arm64/kvm/nested.c:1113 kvm_flush_shadow_all virt/kvm/kvm_main.c:343 [inline] kvm_mmu_notifier_release+0x48/0xa8 virt/kvm/kvm_main.c:884 mmu_notifier_unregister+0x128/0x42c mm/mmu_notifier.c:815 kvm_destroy_vm virt/kvm/kvm_main.c:1295 [inline] kvm_put_kvm+0x6a0/0xfa8 virt/kvm/kvm_main.c:1353 kvm_vm_release+0x58/0x78 virt/kvm/kvm_main.c:1376 __fput+0x4ac/0x980 fs/file_table.c:468 ____fput+0x20/0x58 fs/file_table.c:496 task_work_run+0x1bc/0x254 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] do_notify_resume+0x1bc/0x270 arch/arm64/kernel/entry-common.c:155 exit_to_user_mode_prepare arch/arm64/kernel/entry-common.c:173 [inline] exit_to_user_mode arch/arm64/kernel/entry-common.c:182 [inline] el0_svc+0xb8/0x164 arch/arm64/kernel/entry-common.c:880 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:898 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 Code: f94023ec f9400fed a9017d3f f800813f (38686ac8) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: f94023ec ldr x12, [sp, #64] 4: f9400fed ldr x13, [sp, #24] 8: a9017d3f stp xzr, xzr, [x9, #16] c: f800813f stur xzr, [x9, #8] * 10: 38686ac8 ldrb w8, [x22, x8] <-- trapping instruction