Re: [syzbot] kernel BUG in vmf_insert_pfn_prot

From: syzbot
Date: Sat Sep 18 2021 - 11:55:26 EST


syzbot has found a reproducer for the following issue on:

HEAD commit: 9004fd387338 Add linux-next specific files for 20210917
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=11e1691d300000
kernel config: https://syzkaller.appspot.com/x/.config?x=45d5ac72f31f29f3
dashboard link: https://syzkaller.appspot.com/bug?extid=2d4f8693f438d2bd4bdb
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13ad5527300000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13beef77300000

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

------------[ cut here ]------------
kernel BUG at mm/memory.c:2103!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 6537 Comm: syz-executor894 Not tainted 5.15.0-rc1-next-20210917-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:vmf_insert_pfn_prot+0x248/0x450 mm/memory.c:2103
Code: 0f 0b e8 6b d0 ca ff 4d 89 f7 bf 20 00 00 00 41 83 e7 28 4c 89 fe e8 b7 d5 ca ff 49 83 ff 20 0f 85 a5 fe ff ff e8 48 d0 ca ff <0f> 0b 49 be ff ff ff ff ff ff 0f 00 e8 37 d0 ca ff 4d 21 ee 4c 89
RSP: 0000:ffffc90002c5fbd0 EFLAGS: 00010293
RAX: 0000000000000000 RBX: 1ffff9200058bf7c RCX: 0000000000000000
RDX: ffff888014d81c80 RSI: ffffffff81ab3e18 RDI: 0000000000000003
RBP: ffff88806ec18318 R08: 0000000000000020 R09: ffffc90002c5fbb7
R10: ffffffff81ab3e09 R11: 0000000000000000 R12: 0000000020000000
R13: 000000000001a305 R14: 0000000008140476 R15: 0000000000000020
FS: 00007fd624da5700(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000600 CR3: 000000006e41e000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
drm_gem_shmem_fault+0x1e3/0x290 drivers/gpu/drm/drm_gem_shmem_helper.c:564
__do_fault+0x10d/0x4d0 mm/memory.c:3848
do_cow_fault mm/memory.c:4184 [inline]
do_fault mm/memory.c:4285 [inline]
handle_pte_fault mm/memory.c:4541 [inline]
__handle_mm_fault+0x370e/0x5120 mm/memory.c:4676
handle_mm_fault+0x1c8/0x790 mm/memory.c:4774
do_user_addr_fault+0x48b/0x11c0 arch/x86/mm/fault.c:1390
handle_page_fault arch/x86/mm/fault.c:1475 [inline]
exc_page_fault+0x9e/0x180 arch/x86/mm/fault.c:1531
asm_exc_page_fault+0x1e/0x30 arch/x86/include/asm/idtentry.h:568
RIP: 0033:0x7fd624db0238
Code: c0 75 63 48 8d 75 0c b9 40 42 0f 00 ba 81 00 00 00 c7 45 0c 01 00 00 00 bf ca 00 00 00 31 c0 e8 0e 2a 04 00 eb 85 0f 1f 40 00 <4c> 89 24 25 00 06 00 20 45 31 c0 31 c9 31 c0 c6 04 25 08 06 00 20
RSP: 002b:00007fd624da5320 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 00007fd624e7b3e8 RCX: 00007fd624df2c59
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fd624e7b3e8
RBP: 00007fd624e7b3e0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 3162662f7665642f
R13: 00007ffe82f363ff R14: 00007fd624da5400 R15: 0000000000022000
Modules linked in:
---[ end trace 0e8bfa618299b282 ]---
RIP: 0010:vmf_insert_pfn_prot+0x248/0x450 mm/memory.c:2103
Code: 0f 0b e8 6b d0 ca ff 4d 89 f7 bf 20 00 00 00 41 83 e7 28 4c 89 fe e8 b7 d5 ca ff 49 83 ff 20 0f 85 a5 fe ff ff e8 48 d0 ca ff <0f> 0b 49 be ff ff ff ff ff ff 0f 00 e8 37 d0 ca ff 4d 21 ee 4c 89
RSP: 0000:ffffc90002c5fbd0 EFLAGS: 00010293
RAX: 0000000000000000 RBX: 1ffff9200058bf7c RCX: 0000000000000000
RDX: ffff888014d81c80 RSI: ffffffff81ab3e18 RDI: 0000000000000003
RBP: ffff88806ec18318 R08: 0000000000000020 R09: ffffc90002c5fbb7
R10: ffffffff81ab3e09 R11: 0000000000000000 R12: 0000000020000000
R13: 000000000001a305 R14: 0000000008140476 R15: 0000000000000020
FS: 00007fd624da5700(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f27acc516c0 CR3: 000000006e41e000 CR4: 00000000001506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400