syzbot


divide error in get_scan_count

Status: upstream: reported C repro on 2021/10/31 09:32
Reported-by: syzbot+4aaec9051c8b9549405a@syzkaller.appspotmail.com
First crash: 403d, last: 376d

Sample crash report:
divide error: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 927 Comm: syz-executor555 Not tainted 5.4.147-syzkaller-00040-g2138e7367558 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:get_scan_count+0x42d/0x1490 mm/vmscan.c:2515
Code: 49 be 00 00 00 00 00 fc ff df 4c 89 e7 48 89 de e8 a8 ae e0 ff 49 39 dc 4c 0f 46 e3 48 8b 4c 24 20 48 0f af d9 48 89 d8 31 d2 <49> f7 f4 49 89 cc 49 29 c4 bf 20 00 00 00 4c 89 e6 e8 ad b0 e0 ff
RSP: 0018:ffff88804789f360 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff88804789f470 R08: ffffffff818022b8 R09: ffffed103bbd8c24
R10: ffffed103bbd8c24 R11: 0000000000000000 R12: 0000000000000000
R13: ffff88804789f700 R14: dffffc0000000000 R15: 000000000000000f
FS:  0000555556f58300(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fbcafa05138 CR3: 000000004f406000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 shrink_node_memcg+0x158/0x1000 mm/vmscan.c:2588
 shrink_node+0x37a/0x12c0 mm/vmscan.c:2831
 shrink_zones+0x406/0x8b0 mm/vmscan.c:3048
 do_try_to_free_pages+0x20b/0x980 mm/vmscan.c:3106
 try_to_free_pages+0x548/0xce0 mm/vmscan.c:3320
 __perform_reclaim mm/page_alloc.c:4223 [inline]
 __alloc_pages_direct_reclaim mm/page_alloc.c:4244 [inline]
 __alloc_pages_slowpath+0xfec/0x1b70 mm/page_alloc.c:4661
 __alloc_pages_nodemask+0x42a/0x740 mm/page_alloc.c:4875
 alloc_buffer_page drivers/staging/android/ion/heaps/ion_system_heap.c:55 [inline]
 alloc_largest_available drivers/staging/android/ion/heaps/ion_system_heap.c:89 [inline]
 ion_system_heap_allocate+0x2a7/0xb10 drivers/staging/android/ion/heaps/ion_system_heap.c:120
 ion_buffer_create drivers/staging/android/ion/ion_buffer.c:51 [inline]
 ion_buffer_alloc+0x238/0x6b0 drivers/staging/android/ion/ion_buffer.c:157
 ion_dmabuf_alloc+0x73/0x190 drivers/staging/android/ion/ion_dma_buf.c:369
 ion_alloc_fd drivers/staging/android/ion/ion.c:54 [inline]
 ion_ioctl+0x1ed/0x830 drivers/staging/android/ion/ion.c:194
 do_vfs_ioctl+0x6fb/0x15b0 fs/ioctl.c:47
 ksys_ioctl fs/ioctl.c:742 [inline]
 __do_sys_ioctl fs/ioctl.c:749 [inline]
 __se_sys_ioctl fs/ioctl.c:747 [inline]
 __x64_sys_ioctl+0xd4/0x110 fs/ioctl.c:747
 do_syscall_64+0xcb/0x1e0 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x7fbcaf99ab09
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 41 18 00 00 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 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fff9d19eac8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007fbcaf99ab09
RDX: 0000000020000080 RSI: 00000000c0184900 RDI: 0000000000000003
RBP: 0000000000000000 R08: 00007fff9d19eaf0 R09: 00007fff9d19eaf0
R10: 00007fff9d19eaf0 R11: 0000000000000246 R12: 00007fff9d19eaec
R13: 00007fff9d19eb00 R14: 00007fff9d19eb40 R15: 0000000000000124
Modules linked in:
---[ end trace 8abd2c634eb864a1 ]---
RIP: 0010:get_scan_count+0x42d/0x1490 mm/vmscan.c:2515
Code: 49 be 00 00 00 00 00 fc ff df 4c 89 e7 48 89 de e8 a8 ae e0 ff 49 39 dc 4c 0f 46 e3 48 8b 4c 24 20 48 0f af d9 48 89 d8 31 d2 <49> f7 f4 49 89 cc 49 29 c4 bf 20 00 00 00 4c 89 e6 e8 ad b0 e0 ff
RSP: 0018:ffff88804789f360 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff88804789f470 R08: ffffffff818022b8 R09: ffffed103bbd8c24
R10: ffffed103bbd8c24 R11: 0000000000000000 R12: 0000000000000000
R13: ffff88804789f700 R14: dffffc0000000000 R15: 000000000000000f
FS:  0000555556f58300(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f4b9197d88d CR3: 000000004f406000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	49 be 00 00 00 00 00 	movabs $0xdffffc0000000000,%r14
   7:	fc ff df
   a:	4c 89 e7             	mov    %r12,%rdi
   d:	48 89 de             	mov    %rbx,%rsi
  10:	e8 a8 ae e0 ff       	callq  0xffe0aebd
  15:	49 39 dc             	cmp    %rbx,%r12
  18:	4c 0f 46 e3          	cmovbe %rbx,%r12
  1c:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
  21:	48 0f af d9          	imul   %rcx,%rbx
  25:	48 89 d8             	mov    %rbx,%rax
  28:	31 d2                	xor    %edx,%edx
* 2a:	49 f7 f4             	div    %r12 <-- trapping instruction
  2d:	49 89 cc             	mov    %rcx,%r12
  30:	49 29 c4             	sub    %rax,%r12
  33:	bf 20 00 00 00       	mov    $0x20,%edi
  38:	4c 89 e6             	mov    %r12,%rsi
  3b:	e8 ad b0 e0 ff       	callq  0xffe0b0ed

Crashes (6):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-android-5-4-kasan 2021/10/31 11:28 android12-5.4 2138e7367558 098b5d53 .config log report syz C divide error in get_scan_count
ci2-android-5-4-kasan 2021/11/27 10:50 android12-5.4 0bbc71d87f4d 63eeac02 .config log report info divide error in get_scan_count
ci2-android-5-4-kasan 2021/11/03 21:16 android12-5.4 2138e7367558 4c1be0be .config log report info divide error in get_scan_count
ci2-android-5-4-kasan 2021/11/02 01:12 android12-5.4 2138e7367558 098b5d53 .config log report info divide error in get_scan_count
ci2-android-5-4-kasan 2021/11/01 20:25 android12-5.4 2138e7367558 098b5d53 .config log report info divide error in get_scan_count
ci2-android-5-4-kasan 2021/10/31 09:31 android12-5.4 2138e7367558 098b5d53 .config log report info divide error in get_scan_count
* Struck through repros no longer work on HEAD.