2021-04-26 09:52:18

by Colin King

[permalink] [raw]
Subject: [PATCH][next] io_uring: Fix uninitialized variable up.resv

From: Colin Ian King <[email protected]>

The variable up.resv is not initialized and is being checking for a
non-zero value in the call to _io_register_rsrc_update. Fix this by
explicitly setting the pointer to 0.

Addresses-Coverity: ("Uninitialized scalar variable)"
Fixes: c3bdad027183 ("io_uring: add generic rsrc update with tags")
Signed-off-by: Colin Ian King <[email protected]>
---
fs/io_uring.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index f4ec092c23f4..63f610ee274b 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -5842,6 +5842,7 @@ static int io_files_update(struct io_kiocb *req, unsigned int issue_flags)
up.data = req->rsrc_update.arg;
up.nr = 0;
up.tags = 0;
+ up.resv = 0;

mutex_lock(&ctx->uring_lock);
ret = __io_register_rsrc_update(ctx, IORING_RSRC_FILE,
--
2.30.2


2021-04-26 10:00:26

by Pavel Begunkov

[permalink] [raw]
Subject: Re: [PATCH][next] io_uring: Fix uninitialized variable up.resv

On 4/26/21 10:47 AM, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> The variable up.resv is not initialized and is being checking for a
> non-zero value in the call to _io_register_rsrc_update. Fix this by
> explicitly setting the pointer to 0.

LGTM, thanks Colin


> Addresses-Coverity: ("Uninitialized scalar variable)"
> Fixes: c3bdad027183 ("io_uring: add generic rsrc update with tags")
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> fs/io_uring.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/io_uring.c b/fs/io_uring.c
> index f4ec092c23f4..63f610ee274b 100644
> --- a/fs/io_uring.c
> +++ b/fs/io_uring.c
> @@ -5842,6 +5842,7 @@ static int io_files_update(struct io_kiocb *req, unsigned int issue_flags)
> up.data = req->rsrc_update.arg;
> up.nr = 0;
> up.tags = 0;
> + up.resv = 0;
>
> mutex_lock(&ctx->uring_lock);
> ret = __io_register_rsrc_update(ctx, IORING_RSRC_FILE,
>

--
Pavel Begunkov

2021-04-26 10:05:41

by Colin King

[permalink] [raw]
Subject: Re: [PATCH][next] io_uring: Fix uninitialized variable up.resv

On 26/04/2021 10:59, Pavel Begunkov wrote:
> On 4/26/21 10:47 AM, Colin King wrote:
>> From: Colin Ian King <[email protected]>
>>
>> The variable up.resv is not initialized and is being checking for a
>> non-zero value in the call to _io_register_rsrc_update. Fix this by
>> explicitly setting the pointer to 0.

^^ s/pointer/variable/

Shall I send a V2?

>
> LGTM, thanks Colin
>
>
>> Addresses-Coverity: ("Uninitialized scalar variable)"
>> Fixes: c3bdad027183 ("io_uring: add generic rsrc update with tags")
>> Signed-off-by: Colin Ian King <[email protected]>
>> ---
>> fs/io_uring.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/fs/io_uring.c b/fs/io_uring.c
>> index f4ec092c23f4..63f610ee274b 100644
>> --- a/fs/io_uring.c
>> +++ b/fs/io_uring.c
>> @@ -5842,6 +5842,7 @@ static int io_files_update(struct io_kiocb *req, unsigned int issue_flags)
>> up.data = req->rsrc_update.arg;
>> up.nr = 0;
>> up.tags = 0;
>> + up.resv = 0;
>>
>> mutex_lock(&ctx->uring_lock);
>> ret = __io_register_rsrc_update(ctx, IORING_RSRC_FILE,
>>
>

2021-04-26 10:10:06

by Pavel Begunkov

[permalink] [raw]
Subject: Re: [PATCH][next] io_uring: Fix uninitialized variable up.resv

On 4/26/21 11:01 AM, Colin Ian King wrote:
> On 26/04/2021 10:59, Pavel Begunkov wrote:
>> On 4/26/21 10:47 AM, Colin King wrote:
>>> From: Colin Ian King <[email protected]>
>>>
>>> The variable up.resv is not initialized and is being checking for a
>>> non-zero value in the call to _io_register_rsrc_update. Fix this by
>>> explicitly setting the pointer to 0.
>
> ^^ s/pointer/variable/
>
> Shall I send a V2?

If you like, but if you don't want to resend it's not important, or
Jens can edit it while applying.

>
>>
>> LGTM, thanks Colin
>>
>>
>>> Addresses-Coverity: ("Uninitialized scalar variable)"
>>> Fixes: c3bdad027183 ("io_uring: add generic rsrc update with tags")
>>> Signed-off-by: Colin Ian King <[email protected]>
>>> ---
>>> fs/io_uring.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/fs/io_uring.c b/fs/io_uring.c
>>> index f4ec092c23f4..63f610ee274b 100644
>>> --- a/fs/io_uring.c
>>> +++ b/fs/io_uring.c
>>> @@ -5842,6 +5842,7 @@ static int io_files_update(struct io_kiocb *req, unsigned int issue_flags)
>>> up.data = req->rsrc_update.arg;
>>> up.nr = 0;
>>> up.tags = 0;
>>> + up.resv = 0;
>>>
>>> mutex_lock(&ctx->uring_lock);
>>> ret = __io_register_rsrc_update(ctx, IORING_RSRC_FILE,
>>>
>>
>

--
Pavel Begunkov

2021-04-26 12:53:51

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH][next] io_uring: Fix uninitialized variable up.resv

On 4/26/21 3:47 AM, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> The variable up.resv is not initialized and is being checking for a
> non-zero value in the call to _io_register_rsrc_update. Fix this by
> explicitly setting the pointer to 0.

Thanks Colin, applied. I changed the pointer to variable while doing
so.

--
Jens Axboe