syzbot


general protection fault in anon_vma_interval_tree_remove (2)

Status: auto-closed as invalid on 2021/08/27 20:15
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+64b30a74a4c17e69e6fa@syzkaller.appspotmail.com
First crash: 1065d, last: 1034d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in anon_vma_interval_tree_remove mm 2 1276d 1319d 0/26 auto-closed as invalid on 2020/12/28 05:40
upstream KASAN: use-after-free Read in anon_vma_interval_tree_remove mm C done 14 502d 685d 0/26 auto-obsoleted due to no activity on 2023/04/21 19:17

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffd4a1ffffd53: 0000 [#1] PREEMPT SMP KASAN
KASAN: probably user-memory-access in range [0x00000a50ffffea98-0x00000a50ffffea9f]
CPU: 1 PID: 8439 Comm: systemd-udevd Not tainted 5.12.0-rc8-next-20210423-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:vma_last_pgoff mm/interval_tree.c:20 [inline]
RIP: 0010:avc_last_pgoff mm/interval_tree.c:68 [inline]
RIP: 0010:__anon_vma_interval_tree_augment_compute_max mm/interval_tree.c:71 [inline]
RIP: 0010:__anon_vma_interval_tree_augment_propagate mm/interval_tree.c:71 [inline]
RIP: 0010:__rb_erase_augmented include/linux/rbtree_augmented.h:295 [inline]
RIP: 0010:rb_erase_augmented include/linux/rbtree_augmented.h:303 [inline]
RIP: 0010:rb_erase_augmented_cached include/linux/rbtree_augmented.h:314 [inline]
RIP: 0010:__anon_vma_interval_tree_remove mm/interval_tree.c:71 [inline]
RIP: 0010:anon_vma_interval_tree_remove+0x5dd/0xf40 mm/interval_tree.c:88
Code: ce ff 48 8d 7b e0 48 89 f8 48 c1 e8 03 80 3c 28 00 0f 85 b0 06 00 00 4c 8b 63 e0 49 8d bc 24 98 00 00 00 48 89 f8 48 c1 e8 03 <80> 3c 28 00 0f 85 9d 06 00 00 49 8d 7c 24 08 49 8b 94 24 98 00 00
RSP: 0018:ffffc900016cf8b0 EFLAGS: 00010206
RAX: 0000014a1ffffd53 RBX: ffff8880160d0020 RCX: 0000000000000000
RDX: ffff8880127eb900 RSI: ffffffff81a6bdd5 RDI: 00000a50ffffea98
RBP: dffffc0000000000 R08: 0000000000000000 R09: ffff888024396617
R10: ffffffff81a6c3a6 R11: 000000000000003f R12: 00000a50ffffea00
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f538e53f930 CR3: 000000001372e000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 unlink_anon_vmas+0x218/0x860 mm/rmap.c:402
 free_pgtables+0xe2/0x2f0 mm/memory.c:413
 exit_mmap+0x2b7/0x590 mm/mmap.c:3208
 __mmput+0x122/0x470 kernel/fork.c:1095
 mmput+0x58/0x60 kernel/fork.c:1116
 exec_mmap fs/exec.c:1031 [inline]
 begin_new_exec+0xea9/0x2c40 fs/exec.c:1287
 load_elf_binary+0x159d/0x4b30 fs/binfmt_elf.c:1001
 search_binary_handler fs/exec.c:1720 [inline]
 exec_binprm fs/exec.c:1761 [inline]
 bprm_execve fs/exec.c:1830 [inline]
 bprm_execve+0x7ef/0x19b0 fs/exec.c:1792
 do_execveat_common+0x621/0x7c0 fs/exec.c:1919
 do_execve fs/exec.c:1987 [inline]
 __do_sys_execve fs/exec.c:2063 [inline]
 __se_sys_execve fs/exec.c:2058 [inline]
 __x64_sys_execve+0x8f/0xc0 fs/exec.c:2058
 do_syscall_64+0x3a/0xb0 arch/x86/entry/common.c:47
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f538e5c4647
Code: Unable to access opcode bytes at RIP 0x7f538e5c461d.
RSP: 002b:00007ffe71a78bd8 EFLAGS: 00000207 ORIG_RAX: 000000000000003b
RAX: ffffffffffffffda RBX: 00007ffe71a79120 RCX: 00007f538e5c4647
RDX: 000056012e049f30 RSI: 00007ffe71a79120 RDI: 00007ffe71a78d20
RBP: 000000000000000f R08: 000000000000fefc R09: 0000000000000070
R10: 0000000000000008 R11: 0000000000000207 R12: 00007ffe71a78ca0
R13: 0000000000000012 R14: 000056012e049f30 R15: 00007ffe71a7a6f0
Modules linked in:
---[ end trace 42489c7e1a0b56b6 ]---
RIP: 0010:vma_last_pgoff mm/interval_tree.c:20 [inline]
RIP: 0010:avc_last_pgoff mm/interval_tree.c:68 [inline]
RIP: 0010:__anon_vma_interval_tree_augment_compute_max mm/interval_tree.c:71 [inline]
RIP: 0010:__anon_vma_interval_tree_augment_propagate mm/interval_tree.c:71 [inline]
RIP: 0010:__rb_erase_augmented include/linux/rbtree_augmented.h:295 [inline]
RIP: 0010:rb_erase_augmented include/linux/rbtree_augmented.h:303 [inline]
RIP: 0010:rb_erase_augmented_cached include/linux/rbtree_augmented.h:314 [inline]
RIP: 0010:__anon_vma_interval_tree_remove mm/interval_tree.c:71 [inline]
RIP: 0010:anon_vma_interval_tree_remove+0x5dd/0xf40 mm/interval_tree.c:88
Code: ce ff 48 8d 7b e0 48 89 f8 48 c1 e8 03 80 3c 28 00 0f 85 b0 06 00 00 4c 8b 63 e0 49 8d bc 24 98 00 00 00 48 89 f8 48 c1 e8 03 <80> 3c 28 00 0f 85 9d 06 00 00 49 8d 7c 24 08 49 8b 94 24 98 00 00
RSP: 0018:ffffc900016cf8b0 EFLAGS: 00010206
RAX: 0000014a1ffffd53 RBX: ffff8880160d0020 RCX: 0000000000000000
RDX: ffff8880127eb900 RSI: ffffffff81a6bdd5 RDI: 00000a50ffffea98
RBP: dffffc0000000000 R08: 0000000000000000 R09: ffff888024396617
R10: ffffffff81a6c3a6 R11: 000000000000003f R12: 00000a50ffffea00
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ff3625d5000 CR3: 000000001372e000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/04/28 00:21 linux-next e3d35712f85a 805b5003 .config console log report info ci-upstream-linux-next-kasan-gce-root general protection fault in anon_vma_interval_tree_remove
2021/05/29 20:15 upstream 6799d4f2da49 325a8dab .config console log report info ci-upstream-kasan-gce-386 BUG: unable to handle kernel paging request in anon_vma_interval_tree_remove
* Struck through repros no longer work on HEAD.