[syzbot] [mm?] general protection fault in sys_mremap

7 views
Skip to first unread message

syzbot

unread,
Apr 1, 2025, 8:00:22 PM4/1/25
to Liam.H...@oracle.com, ak...@linux-foundation.org, ja...@google.com, linux-...@vger.kernel.org, linu...@kvack.org, lorenzo...@oracle.com, syzkall...@googlegroups.com, vba...@suse.cz
Hello,

syzbot found the following issue on:

HEAD commit: 405e2241def8 Add linux-next specific files for 20250331
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=164c9bcf980000
kernel config: https://syzkaller.appspot.com/x/.config?x=f2054704dd53fb80
dashboard link: https://syzkaller.appspot.com/bug?extid=e3385f43b2897a19be24
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/7f800beaa14a/disk-405e2241.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/a573ae9a8887/vmlinux-405e2241.xz
kernel image: https://storage.googleapis.com/syzbot-assets/f4f732eedbc9/bzImage-405e2241.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+e3385f...@syzkaller.appspotmail.com

Oops: general protection fault, probably for non-canonical address 0xdffffc0000000004: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000020-0x0000000000000027]
CPU: 0 UID: 0 PID: 6953 Comm: syz.1.290 Not tainted 6.14.0-next-20250331-syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
RIP: 0010:vrm_uncharge mm/mremap.c:964 [inline]
RIP: 0010:expand_vma_in_place mm/mremap.c:1566 [inline]
RIP: 0010:expand_vma mm/mremap.c:1621 [inline]
RIP: 0010:mremap_at mm/mremap.c:1682 [inline]
RIP: 0010:do_mremap mm/mremap.c:1727 [inline]
RIP: 0010:__do_sys_mremap mm/mremap.c:1784 [inline]
RIP: 0010:__se_sys_mremap+0x25fa/0x2c00 mm/mremap.c:1752
Code: c0 0f 85 0e 05 00 00 0f b6 9c 24 20 03 00 00 31 ff 89 de e8 c8 16 ab ff 85 db 0f 84 7b 01 00 00 e8 bb 13 ab ff e9 9e 00 00 00 <80> 78 04 00 74 0a bf 20 00 00 00 e8 c6 2d 15 00 4c 8b 34 25 20 00
RSP: 0018:ffffc9001c347b40 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 1ffff92003868fca
RDX: ffffc9000d093000 RSI: 00000000000000e0 RDI: 00000000000000e1
RBP: ffffc9001c347f00 R08: ffffffff821d1414 R09: ffffffff8c2734a7
R10: 0000000000000004 R11: ffff888026f55a00 R12: 0000200000ff8000
R13: ffff888034282000 R14: 0000000018000098 R15: ffffc9001c347cd0
FS: 00007f975bfad6c0(0000) GS:ffff888124f95000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f975bf8bf98 CR3: 000000005c0a6000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f975b18d169
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f975bfad038 EFLAGS: 00000246 ORIG_RAX: 0000000000000019
RAX: ffffffffffffffda RBX: 00007f975b3a6080 RCX: 00007f975b18d169
RDX: 0000000000002000 RSI: 0000000000001000 RDI: 0000200000ff8000
RBP: 00007f975b20e2a0 R08: 0000200000ff8000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f975b3a6080 R15: 00007ffe4ecc7008
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:vrm_uncharge mm/mremap.c:964 [inline]
RIP: 0010:expand_vma_in_place mm/mremap.c:1566 [inline]
RIP: 0010:expand_vma mm/mremap.c:1621 [inline]
RIP: 0010:mremap_at mm/mremap.c:1682 [inline]
RIP: 0010:do_mremap mm/mremap.c:1727 [inline]
RIP: 0010:__do_sys_mremap mm/mremap.c:1784 [inline]
RIP: 0010:__se_sys_mremap+0x25fa/0x2c00 mm/mremap.c:1752
Code: c0 0f 85 0e 05 00 00 0f b6 9c 24 20 03 00 00 31 ff 89 de e8 c8 16 ab ff 85 db 0f 84 7b 01 00 00 e8 bb 13 ab ff e9 9e 00 00 00 <80> 78 04 00 74 0a bf 20 00 00 00 e8 c6 2d 15 00 4c 8b 34 25 20 00
RSP: 0018:ffffc9001c347b40 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 1ffff92003868fca
RDX: ffffc9000d093000 RSI: 00000000000000e0 RDI: 00000000000000e1
RBP: ffffc9001c347f00 R08: ffffffff821d1414 R09: ffffffff8c2734a7
R10: 0000000000000004 R11: ffff888026f55a00 R12: 0000200000ff8000
R13: ffff888034282000 R14: 0000000018000098 R15: ffffc9001c347cd0
FS: 00007f975bfad6c0(0000) GS:ffff888124f95000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f74d4f78ab8 CR3: 000000005c0a6000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 0f 85 0e 05 00 00 jne 0x514
6: 0f b6 9c 24 20 03 00 movzbl 0x320(%rsp),%ebx
d: 00
e: 31 ff xor %edi,%edi
10: 89 de mov %ebx,%esi
12: e8 c8 16 ab ff call 0xffab16df
17: 85 db test %ebx,%ebx
19: 0f 84 7b 01 00 00 je 0x19a
1f: e8 bb 13 ab ff call 0xffab13df
24: e9 9e 00 00 00 jmp 0xc7
* 29: 80 78 04 00 cmpb $0x0,0x4(%rax) <-- trapping instruction
2d: 74 0a je 0x39
2f: bf 20 00 00 00 mov $0x20,%edi
34: e8 c6 2d 15 00 call 0x152dff
39: 4c rex.WR
3a: 8b .byte 0x8b
3b: 34 25 xor $0x25,%al
3d: 20 00 and %al,(%rax)


---
This report 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 syzk...@googlegroups.com.

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

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Apr 2, 2025, 6:01:22 AM4/2/25
to Liam.H...@oracle.com, ak...@linux-foundation.org, ja...@google.com, liam.h...@oracle.com, linux-...@vger.kernel.org, linu...@kvack.org, lorenzo...@oracle.com, syzkall...@googlegroups.com, vba...@suse.cz
syzbot has found a reproducer for the following issue on:

HEAD commit: acc4d5ff0b61 Merge tag 'net-6.15-rc0' of git://git.kernel...
git tree: upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=16719404580000
kernel config: https://syzkaller.appspot.com/x/.config?x=24f9c4330e7c0609
dashboard link: https://syzkaller.appspot.com/bug?extid=e3385f43b2897a19be24
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=175a4fb0580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1687b7b0580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/e4bfa652b34a/disk-acc4d5ff.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/3d19beb8bb92/vmlinux-acc4d5ff.xz
kernel image: https://storage.googleapis.com/syzbot-assets/e7298ccc6331/bzImage-acc4d5ff.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+e3385f...@syzkaller.appspotmail.com

Oops: general protection fault, probably for non-canonical address 0xdffffc0000000004: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000020-0x0000000000000027]
CPU: 0 UID: 0 PID: 5840 Comm: syz-executor163 Not tainted 6.14.0-syzkaller-12456-gacc4d5ff0b61 #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
RIP: 0010:vrm_uncharge mm/mremap.c:964 [inline]
RIP: 0010:expand_vma_in_place mm/mremap.c:1566 [inline]
RIP: 0010:expand_vma mm/mremap.c:1621 [inline]
RIP: 0010:mremap_at mm/mremap.c:1682 [inline]
RIP: 0010:do_mremap mm/mremap.c:1727 [inline]
RIP: 0010:__do_sys_mremap mm/mremap.c:1784 [inline]
RIP: 0010:__se_sys_mremap+0x25fa/0x2c00 mm/mremap.c:1752
Code: c0 0f 85 0e 05 00 00 0f b6 9c 24 20 03 00 00 31 ff 89 de e8 d8 0d ab ff 85 db 0f 84 7b 01 00 00 e8 cb 0a ab ff e9 9e 00 00 00 <80> 78 04 00 74 0a bf 20 00 00 00 e8 26 2f 15 00 4c 8b 34 25 20 00
RSP: 0018:ffffc900040cfb40 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 1ffff92000819fca
RDX: 0000000000000000 RSI: 0000000010000000 RDI: 0000000000000000
RBP: ffffc900040cff00 R08: ffffffff821d1f24 R09: ffffffff8c271397
R10: 0000000000000004 R11: ffff888034658000 R12: 0000200000000000
R13: ffff888077fac000 R14: 00000000180000fa R15: ffffc900040cfcd0
FS: 0000555571cf3380(0000) GS:ffff888124f99000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00002000000000c0 CR3: 00000000316de000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f4480ba0369
Code: 48 83 c4 28 c3 e8 37 17 00 00 0f 1f 80 00 00 00 00 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 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fff6c642778 EFLAGS: 00000246 ORIG_RAX: 0000000000000019
RAX: ffffffffffffffda RBX: 0000200000000000 RCX: 00007f4480ba0369
RDX: 0000000000004000 RSI: 0000000000001000 RDI: 0000200000000000
RBP: 0000200000001000 R08: 0000200000001000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
R13: 00007fff6c642958 R14: 0000000000000001 R15: 0000000000000001
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:vrm_uncharge mm/mremap.c:964 [inline]
RIP: 0010:expand_vma_in_place mm/mremap.c:1566 [inline]
RIP: 0010:expand_vma mm/mremap.c:1621 [inline]
RIP: 0010:mremap_at mm/mremap.c:1682 [inline]
RIP: 0010:do_mremap mm/mremap.c:1727 [inline]
RIP: 0010:__do_sys_mremap mm/mremap.c:1784 [inline]
RIP: 0010:__se_sys_mremap+0x25fa/0x2c00 mm/mremap.c:1752
Code: c0 0f 85 0e 05 00 00 0f b6 9c 24 20 03 00 00 31 ff 89 de e8 d8 0d ab ff 85 db 0f 84 7b 01 00 00 e8 cb 0a ab ff e9 9e 00 00 00 <80> 78 04 00 74 0a bf 20 00 00 00 e8 26 2f 15 00 4c 8b 34 25 20 00
RSP: 0018:ffffc900040cfb40 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 1ffff92000819fca
RDX: 0000000000000000 RSI: 0000000010000000 RDI: 0000000000000000
RBP: ffffc900040cff00 R08: ffffffff821d1f24 R09: ffffffff8c271397
R10: 0000000000000004 R11: ffff888034658000 R12: 0000200000000000
R13: ffff888077fac000 R14: 00000000180000fa R15: ffffc900040cfcd0
FS: 0000555571cf3380(0000) GS:ffff888124f99000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00002000000000c0 CR3: 00000000316de000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 0f 85 0e 05 00 00 jne 0x514
6: 0f b6 9c 24 20 03 00 movzbl 0x320(%rsp),%ebx
d: 00
e: 31 ff xor %edi,%edi
10: 89 de mov %ebx,%esi
12: e8 d8 0d ab ff call 0xffab0def
17: 85 db test %ebx,%ebx
19: 0f 84 7b 01 00 00 je 0x19a
1f: e8 cb 0a ab ff call 0xffab0aef
24: e9 9e 00 00 00 jmp 0xc7
* 29: 80 78 04 00 cmpb $0x0,0x4(%rax) <-- trapping instruction
2d: 74 0a je 0x39
2f: bf 20 00 00 00 mov $0x20,%edi
34: e8 26 2f 15 00 call 0x152f5f
39: 4c rex.WR
3a: 8b .byte 0x8b
3b: 34 25 xor $0x25,%al
3d: 20 00 and %al,(%rax)


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

Lorenzo Stoakes

unread,
Apr 2, 2025, 6:19:58 AM4/2/25
to syzbot, Liam.H...@oracle.com, ak...@linux-foundation.org, ja...@google.com, linux-...@vger.kernel.org, linu...@kvack.org, syzkall...@googlegroups.com, vba...@suse.cz
Hi,

This is already addressed in
https://lore.kernel.org/linux-mm/b2fb6b9c-376d-4e9b...@lucifer.local/
this just doesn't exist in -next/upstream yet.

I _think_ we may be doing a 2nd PR for mm? But if not it'll be fixed in an
early rc.

To make the point, friendly bot - let's have you try out the fix:

#syz test: git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/ mm-stable

Thanks, Lorenzo

syzbot

unread,
Apr 2, 2025, 6:20:06 AM4/2/25
to lorenzo...@oracle.com, ak...@linux-foundation.org, ja...@google.com, liam.h...@oracle.com, linux-...@vger.kernel.org, linu...@kvack.org, lorenzo...@oracle.com, syzkall...@googlegroups.com, vba...@suse.cz
> Hi,
>
> This is already addressed in
> https://lore.kernel.org/linux-mm/b2fb6b9c-376d-4e9b...@lucifer.local/
> this just doesn't exist in -next/upstream yet.
>
> I _think_ we may be doing a 2nd PR for mm? But if not it'll be fixed in an
> early rc.
>
> To make the point, friendly bot - let's have you try out the fix:
>
> #syz test: git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/ mm-stable

"git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/" does not look like a valid git repo address.

Lorenzo Stoakes

unread,
Apr 2, 2025, 6:22:20 AM4/2/25
to syzbot, ak...@linux-foundation.org, ja...@google.com, liam.h...@oracle.com, linux-...@vger.kernel.org, linu...@kvack.org, syzkall...@googlegroups.com, vba...@suse.cz
On Wed, Apr 02, 2025 at 03:20:04AM -0700, syzbot wrote:
> > Hi,
> >
> > This is already addressed in
> > https://lore.kernel.org/linux-mm/b2fb6b9c-376d-4e9b...@lucifer.local/
> > this just doesn't exist in -next/upstream yet.
> >
> > I _think_ we may be doing a 2nd PR for mm? But if not it'll be fixed in an
> > early rc.
> >
> > To make the point, friendly bot - let's have you try out the fix:
> >
> > #syz test: git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/ mm-stable
>
> "git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/" does not look like a valid git repo address.

#syz test: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/ mm-stable

syzbot

unread,
Apr 2, 2025, 7:46:05 AM4/2/25
to ak...@linux-foundation.org, ja...@google.com, liam.h...@oracle.com, linux-...@vger.kernel.org, linu...@kvack.org, lorenzo...@oracle.com, syzkall...@googlegroups.com, vba...@suse.cz
Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
unregister_netdevice: waiting for DEV to become free

unregister_netdevice: waiting for batadv0 to become free. Usage count = 3


Tested on:

commit: e20706d5 mseal sysmap: add arch-support txt
git tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/ mm-stable
console output: https://syzkaller.appspot.com/x/log.txt?x=167a694c580000
kernel config: https://syzkaller.appspot.com/x/.config?x=ccf540055069887f
dashboard link: https://syzkaller.appspot.com/bug?extid=e3385f43b2897a19be24
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40

Note: no patches were applied.

Lorenzo Stoakes

unread,
Apr 2, 2025, 7:49:47 AM4/2/25
to syzbot, ak...@linux-foundation.org, ja...@google.com, liam.h...@oracle.com, linux-...@vger.kernel.org, linu...@kvack.org, syzkall...@googlegroups.com, vba...@suse.cz
On Wed, Apr 02, 2025 at 04:46:03AM -0700, syzbot wrote:
> Hello,
>
> syzbot has tested the proposed patch but the reproducer is still triggering an issue:
> unregister_netdevice: waiting for DEV to become free
>
> unregister_netdevice: waiting for batadv0 to become free. Usage count = 3

Yeah... this looks like a syzbot snafu.

I have tested the fix against the repro _manually_ and confirmed it works.

But I guess, let's try again? For the sake of... something :P

syzbot

unread,
Apr 2, 2025, 8:51:05 AM4/2/25
to ak...@linux-foundation.org, ja...@google.com, liam.h...@oracle.com, linux-...@vger.kernel.org, linu...@kvack.org, lorenzo...@oracle.com, syzkall...@googlegroups.com, vba...@suse.cz
Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
unregister_netdevice: waiting for DEV to become free

unregister_netdevice: waiting for batadv0 to become free. Usage count = 3


Tested on:

commit: e20706d5 mseal sysmap: add arch-support txt
git tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/ mm-stable
console output: https://syzkaller.appspot.com/x/log.txt?x=13bf9998580000

Lorenzo Stoakes

unread,
Apr 2, 2025, 9:03:05 AM4/2/25
to syzbot, ak...@linux-foundation.org, ja...@google.com, liam.h...@oracle.com, linux-...@vger.kernel.org, linu...@kvack.org, syzkall...@googlegroups.com, vba...@suse.cz
On Wed, Apr 02, 2025 at 05:51:02AM -0700, syzbot wrote:
> Hello,
>
> syzbot has tested the proposed patch but the reproducer is still triggering an issue:
> unregister_netdevice: waiting for DEV to become free
>
> unregister_netdevice: waiting for batadv0 to become free. Usage count = 3

OK so this looks like a broken test box.

For belts and suspenders purposes, I confirmed this repro, and the previously
reported one both work fine on mm-stable.

All is good, the issue is resolved :) just a matter of waiting for the merge to
mainline for this.

#syz fix: mm/mremap: do not set vrm->vma NULL immediately prior to checking it

Andrew Morton

unread,
Apr 2, 2025, 6:31:16 PM4/2/25
to Lorenzo Stoakes, syzbot, Liam.H...@oracle.com, ja...@google.com, linux-...@vger.kernel.org, linu...@kvack.org, syzkall...@googlegroups.com, vba...@suse.cz
On Wed, 2 Apr 2025 11:19:45 +0100 Lorenzo Stoakes <lorenzo...@oracle.com> wrote:

> I _think_ we may be doing a 2nd PR for mm?

yup. There was a bunch of material awaiting a -tip merge, and a few other things.
Reply all
Reply to author
Forward
0 new messages