[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d51e11fa-54b0-41f4-9b06-95b46094de39@ursulin.net>
Date: Wed, 10 Sep 2025 11:09:21 +0100
From: Tvrtko Ursulin <tursulin@...ulin.net>
To: Alex Deucher <alexdeucher@...il.com>
Cc: Thorsten Blum <thorsten.blum@...ux.dev>,
Alex Deucher <alexander.deucher@....com>,
Christian König <christian.koenig@....com>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
amd-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/amdgpu: Replace kzalloc + copy_from_user with
memdup_user
On 09/09/2025 14:36, Alex Deucher wrote:
> On Tue, Sep 9, 2025 at 4:17 AM Tvrtko Ursulin <tursulin@...ulin.net> wrote:
>>
>>
>> On 08/09/2025 22:15, Thorsten Blum wrote:
>>> Replace kzalloc() followed by copy_from_user() with memdup_user() to
>>> improve and simplify ta_if_load_debugfs_write() and
>>> ta_if_invoke_debugfs_write().
>>>
>>> No functional changes intended.
>>>
>>> Signed-off-by: Thorsten Blum <thorsten.blum@...ux.dev>
>>> ---
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c | 20 ++++++--------------
>>> 1 file changed, 6 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c
>>> index 38face981c3e..6e8aad91bcd3 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c
>>> @@ -171,13 +171,9 @@ static ssize_t ta_if_load_debugfs_write(struct file *fp, const char *buf, size_t
>>>
>>> copy_pos += sizeof(uint32_t);
>>>
>>> - ta_bin = kzalloc(ta_bin_len, GFP_KERNEL);
>>> - if (!ta_bin)
>>> - return -ENOMEM;
>>> - if (copy_from_user((void *)ta_bin, &buf[copy_pos], ta_bin_len)) {
>>> - ret = -EFAULT;
>>> - goto err_free_bin;
>>> - }
>>> + ta_bin = memdup_user(&buf[copy_pos], ta_bin_len);
>>> + if (IS_ERR(ta_bin))
>>> + return PTR_ERR(ta_bin);
>>>
>>> /* Set TA context and functions */
>>> set_ta_context_funcs(psp, ta_type, &context);
>>> @@ -327,13 +323,9 @@ static ssize_t ta_if_invoke_debugfs_write(struct file *fp, const char *buf, size
>>> return -EFAULT;
>>> copy_pos += sizeof(uint32_t);
>>>
>>> - shared_buf = kzalloc(shared_buf_len, GFP_KERNEL);
>>> - if (!shared_buf)
>>> - return -ENOMEM;
>>> - if (copy_from_user((void *)shared_buf, &buf[copy_pos], shared_buf_len)) {
>>> - ret = -EFAULT;
>>> - goto err_free_shared_buf;
>>> - }
>>> + shared_buf = memdup_user(&buf[copy_pos], shared_buf_len);
>>> + if (IS_ERR(shared_buf))
>>> + return PTR_ERR(shared_buf);
>>>
>>> set_ta_context_funcs(psp, ta_type, &context);
>>>
>>
>> More complete than the one I sent in June^1.
>
> I never received this series. I didn't see it in patchwork either.
> Seems it never made it to amd-gfx. Sorry I missed it. I've applied
> the applicable patches now.
Thank you and no worries, it wasn't anything urgent.
Regards,
Tvrtko
Powered by blists - more mailing lists