All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][next] io_uring: ensure variable ret is initialized to zero
@ 2019-09-26  9:50 ` Colin King
  0 siblings, 0 replies; 12+ messages in thread
From: Colin King @ 2019-09-26  9:50 UTC (permalink / raw)
  To: Jens Axboe, Alexander Viro, linux-block, linux-fsdevel
  Cc: kernel-janitors, linux-kernel

From: Colin Ian King <colin.king@canonical.com>

In the case where sig is NULL the error variable ret is not initialized
and may contain a garbage value on the final checks to see if ret is
-ERESTARTSYS.  Best to initialize ret to zero before the do loop to
ensure the ret does not accidentially contain -ERESTARTSYS before the
loop.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: dd671c79e40b ("io_uring: make CQ ring wakeups be more efficient")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 fs/io_uring.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 7b5710e3a18c..aa8ac557493c 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -2835,6 +2835,7 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events,
 			return ret;
 	}
 
+	ret = 0;
 	iowq.nr_timeouts = atomic_read(&ctx->cq_timeouts);
 	do {
 		prepare_to_wait_exclusive(&ctx->wait, &iowq.wq,
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-09-26 12:26 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-26  9:50 [PATCH][next] io_uring: ensure variable ret is initialized to zero Colin King
2019-09-26  9:50 ` Colin King
2019-09-26  9:56 ` Jens Axboe
2019-09-26  9:56   ` Jens Axboe
2019-09-26 11:33   ` Dan Carpenter
2019-09-26 11:33     ` Dan Carpenter
2019-09-26 11:42     ` Jens Axboe
2019-09-26 11:42       ` Jens Axboe
2019-09-26 12:14       ` Rasmus Villemoes
2019-09-26 12:14         ` Rasmus Villemoes
2019-09-26 12:26         ` Jens Axboe
2019-09-26 12:26           ` Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.