lkml.org 
[lkml]   [2021]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] drm/amd/pm: And destination bounds checking to struct copy
From
Date
Am 23.08.21 um 16:23 schrieb Kees Cook:
>
> On August 22, 2021 11:28:54 PM PDT, "Christian König" <christian.koenig@amd.com> wrote:
>>
>> Am 19.08.21 um 22:14 schrieb Kees Cook:
>>> [...]
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>> index 96e895d6be35..4605934a4fb7 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>> @@ -1446,4 +1446,29 @@ static inline int amdgpu_in_reset(struct amdgpu_device *adev)
>>> {
>>> return atomic_read(&adev->in_gpu_reset);
>>> }
>>> +
>>> +/**
>>> + * memcpy_trailing - Copy the end of one structure into the middle of another
>>> + *
>>> + * @dst: Pointer to destination struct
>>> + * @first_dst_member: The member name in @dst where the overwrite begins
>>> + * @last_dst_member: The member name in @dst where the overwrite ends after
>>> + * @src: Pointer to the source struct
>>> + * @first_src_member: The member name in @src where the copy begins
>>> + *
>>> + */
>>> +#define memcpy_trailing(dst, first_dst_member, last_dst_member, \
>>> + src, first_src_member) \
>> Please don't add a function like this into amdgpu.h, especially when it
>> is only used by the SMU code.
> Sure, I'm happy to move it. It wasn't clear to me which headers were considered "immutable". Which header should I put this in?

I think amdgpu_smuio.h, but I'm not 100% sure. Alex do you have a better
idea?

We don't want to put anything new into amdgpu.h any more since this is
basically only a legacy leftover.

Thanks,
Christian.

>
>> And please give it an amdgpu_ prefix so that we are not confusing it
>> with a core function.
> Sure, I will include that.
>
>> Apart from that looks good to me.
> Thanks!
>
> -Kees

\
 
 \ /
  Last update: 2021-08-23 21:01    [W:0.080 / U:0.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site