OSDN Git Service

io_uring: fix shadowed variable ret return code being not checked
authorColin Ian King <colin.king@canonical.com>
Sun, 5 May 2019 22:01:22 +0000 (23:01 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 6 May 2019 16:21:34 +0000 (10:21 -0600)
Currently variable ret is declared in a while-loop code block that
shadows another variable ret. When an error occurs in the while-loop
the error return in ret is not being set in the outer code block and
so the error check on ret is always going to be checking on the wrong
ret variable resulting in check that is always going to be true and
a premature return occurs.

Fix this by removing the declaration of the inner while-loop variable
ret so that shadowing does not occur.

Addresses-Coverity: ("'Constant' variable guards dead code")
Fixes: 6b06314c47e1 ("io_uring: add file set registration")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index d91cbd5..1157a06 100644 (file)
@@ -2363,7 +2363,6 @@ static int io_sqe_files_scm(struct io_ring_ctx *ctx)
        left = ctx->nr_user_files;
        while (left) {
                unsigned this_files = min_t(unsigned, left, SCM_MAX_FD);
-               int ret;
 
                ret = __io_sqe_files_scm(ctx, this_files, total);
                if (ret)