syzbot


BUG: Bad page map (3)

Status: auto-closed as invalid on 2019/07/13 00:02
Reported-by: syzbot+0b10582e8ee2a6253de7@syzkaller.appspotmail.com
First crash: 1489d, last: 1362d
similar bugs (9):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 BUG: Bad page map (3) 1 80d 80d 0/1 upstream: reported on 2022/07/18 21:41
upstream BUG: Bad page map (5) C 25 6h42m 158d 1/24 upstream: reported C repro on 2022/05/01 09:02
linux-4.19 BUG: Bad page map (2) 10 266d 447d 0/1 auto-closed as invalid on 2022/05/13 11:22
upstream BUG: Bad page map (2) syz 127 1492d 1548d 0/24 closed as invalid on 2018/09/05 12:51
upstream BUG: Bad page map 1 1551d 1551d 0/24 closed as invalid on 2018/07/08 13:28
linux-4.19 BUG: Bad page map 2 763d 822d 0/1 auto-closed as invalid on 2021/01/01 08:20
upstream BUG: Bad page map (4) 39 308d 944d 0/24 auto-closed as invalid on 2022/04/02 04:25
linux-4.14 BUG: Bad page map 1 809d 809d 0/1 auto-closed as invalid on 2020/11/16 16:05
android-54 BUG: Bad page map 1 43d 43d 0/2 upstream: reported on 2022/08/25 04:05

Sample crash report:
swap_info_get: Bad swap file entry 3fffffe7fffff
BUG: Bad page map in process syz-executor0  pte:300000000 pmd:226fb067
addr:00000000387b7e04 vm_flags:180400fb anon_vma:          (null) mapping:000000003e2c3a24 index:2
file:kcov fault:          (null) mmap:kcov_mmap readpage:          (null)
==================================================================
CPU: 1 PID: 22302 Comm: syz-executor0 Not tainted 5.0.0-rc1+ #24
BUG: KASAN: use-after-free in tick_sched_handle+0x16f/0x190 kernel/time/tick-sched.c:161
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Read of size 8 at addr ffff88802160ae40 by task syz-executor5/22308
Call Trace:

 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1db/0x2d0 lib/dump_stack.c:113
 print_bad_pte.cold+0x1d3/0x23f mm/memory.c:526
 zap_pte_range mm/memory.c:1137 [inline]
 zap_pmd_range mm/memory.c:1192 [inline]
 zap_pud_range mm/memory.c:1221 [inline]
 zap_p4d_range mm/memory.c:1242 [inline]
 unmap_page_range+0x194a/0x25a0 mm/memory.c:1263
 unmap_single_vma+0x19d/0x300 mm/memory.c:1308
 unmap_vmas+0x17c/0x310 mm/memory.c:1339
 exit_mmap+0x2d4/0x5d0 mm/mmap.c:3140
 __mmput kernel/fork.c:1047 [inline]
 mmput+0x240/0x640 kernel/fork.c:1068
 exit_mm kernel/exit.c:545 [inline]
 do_exit+0x9d3/0x2650 kernel/exit.c:854
 do_group_exit+0x177/0x430 kernel/exit.c:970
 get_signal+0x8b4/0x19b0 kernel/signal.c:2517
 do_signal+0x91/0x1ea0 arch/x86/kernel/signal.c:816
 exit_to_usermode_loop+0x2f7/0x3b0 arch/x86/entry/common.c:162
 prepare_exit_to_usermode arch/x86/entry/common.c:197 [inline]
 syscall_return_slowpath arch/x86/entry/common.c:268 [inline]
 do_syscall_64+0x696/0x800 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x457ec9
Code: 6d b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 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 0f 83 3b b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007eff5ef07cf8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 000000000073bf08 RCX: 0000000000457ec9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 000000000073bf08
RBP: 000000000073bf00 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 000000000073bf0c
R13: 00007ffff1b8e1af R14: 00007eff5ef089c0 R15: 000000000073bf0c
CPU: 0 PID: 22308 Comm: syz-executor5 Not tainted 5.0.0-rc1+ #24
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1db/0x2d0 lib/dump_stack.c:113
------------[ cut here ]------------
kernel BUG at include/linux/swapops.h:210!
 print_address_description.cold+0x7c/0x20d mm/kasan/report.c:187
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 22302 Comm: syz-executor0 Tainted: G    B             5.0.0-rc1+ #24
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
 kasan_report.cold+0x1b/0x40 mm/kasan/report.c:317
RIP: 0010:migration_entry_to_page include/linux/swapops.h:210 [inline]
RIP: 0010:migration_entry_to_page+0x414/0x520 include/linux/swapops.h:203
Code: 2b e8 70 22 cd ff 48 c7 c6 c0 b4 53 88 4c 89 f7 e8 91 11 ff ff 0f 0b e8 5a 22 cd ff 4d 8d 77 ff e9 ae fe ff ff e8 4c 22 cd ff <0f> 0b e8 45 22 cd ff 4c 8d 73 ff eb ca e8 da 0d 11 00 e9 7f fc ff
 __asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:135
RSP: 0018:ffff8880529e6f88 EFLAGS: 00010293
 tick_sched_handle+0x16f/0x190 kernel/time/tick-sched.c:161
RAX: ffff88804fb94000 RBX: 1ffff1100a53cdf3 RCX: ffffffff81b4d3ee
 tick_sched_timer+0x47/0x130 kernel/time/tick-sched.c:1271
RDX: 0000000000000000 RSI: ffffffff81b4d514 RDI: 0000000000000001
 __run_hrtimer kernel/time/hrtimer.c:1389 [inline]
 __hrtimer_run_queues+0x3a7/0x1050 kernel/time/hrtimer.c:1451
RBP: ffff8880529e7080 R08: ffff88804fb94000 R09: 0000000000000000
R10: 0000000000000000 R11: ffffffff899993a3 R12: fffff8efed6e3040
R13: 0000000000000000 R14: fffff8efed6e3040 R15: 0000000000000000
FS:  00007eff5ef08700(0000) GS:ffff8880ae700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000073c000 CR3: 000000005e374000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 hrtimer_interrupt+0x314/0x770 kernel/time/hrtimer.c:1509
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1035 [inline]
 smp_apic_timer_interrupt+0x18d/0x760 arch/x86/kernel/apic/apic.c:1060
 zap_pte_range mm/memory.c:1133 [inline]
 zap_pmd_range mm/memory.c:1192 [inline]
 zap_pud_range mm/memory.c:1221 [inline]
 zap_p4d_range mm/memory.c:1242 [inline]
 unmap_page_range+0x14ab/0x25a0 mm/memory.c:1263
 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:807
 </IRQ>

The buggy address belongs to the page:
page:ffffea0000858280 count:0 mapcount:0 mapping:0000000000000000 index:0x1
 unmap_single_vma+0x19d/0x300 mm/memory.c:1308
flags: 0x1fffc0000000000()
 unmap_vmas+0x17c/0x310 mm/memory.c:1339
raw: 01fffc0000000000 0000000000000000 dead000000000200 0000000000000000
raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

 exit_mmap+0x2d4/0x5d0 mm/mmap.c:3140
Memory state around the buggy address:
 ffff88802160ad00: ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88802160ad80: 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff88802160ae00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                                           ^
 ffff88802160ae80: ff 00 00 00 00 00 00 00 00 00 00 00 00 ff ff f1
 __mmput kernel/fork.c:1047 [inline]
 mmput+0x240/0x640 kernel/fork.c:1068
 ffff88802160af00: f1 f1 f1 00 f2 f2 f2 00 f3 f3 f3 00 00 00 00 00
==================================================================

Crashes (4):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-smack-root 2019/01/14 00:01 upstream 6b529fb0a3ea c3f3344c .config log report
ci-upstream-kasan-gce-selinux-root 2018/10/11 03:52 upstream 3d647e62686f 5f818b4b .config log report
ci-upstream-kasan-gce 2018/09/08 17:21 upstream d7b686ebf704 6b5120a4 .config log report
ci-upstream-kasan-gce-smack-root 2018/09/08 08:23 upstream 3d0e7a9e00fd 6b5120a4 .config log report
* Struck through repros no longer work on HEAD.