syzbot
WARNING in vma_set_pgoff
Status:
upstream: reported C repro on 2026/08/20 22:52
Subsystems:
mm
Labels:
prio:low
[Documentation on labels]
Reported-by: syzbot+f12658786a4153df5113@syzkaller.appspotmail.com
Fix commit:
35b0fb391b0d
mm/mremap: reset unfaulted VMA page offset for MREMAP_DONTUNMAP
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-native-arm64-kvm ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-qemu2-riscv64 ci-snapshot-upstream-root ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci-upstream-rust-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb], missing on: [ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root]
First crash: 52d, last: 34d
▶
▼
Last patch testing requests (1)
| Created |
Duration |
User |
Patch |
Repo |
Result |
| 2026/09/03 01:54 |
1h47m
|
akpm@linux-foundation.org
|
patch |
upstream |
OK
job log
log
|
Sample crash report:
------------[ cut here ]------------
pgoff != vma->vm_start >> 12
WARNING: mm/vma.h:277 at assert_sane_pgoff mm/vma.h:277 [inline], CPU#1: syz.0.17/5861
WARNING: mm/vma.h:277 at vma_set_pgoff+0x246/0x2d0 mm/vma.h:283, CPU#1: syz.0.17/5861
Modules linked in:
CPU: 1 UID: 0 PID: 5861 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:assert_sane_pgoff mm/vma.h:277 [inline]
RIP: 0010:vma_set_pgoff+0x246/0x2d0 mm/vma.h:283
Code: 0b 90 e9 d5 fe ff ff e8 d8 99 9f ff 4c 89 f7 e8 30 09 00 ff c6 05 8f 7a 3b 0e 01 90 0f 0b 90 e9 fe fe ff ff e8 bb 99 9f ff 90 <0f> 0b 90 eb 9d 44 89 f9 80 e1 07 80 c1 03 38 c1 0f 8c eb fd ff ff
RSP: 0018:ffffc90002697388 EFLAGS: 00010293
RAX: ffffffff82282165 RBX: 0000000000080004 RCX: ffff888035b3ddc0
RDX: 0000000000000000 RSI: 0000000000080ffe RDI: 0000000000080004
RBP: 0000000000000007 R08: ffff888076c91583 R09: 1ffff1100ed922b0
R10: dffffc0000000000 R11: ffffed100ed922b1 R12: 0000000000000001
R13: dffffc0000000000 R14: ffff888076c91500 R15: 0000000000080ffe
FS: 0000000000000000(0000) GS:ffff888124dd9000(0063) knlGS:0000000056b6e480
CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 00000000f7183200 CR3: 000000007bcae000 CR4: 00000000003526f0
Call Trace:
<TASK>
vma_add_pgoff+0x1a8/0x570 mm/vma.h:314
__split_vma+0x89e/0xa60 mm/vma.c:607
vms_gather_munmap_vmas+0x322/0x1370 mm/vma.c:1507
do_vmi_align_munmap+0x2b4/0x4b0 mm/vma.c:1675
do_vmi_munmap+0x252/0x2d0 mm/vma.c:1732
do_munmap+0xf5/0x160 mm/mmap.c:1082
mremap_to+0x33a/0x8d0 mm/mremap.c:1458
do_mremap mm/mremap.c:2008 [inline]
__do_sys_mremap mm/mremap.c:2064 [inline]
__se_sys_mremap+0xf59/0x12d0 mm/mremap.c:2032
do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:79 [inline]
__do_fast_syscall_32+0x27a/0x6a0 arch/x86/entry/syscall_32.c:291
do_fast_syscall_32+0x33/0x70 arch/x86/entry/syscall_32.c:316
entry_SYSENTER_compat_after_hwframe+0x84/0x8e
RIP: 0023:0xf7f730ec
Code: 90 85 d2 74 0a 89 ce 81 e6 ff 0f 00 00 89 32 85 c0 74 05 c1 e9 0c 89 08 31 c0 5e 5d c3 90 0f 1f 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 58 b8
RSP: 002b:00000000fff0fedc EFLAGS: 00000206 ORIG_RAX: 00000000000000a3
RAX: ffffffffffffffda RBX: 0000000080ffd000 RCX: 0000000000001000
RDX: 0000000000002000 RSI: 0000000000000003 RDI: 0000000080ffe000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
</TASK>
----------------
Code disassembly (best guess):
0: 90 nop
1: 85 d2 test %edx,%edx
3: 74 0a je 0xf
5: 89 ce mov %ecx,%esi
7: 81 e6 ff 0f 00 00 and $0xfff,%esi
d: 89 32 mov %esi,(%rdx)
f: 85 c0 test %eax,%eax
11: 74 05 je 0x18
13: c1 e9 0c shr $0xc,%ecx
16: 89 08 mov %ecx,(%rax)
18: 31 c0 xor %eax,%eax
1a: 5e pop %rsi
1b: 5d pop %rbp
1c: c3 ret
1d: 90 nop
1e: 0f 1f 00 nopl (%rax)
21: 51 push %rcx
22: 52 push %rdx
23: 55 push %rbp
24: 89 e5 mov %esp,%ebp
26: 0f 34 sysenter
28: cd 80 int $0x80
* 2a: 5d pop %rbp <-- trapping instruction
2b: 5a pop %rdx
2c: 59 pop %rcx
2d: c3 ret
2e: 90 nop
2f: 90 nop
30: 90 nop
31: 90 nop
32: 90 nop
33: 90 nop
34: 90 nop
35: 90 nop
36: 90 nop
37: 90 nop
38: 90 nop
39: 90 nop
3a: 90 nop
3b: 90 nop
3c: 90 nop
3d: 90 nop
3e: 58 pop %rax
3f: b8 .byte 0xb8
* Struck through repros no longer work on HEAD.