Re: general protection fault in unlink_file_vma

From: linmiaohe
Date: Tue Sep 15 2020 - 21:48:15 EST


> Hello,
>
> syzbot has tested the proposed patch but the reproducer is still triggering an issue:
> kernel panic: corrupted stack end in sys_nanosleep
>
> Kernel panic - not syncing: corrupted stack end detected inside scheduler
> CPU: 0 PID: 13791 Comm: syz-executor.4 Not tainted 5.9.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace:
> __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x198/0x1fd lib/dump_stack.c:118
> panic+0x347/0x7c0 kernel/panic.c:231
> schedule_debug kernel/sched/core.c:4278 [inline]
> __schedule+0x221e/0x2230 kernel/sched/core.c:4422
> schedule+0xd0/0x2a0 kernel/sched/core.c:4602 freezable_schedule include/linux/freezer.h:172 [inline]
> do_nanosleep+0x222/0x650 kernel/time/hrtimer.c:1883
> hrtimer_nanosleep+0x1f9/0x430 kernel/time/hrtimer.c:1936 __do_sys_nanosleep kernel/time/hrtimer.c:1970 [inline] __se_sys_nanosleep kernel/time/hrtimer.c:1957 [inline]
> __x64_sys_nanosleep+0x1dc/0x260 kernel/time/hrtimer.c:1957
> do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
> entry_SYSCALL_64_after_hwframe+0x44/0xa9
> RIP: 0033:0x45ba81
> Code: 75 14 b8 23 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 84 cf fb ff c3 48 83 ec 08 e8 ea 46 00 00 48 89 04 24 b8 23 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 33 47 00 00 48 89 d0 48 83 c4 08 48 3d 01
> RSP: 002b:00007ffca6cb6d70 EFLAGS: 00000293 ORIG_RAX: 0000000000000023
> RAX: ffffffffffffffda RBX: 000000000002f226 RCX: 000000000045ba81
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00007ffca6cb6d80
> RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000
> R10: 00007ffca6cb6e80 R11: 0000000000000293 R12: 000000000118cf40
> R13: 000000000118d940 R14: ffffffffffffffff R15: 000000000118cfec Kernel Offset: disabled Rebooting in 86400 seconds..
>
>
> Tested on:
>
> commit: 796cd8f4 fix gpf
> git tree: https://github.com/Linmiaohe/linux/
> console output: https://syzkaller.appspot.com/x/log.txt?x=12b5d501900000
> kernel config: https://syzkaller.appspot.com/x/.config?x=f82e58a6661a5ac4
> dashboard link: https://syzkaller.appspot.com/bug?extid=c5d5a51dcbb558ca0cb5
> compiler: gcc (GCC) 10.1.0-syz 20200507
>

#syz test: https://github.com/Linmiaohe/linux vma_merge_fix