Re: [PATCH] drm/amd/pm: And destination bounds checking to struct copy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 23.08.21 um 16:23 schrieb Kees Cook:

On August 22, 2021 11:28:54 PM PDT, "Christian König" <christian.koenig@xxxxxxx> 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




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux