]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit - fs/io_uring.c
io_uring: fix false positive sqo warning on flush
authorPavel Begunkov <asml.silence@gmail.com>
Sat, 16 Jan 2021 05:32:29 +0000 (05:32 +0000)
committerJens Axboe <axboe@kernel.dk>
Sat, 16 Jan 2021 19:14:02 +0000 (12:14 -0700)
commit6b393a1ff1746a1c91bd95cbb2d79b104d8f15ac
tree9c59afb527d876e029ee18cfdabf0e9ee74b3eb8
parentc93cc9e16d88e0f5ea95d2d65d58a8a4dab258bc
io_uring: fix false positive sqo warning on flush

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.

Reported-by: syzbot+2f5d1785dc624932da78@syzkaller.appspotmail.com
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c