Re: general protection fault in eventfd_ctx_remove_wait_queue

From: Dmitry Vyukov
Date: Sat May 26 2018 - 05:22:25 EST


#syz dup: KASAN: use-after-free Write in irq_bypass_register_consumer

On Sat, May 26, 2018 at 11:17 AM, syzbot
<syzbot+f8c4b79b3cb98d795e59@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hello,
>
> syzbot found the following crash on:
>
> HEAD commit: 75bc37fefc44 Linux 4.17-rc4
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=161de3c7800000
> kernel config: https://syzkaller.appspot.com/x/.config?x=31f4b3733894ef79
> dashboard link: https://syzkaller.appspot.com/bug?extid=f8c4b79b3cb98d795e59
> compiler: gcc (GCC) 8.0.1 20180413 (experimental)
>
> Unfortunately, I don't have any reproducer for this crash yet.
>
> IMPORTANT: if you fix the bug, please add the following tag to the commit:
> Reported-by: syzbot+f8c4b79b3cb98d795e59@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready
> IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready
> 8021q: adding VLAN 0 to HW filter on device team0
> kasan: CONFIG_KASAN_INLINE enabled
> kasan: GPF could be caused by NULL-ptr deref or user memory access
> general protection fault: 0000 [#1] SMP KASAN
> Dumping ftrace buffer:
> (ftrace buffer empty)
> Modules linked in:
> CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 4.17.0-rc4+ #37
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> Google 01/01/2011
> Workqueue: kvm-irqfd-cleanup irqfd_shutdown
> RIP: 0010:__list_del_entry_valid+0x84/0xf3 lib/list_debug.c:51
> RSP: 0018:ffff8801d9a7f588 EFLAGS: 00010046
> RAX: dffffc0000000000 RBX: ffff8801a87665e0 RCX: 1ffff1003644b29a
> RDX: 0000000000000000 RSI: ffffffff81d628fe RDI: ffff8801a87665e8
> RBP: ffff8801d9a7f5a0 R08: ffff8801d9a6a100 R09: ffffed003644b291
> R10: ffffed003644b291 R11: ffff8801b225948b R12: 0000000000000000
> R13: 0000000000000000 R14: ffff8801a87665e0 R15: ffff8801d9a7f688
> FS: 0000000000000000(0000) GS:ffff8801dae00000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007f1d83a8d000 CR3: 00000001cf4a2000 CR4: 00000000001426f0
> DR0: 0000000020000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
> Call Trace:
> __list_del_entry include/linux/list.h:117 [inline]
> list_del include/linux/list.h:125 [inline]
> __remove_wait_queue include/linux/wait.h:184 [inline]
> eventfd_ctx_remove_wait_queue+0x16f/0x590 fs/eventfd.c:188
> irqfd_shutdown+0x94/0x1a0 arch/x86/kvm/../../../virt/kvm/eventfd.c:128
> process_one_work+0xc1e/0x1b50 kernel/workqueue.c:2145
> worker_thread+0x1cc/0x1440 kernel/workqueue.c:2279
> kthread+0x345/0x410 kernel/kthread.c:238
> ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412
> Code: c5 0f 84 cc 00 00 00 48 b8 00 02 00 00 00 00 ad de 49 39 c4 0f 84 a5
> 00 00 00 48 b8 00 00 00 00 00 fc ff df 4c 89 e2 48 c1 ea 03 <80> 3c 02 00 75
> 5f 49 8b 14 24 48 39 da 0f 85 ba 00 00 00 48 b8
> RIP: __list_del_entry_valid+0x84/0xf3 lib/list_debug.c:51 RSP:
> ffff8801d9a7f588
> ---[ end trace 115284d8987d1fc5 ]---
>
>
> ---
> This bug 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 syzkaller@xxxxxxxxxxxxxxxxx
>
> syzbot will keep track of this bug report. See:
> https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with
> syzbot.
>
> --
> You received this message because you are subscribed to the Google Groups
> "syzkaller-bugs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to syzkaller-bugs+unsubscribe@xxxxxxxxxxxxxxxxx
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/syzkaller-bugs/000000000000eb81b9056d1858c1%40google.com.
> For more options, visit https://groups.google.com/d/optout.