[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f6d995fc-daba-45e1-9fbc-18b7e5723b69@kernel.dk>
Date: Tue, 23 Sep 2025 05:25:17 -0600
From: Jens Axboe <axboe@...nel.dk>
To: clingfei <clf700383@...il.com>
Cc: io-uring@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] io_uring/rsrc: remove unnecessary check on resv2
On 9/23/25 3:10 AM, clingfei wrote:
> Jens Axboe <axboe@...nel.dk> ?2025?9?23??? 16:50???
>>
>> On 9/23/25 2:41 AM, clingfei wrote:
>>> From b52509776e0f7f9ea703d0551ccaeeaa49ab6440 Mon Sep 17 00:00:00 2001
>>> From: clingfei <clf700383@...il.com>
>>> Date: Tue, 23 Sep 2025 16:30:30 +0800
>>> Subject: [PATCH] io_uring/rsrc: remove unnecessary check on resv2
>>>
>>> The memset sets the up.resv2 to be 0,
>>> and the copy_from_user does not touch it,
>>> thus up.resv2 will always be false.
>>
>> Please wrap commit messages at around ~72 chars.
>>
>>> Signed-off-by: clingfei <clf700383@...il.com>
>>> ---
>>> io_uring/rsrc.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/io_uring/rsrc.c b/io_uring/rsrc.c
>>> index f75f5e43fa4a..7006b3ca5404 100644
>>> --- a/io_uring/rsrc.c
>>> +++ b/io_uring/rsrc.c
>>> @@ -372,7 +372,7 @@ int io_register_files_update(struct io_ring_ctx
>>> *ctx, void __user *arg,
>>> memset(&up, 0, sizeof(up));
>>> if (copy_from_user(&up, arg, sizeof(struct io_uring_rsrc_update)))
>>> return -EFAULT;
>>> - if (up.resv || up.resv2)
>>> + if (up.resv)
>>> return -EINVAL;
>>> return __io_register_rsrc_update(ctx, IORING_RSRC_FILE, &up, nr_args);
>>> }
>>
>> White space damaged patch, but more importantly, I don't think this is
>> worth adding. Yes it'll never overwrite resv2 because of the different
>> sizes. Curious how you ran into this?
>>
>> --
>> Jens Axboe
>
> During my review of the io_uring code, I noticed that
> sizeof(io_uring_rsrc_update) is used to initialize a struct
> io_uring_rsrc_update2. My initial suspicion was that this might be an
> error, but upon closer inspection, I verified that this usage is
> intentional and correct.
Gotcha. Yes it overlays the struct. I'm not vehemently opposed to your
patch, but it'd be nice if it came with a comment as well as to why just
checking the first part is enough. And, of course, with the other things
I mentioned fixed too. So feel free to resend, if you wish.
--
Jens Axboe
Powered by blists - more mailing lists