OSDN Git Service

io_uring: fix io_poll_remove_all clang warnings
authorPavel Begunkov <asml.silence@gmail.com>
Mon, 20 Jun 2022 00:25:54 +0000 (01:25 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Jul 2022 00:39:14 +0000 (18:39 -0600)
clang complains on bitwise operations with bools, add a bit more
verbosity to better show that we want to call io_poll_remove_all_table()
twice but with different arguments.

Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/f11d21dcdf9233e0eeb15fa13b858a05a78eb310.1655684496.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/poll.c

index b2659b5..cbf44c3 100644 (file)
@@ -595,8 +595,11 @@ __cold bool io_poll_remove_all(struct io_ring_ctx *ctx, struct task_struct *tsk,
                               bool cancel_all)
        __must_hold(&ctx->uring_lock)
 {
-       return io_poll_remove_all_table(tsk, &ctx->cancel_table, cancel_all) |
-              io_poll_remove_all_table(tsk, &ctx->cancel_table_locked, cancel_all);
+       bool ret;
+
+       ret = io_poll_remove_all_table(tsk, &ctx->cancel_table, cancel_all);
+       ret |= io_poll_remove_all_table(tsk, &ctx->cancel_table_locked, cancel_all);
+       return ret;
 }
 
 static struct io_kiocb *io_poll_find(struct io_ring_ctx *ctx, bool poll_only,