• Pavel Begunkov's avatar
    io_uring: do sqo disable on install_fd error · 06585c49
    Pavel Begunkov authored
    WARNING: CPU: 0 PID: 8494 at fs/io_uring.c:8717
    	io_ring_ctx_wait_and_kill+0x4f2/0x600 fs/io_uring.c:8717
    Call Trace:
     io_uring_release+0x3e/0x50 fs/io_uring.c:8759
     __fput+0x283/0x920 fs/file_table.c:280
     task_work_run+0xdd/0x190 kernel/task_work.c:140
     tracehook_notify_resume include/linux/tracehook.h:189 [inline]
     exit_to_user_mode_loop kernel/entry/common.c:174 [inline]
     exit_to_user_mode_prepare+0x249/0x250 kernel/entry/common.c:201
     __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline]
     syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:302
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    failed io_uring_install_fd() is a special case, we don't do
    io_ring_ctx_wait_and_kill() directly but defer it to fput, though still
    need to io_disable_sqo_submit() before.
    
    note: it doesn't fix any real problem, just a warning. That's because
    sqring won't be available to the userspace in this case and so SQPOLL
    won't submit anything.
    
    Reported-by: syzbot+9c9c35374c0ecac06516@syzkaller.appspotmail.com
    Fixes: d9d05217 ("io_uring: stop SQPOLL submit on creator's death")
    Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    06585c49
io_uring.c 243 KB