kernel BUG at include/linux/swapops.h:LINE!

From: syzbot
Date: Sat May 30 2020 - 13:05:24 EST


Hello,

syzbot found the following crash on:

HEAD commit: 9cb1fd0e Linux 5.7-rc7
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1788a54a100000
kernel config: https://syzkaller.appspot.com/x/.config?x=cca7550d53ffa599
dashboard link: https://syzkaller.appspot.com/bug?extid=c48f34012b06c4ac67dd
compiler: gcc (GCC) 9.0.0 20181231 (experimental)

Unfortunately, I don't have any reproducer for this crash yet.

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+c48f34012b06c4ac67dd@xxxxxxxxxxxxxxxxxxxxxxxxx

------------[ cut here ]------------
kernel BUG at include/linux/swapops.h:197!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 30075 Comm: syz-executor.0 Not tainted 5.7.0-rc7-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:migration_entry_to_page include/linux/swapops.h:197 [inline]
RIP: 0010:migration_entry_to_page include/linux/swapops.h:190 [inline]
RIP: 0010:pmd_migration_entry_wait+0x5b4/0x660 mm/migrate.c:368
Code: 32 e8 10 9f c0 ff 48 c7 c6 e0 a4 35 88 4c 89 e7 e8 81 a1 ec ff 0f 0b e8 fa 9e c0 ff 4d 8d 66 ff e9 1c fe ff ff e8 ec 9e c0 ff <0f> 0b e8 e5 9e c0 ff 0f 0b e8 de 9e c0 ff 4c 8d 65 ff eb c3 48 89
RSP: 0000:ffffc90015fffc70 EFLAGS: 00010293
RAX: ffff8880544f4180 RBX: 0000000000000000 RCX: ffffffff81b29e18
RDX: 0000000000000000 RSI: ffffffff81b29fc4 RDI: 0000000000000001
RBP: ffffea0000d40080 R08: ffff8880544f4180 R09: fffff940001a8001
R10: ffffea0000d40007 R11: fffff940001a8000 R12: ffffea0000d40000
R13: 1ffff92002bfff90 R14: ffffea0001230f08 R15: ffff8880503e11e0
FS: 00007fdb7a134700(0000) GS:ffff8880ae700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000200001c0 CR3: 00000000a703c000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
__handle_mm_fault+0x1c0e/0x3c90 mm/memory.c:4327
handle_mm_fault+0x1a5/0x660 mm/memory.c:4382
do_user_addr_fault arch/x86/mm/fault.c:1464 [inline]
do_page_fault+0x55b/0x13da arch/x86/mm/fault.c:1535
page_fault+0x39/0x40 arch/x86/entry/entry_64.S:1203
RIP: 0033:0x45ca35
Code: 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 db b6 fb ff <c3> 66 2e 0f 1f 84 00 00 00 00 00 48 85 ff 41 57 4d 89 cf 41 56 41
RSP: 002b:00000000200001c0 EFLAGS: 00010217
RAX: 0000000000000000 RBX: 00000000004dabc0 RCX: 000000000045ca29
RDX: 0000000020000140 RSI: 00000000200001c0 RDI: 0000000000000000
RBP: 000000000078bfa0 R08: 0000000020000300 R09: 0000000000000000
R10: 00000000200002c0 R11: 0000000000000246 R12: 00000000ffffffff
R13: 0000000000000076 R14: 00000000004c331e R15: 00007fdb7a1346d4
Modules linked in:
---[ end trace 5096692b6266afca ]---
RIP: 0010:migration_entry_to_page include/linux/swapops.h:197 [inline]
RIP: 0010:migration_entry_to_page include/linux/swapops.h:190 [inline]
RIP: 0010:pmd_migration_entry_wait+0x5b4/0x660 mm/migrate.c:368
Code: 32 e8 10 9f c0 ff 48 c7 c6 e0 a4 35 88 4c 89 e7 e8 81 a1 ec ff 0f 0b e8 fa 9e c0 ff 4d 8d 66 ff e9 1c fe ff ff e8 ec 9e c0 ff <0f> 0b e8 e5 9e c0 ff 0f 0b e8 de 9e c0 ff 4c 8d 65 ff eb c3 48 89
RSP: 0000:ffffc90015fffc70 EFLAGS: 00010293
RAX: ffff8880544f4180 RBX: 0000000000000000 RCX: ffffffff81b29e18
RDX: 0000000000000000 RSI: ffffffff81b29fc4 RDI: 0000000000000001
RBP: ffffea0000d40080 R08: ffff8880544f4180 R09: fffff940001a8001
R10: ffffea0000d40007 R11: fffff940001a8000 R12: ffffea0000d40000
R13: 1ffff92002bfff90 R14: ffffea0001230f08 R15: ffff8880503e11e0
FS: 00007fdb7a134700(0000) GS:ffff8880ae700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000200001c0 CR3: 00000000a703c000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxxx

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.