2020-02-11 17:06:39

by Colin King

[permalink] [raw]
Subject: [PATCH][next] io_uring: fix return of an uninitialized variable ret

From: Colin Ian King <[email protected]>

Currently variable ret is not initialized and this value is being
returned at the end of the function io_poll_double_wake. Since
ret is not being used anywhere else remove it and just return 0.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: f6e84af0767f ("io_uring: allow POLL_ADD with double poll_wait() users")
Signed-off-by: Colin Ian King <[email protected]>
---
fs/io_uring.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 72bc378edebc..5c6a899b51d8 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -3707,7 +3707,6 @@ static int io_poll_double_wake(struct wait_queue_entry *wait, unsigned mode,
struct io_poll_iocb *poll = (void *) req->io;
__poll_t mask = key_to_poll(key);
bool done = true;
- int ret;

/* for instances that support it check for an event match first: */
if (mask && !(mask & poll->events))
@@ -3725,7 +3724,7 @@ static int io_poll_double_wake(struct wait_queue_entry *wait, unsigned mode,
if (!done)
__io_poll_wake(req, poll, mask);
refcount_dec(&req->refs);
- return ret;
+ return 0;
}

struct io_poll_table {
--
2.25.0


2020-02-11 17:11:07

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH][next] io_uring: fix return of an uninitialized variable ret

On 2/11/20 9:02 AM, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> Currently variable ret is not initialized and this value is being
> returned at the end of the function io_poll_double_wake. Since
> ret is not being used anywhere else remove it and just return 0.

It's supposed to return 1, a previous edition had 'ret' dependent
on the wake call, but we didn't need that anymore.

I folded in a fix earlier this morning, and my for-next branch should
now be fine.

--
Jens Axboe