• P
    io_uring: fix false positive sqo warning on flush · 79ee5666
    Pavel Begunkov 提交于
    stable inclusion
    from stable-5.10.12
    commit 0682759126bc761c325325ca809ae99c93fda2a0
    bugzilla: 47876
    
    --------------------------------
    
    [ Upstream commit 6b393a1f ]
    
    WARNING: CPU: 1 PID: 9094 at fs/io_uring.c:8884
    	io_disable_sqo_submit+0x106/0x130 fs/io_uring.c:8884
    Call Trace:
     io_uring_flush+0x28b/0x3a0 fs/io_uring.c:9099
     filp_close+0xb4/0x170 fs/open.c:1280
     close_fd+0x5c/0x80 fs/file.c:626
     __do_sys_close fs/open.c:1299 [inline]
     __se_sys_close fs/open.c:1297 [inline]
     __x64_sys_close+0x2f/0xa0 fs/open.c:1297
     do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    io_uring's final close() may be triggered by any task not only the
    creator. It's well handled by io_uring_flush() including SQPOLL case,
    though a warning in io_disable_sqo_submit() will fallaciously fire by
    moving this warning out to the only call site that matters.
    
    Cc: stable@vger.kernel.org # 5.5+
    Reported-by: syzbot+2f5d1785dc624932da78@syzkaller.appspotmail.com
    Signed-off-by: NPavel Begunkov <asml.silence@gmail.com>
    Signed-off-by: NJens Axboe <axboe@kernel.dk>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: NChen Jun <chenjun102@huawei.com>
    Acked-by: NXie XiuQi <xiexiuqi@huawei.com>
    Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
    79ee5666
io_uring.c 240.4 KB