syzbot


WARNING in io_poll_double_wake

Status: fixed on 2021/11/10 00:50
Subsystems: fs io-uring
[Documentation on labels]
Reported-by: syzbot+f2aca089e6f77e5acd46@syzkaller.appspotmail.com
Fix commit: a890d01e4ee0 io_uring: fix poll requests leaking second poll entries
First crash: 1272d, last: 1167d
Cause bisection: introduced by (bisect log) :
commit b69de288e913030082bed3a324ddc58be6c1e983
Author: Jens Axboe <axboe@kernel.dk>
Date: Wed Mar 17 14:37:41 2021 +0000

  io_uring: allow events and user_data update of running poll requests

Crash: WARNING in io_poll_double_wake (log)
Repro: C syz .config
  
Fix bisection: fixed by (bisect log) :
commit a890d01e4ee016978776e45340e521b3bbbdf41f
Author: Hao Xu <haoxu@linux.alibaba.com>
Date: Wed Jul 28 03:03:22 2021 +0000

  io_uring: fix poll requests leaking second poll entries

  
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] WARNING in io_poll_double_wake 1 (3) 2021/09/20 08:16

Sample crash report:
------------[ cut here ]------------
WARNING: CPU: 0 PID: 8477 at fs/io_uring.c:1535 req_ref_put fs/io_uring.c:1535 [inline]
WARNING: CPU: 0 PID: 8477 at fs/io_uring.c:1535 req_ref_put fs/io_uring.c:1533 [inline]
WARNING: CPU: 0 PID: 8477 at fs/io_uring.c:1535 io_poll_double_wake+0x4fb/0x760 fs/io_uring.c:4974
Modules linked in:
CPU: 0 PID: 8477 Comm: syz-executor232 Not tainted 5.13.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:req_ref_put fs/io_uring.c:1535 [inline]
RIP: 0010:req_ref_put fs/io_uring.c:1533 [inline]
RIP: 0010:io_poll_double_wake+0x4fb/0x760 fs/io_uring.c:4974
Code: cb db ff f0 41 ff 4c 24 5c 0f 94 c3 31 ff 89 de e8 2a b5 95 ff 84 db b8 01 00 00 00 0f 84 6f fc ff ff 89 04 24 e8 d5 ae 95 ff <0f> 0b 8b 04 24 e9 5d fc ff ff e8 c6 ae 95 ff 4c 89 e5 e9 a1 fb ff
RSP: 0018:ffffc900016cfc20 EFLAGS: 00010093
RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000000
RDX: ffff888024021c40 RSI: ffffffff81dfd9db RDI: 0000000000000003
RBP: ffff88801771d91c R08: 0000000000000001 R09: 0000000000000001
R10: ffffffff81dfd9c6 R11: 0000000000000000 R12: ffff88801771d8c0
R13: 0000000000000000 R14: ffff88801771d8f0 R15: ffff888014bfe4a0
FS:  0000000002131300(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffe08fb1080 CR3: 0000000013bc6000 CR4: 00000000001506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 __wake_up_common+0x147/0x650 kernel/sched/wait.c:108
 __wake_up_common_lock+0xd0/0x130 kernel/sched/wait.c:138
 pty_close+0x224/0x4f0 drivers/tty/pty.c:68
 tty_release+0x45e/0x1200 drivers/tty/tty_io.c:1771
 __fput+0x288/0x920 fs/file_table.c:280
 task_work_run+0xdd/0x1a0 kernel/task_work.c:164
 tracehook_notify_resume include/linux/tracehook.h:189 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:175 [inline]
 exit_to_user_mode_prepare+0x27e/0x290 kernel/entry/common.c:209
 __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline]
 syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:302
 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4075fb
Code: 0f 05 48 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 03 fd ff ff 8b 7c 24 0c 41 89 c0 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 89 44 24 0c e8 41 fd ff ff 8b 44
RSP: 002b:00007ffe08f83710 EFLAGS: 00000293 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 0000000000000005 RCX: 00000000004075fb
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 0000000000000004
RBP: 0000000000000006 R08: 0000000000000000 R09: 0000000000000064
R10: 00007ffe08f83770 R11: 0000000000000293 R12: 000000000000ffe7
R13: 00000000004d12ac R14: 00007ffe08f83770 R15: 00000000004d12a0

Crashes (1124):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/07/11 23:05 upstream 98f7fdced2e0 8f5a7b8c .config console log report syz C ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/04/16 21:11 linux-next 1216f02e46a4 7e2b734b .config console log report syz C ci-upstream-linux-next-kasan-gce-root WARNING in io_poll_double_wake
2021/07/31 07:32 upstream 764a5bc89b12 6c236867 .config console log report info ci-upstream-kasan-gce-selinux-root WARNING in io_poll_double_wake
2021/07/30 20:13 upstream 764a5bc89b12 6c236867 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/30 20:13 upstream 764a5bc89b12 6c236867 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/30 18:50 upstream 764a5bc89b12 6c236867 .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/30 15:52 upstream 764a5bc89b12 c585c7b0 .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/30 10:24 upstream 7e96bf476270 c585c7b0 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/30 00:41 upstream 7e96bf476270 c585c7b0 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/29 22:20 upstream 7e96bf476270 b44001ce .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/29 15:14 upstream 4010a528219e b44001ce .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/29 15:09 upstream 4010a528219e b44001ce .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/29 11:39 upstream 4010a528219e b44001ce .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/28 20:03 upstream 4010a528219e 9a4781d4 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/28 11:16 upstream 7d549995d4e0 17d6ab15 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/28 08:26 upstream 7d549995d4e0 17d6ab15 .config console log report info ci-upstream-kasan-gce-selinux-root WARNING in io_poll_double_wake
2021/07/28 04:58 upstream 7d549995d4e0 17d6ab15 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/28 04:52 upstream 7d549995d4e0 17d6ab15 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/28 03:13 upstream 7d549995d4e0 17d6ab15 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/27 19:04 upstream ff1176468d36 fd511809 .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/27 15:02 upstream ff1176468d36 fd511809 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/26 20:41 upstream ff1176468d36 fd511809 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/26 08:28 upstream ff1176468d36 fd511809 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/25 23:50 upstream d8079fac1681 4d1b57d4 .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/25 19:01 upstream 6498f6151825 4d1b57d4 .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/25 18:37 upstream 7ffca2bb9d8b 4d1b57d4 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/25 16:33 upstream 6498f6151825 4d1b57d4 .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/25 15:21 upstream 6498f6151825 4d1b57d4 .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/25 13:51 upstream 6498f6151825 4d1b57d4 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/25 03:41 upstream 6498f6151825 4d1b57d4 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/25 02:40 upstream 6498f6151825 4d1b57d4 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/24 18:42 upstream f0fddcec6b62 4d1b57d4 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/24 18:35 upstream f0fddcec6b62 4d1b57d4 .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/24 16:40 upstream f0fddcec6b62 4d1b57d4 .config console log report info ci-upstream-kasan-gce-selinux-root WARNING in io_poll_double_wake
2021/07/24 14:11 upstream f0fddcec6b62 4d1b57d4 .config console log report info ci-upstream-kasan-gce-smack-root WARNING in io_poll_double_wake
2021/07/24 12:57 upstream f0fddcec6b62 4d1b57d4 .config console log report info ci-upstream-kasan-gce-selinux-root WARNING in io_poll_double_wake
2021/07/24 11:55 upstream f0fddcec6b62 4d1b57d4 .config console log report info ci-upstream-kasan-gce-selinux-root WARNING in io_poll_double_wake
2021/07/24 08:02 upstream 8baef6386baa bc5f1d88 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/23 20:39 upstream 9bead1b58c4c bc5f1d88 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/07/23 09:37 upstream 9bead1b58c4c bc5f1d88 .config console log report info ci-upstream-kasan-gce-selinux-root WARNING in io_poll_double_wake
2021/07/23 09:29 upstream 9bead1b58c4c bc5f1d88 .config console log report info ci-upstream-kasan-gce-selinux-root WARNING in io_poll_double_wake
2021/07/23 06:20 upstream 9bead1b58c4c bc5f1d88 .config console log report info ci-upstream-kasan-gce-root WARNING in io_poll_double_wake
2021/07/23 04:10 upstream 9bead1b58c4c bc5f1d88 .config console log report info ci-upstream-kasan-gce WARNING in io_poll_double_wake
2021/06/01 19:26 upstream c2131f7e73c9 032639db .config console log report info ci-qemu-upstream WARNING in io_poll_double_wake
2021/07/30 20:50 upstream 764a5bc89b12 6c236867 .config console log report info ci-upstream-kasan-gce-386 WARNING in io_poll_double_wake
2021/07/28 21:50 upstream 4010a528219e 9a4781d4 .config console log report info ci-upstream-kasan-gce-386 WARNING in io_poll_double_wake
2021/07/28 06:25 upstream 7d549995d4e0 17d6ab15 .config console log report info ci-upstream-kasan-gce-386 WARNING in io_poll_double_wake
2021/07/26 10:19 upstream ff1176468d36 fd511809 .config console log report info ci-upstream-kasan-gce-386 WARNING in io_poll_double_wake
2021/07/23 05:36 upstream 9bead1b58c4c bc5f1d88 .config console log report info ci-upstream-kasan-gce-386 WARNING in io_poll_double_wake
2021/07/17 00:02 upstream d936eb238744 f115ae98 .config console log report info ci-qemu-upstream-386 WARNING in io_poll_double_wake
2021/07/23 20:26 linux-next 90d856e71443 bc5f1d88 .config console log report info ci-upstream-linux-next-kasan-gce-root WARNING in io_poll_double_wake
2021/07/23 11:59 linux-next 90d856e71443 bc5f1d88 .config console log report info ci-upstream-linux-next-kasan-gce-root WARNING in io_poll_double_wake
2021/04/16 20:44 linux-next 1216f02e46a4 7e2b734b .config console log report info ci-upstream-linux-next-kasan-gce-root WARNING in io_poll_double_wake
* Struck through repros no longer work on HEAD.