re: io_uring: process task work in io_uring_register()
From: Colin Ian King
Date: Thu Oct 08 2020 - 14:23:59 EST
Hi,
Static analysis with Coverity has detected a "dead-code" issue with the
following commit:
commit af9c1a44f8dee7a958e07977f24ba40e3c770987
Author: Jens Axboe <axboe@xxxxxxxxx>
Date: Thu Sep 24 13:32:18 2020 -0600
io_uring: process task work in io_uring_register()
The analysis is as follows:
9513 do {
9514 ret =
wait_for_completion_interruptible(&ctx->ref_comp);
cond_const: Condition ret, taking false branch. Now the value of ret is
equal to 0.
9515 if (!ret)
9516 break;
9517 if (io_run_task_work_sig() > 0)
9518 continue;
9519 } while (1);
9520
9521 mutex_lock(&ctx->uring_lock);
9522
const: At condition ret, the value of ret must be equal to 0.
dead_error_condition: The condition ret cannot be true.
9523 if (ret) {
Logically dead code (DEADCODE)
dead_error_begin: Execution cannot reach this statement:
9524 percpu_ref_resurrect(&ctx->refs);
9525 ret = -EINTR;
9526 goto out_quiesce;
9527 }
9528 }
9529
Colin