* [PATCH][next] drm/amdgpu/amdkfd: Avoid a couple hundred -Wflex-array-member-not-at-end warnings
@ 2025-08-29 9:58 Gustavo A. R. Silva
2025-09-02 15:11 ` Kuehling, Felix
0 siblings, 1 reply; 3+ messages in thread
From: Gustavo A. R. Silva @ 2025-08-29 9:58 UTC (permalink / raw)
To: Alex Deucher, Christian König, David Airlie, Simona Vetter,
Felix Kuehling
Cc: amd-gfx, dri-devel, linux-kernel, Gustavo A. R. Silva,
linux-hardening
-Wflex-array-member-not-at-end was introduced in GCC-14, and we are
getting ready to enable it, globally.
Move the conflicting declarations to the end of the corresponding
structures. Notice that `struct dev_pagemap` is a flexible structure,
this is a structure that contains a flexible-array member.
Fix 283 of the following type of warnings:
283 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h:111:28: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8 +++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 8 +++++---
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index ddd472e56f69..24f3e5cfbe5d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1155,9 +1155,6 @@ struct amdgpu_device {
/* for userq and VM fences */
struct amdgpu_seq64 seq64;
- /* KFD */
- struct amdgpu_kfd_dev kfd;
-
/* UMC */
struct amdgpu_umc umc;
@@ -1320,6 +1317,11 @@ struct amdgpu_device {
struct mutex userq_mutex;
bool userq_halt_for_enforce_isolation;
struct amdgpu_uid *uid_info;
+
+ /* KFD
+ * Must be last --ends in a flexible-array member.
+ */
+ struct amdgpu_kfd_dev kfd;
};
static inline uint32_t amdgpu_ip_version(const struct amdgpu_device *adev,
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
index 33eb4826b58b..127927b16ee2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
@@ -107,11 +107,13 @@ struct amdgpu_kfd_dev {
bool init_complete;
struct work_struct reset_work;
- /* HMM page migration MEMORY_DEVICE_PRIVATE mapping */
- struct dev_pagemap pgmap;
-
/* Client for KFD BO GEM handle allocations */
struct drm_client_dev client;
+
+ /* HMM page migration MEMORY_DEVICE_PRIVATE mapping
+ * Must be last --ends in a flexible-array member.
+ */
+ struct dev_pagemap pgmap;
};
enum kgd_engine_type {
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH][next] drm/amdgpu/amdkfd: Avoid a couple hundred -Wflex-array-member-not-at-end warnings
2025-08-29 9:58 [PATCH][next] drm/amdgpu/amdkfd: Avoid a couple hundred -Wflex-array-member-not-at-end warnings Gustavo A. R. Silva
@ 2025-09-02 15:11 ` Kuehling, Felix
2025-09-03 8:36 ` Gustavo A. R. Silva
0 siblings, 1 reply; 3+ messages in thread
From: Kuehling, Felix @ 2025-09-02 15:11 UTC (permalink / raw)
To: Gustavo A. R. Silva, Alex Deucher, Christian König,
David Airlie, Simona Vetter
Cc: amd-gfx, dri-devel, linux-kernel, linux-hardening
On 2025-08-29 5:58 a.m., Gustavo A. R. Silva wrote:
> -Wflex-array-member-not-at-end was introduced in GCC-14, and we are
> getting ready to enable it, globally.
>
> Move the conflicting declarations to the end of the corresponding
> structures. Notice that `struct dev_pagemap` is a flexible structure,
> this is a structure that contains a flexible-array member.
>
> Fix 283 of the following type of warnings:
> 283 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h:111:28: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
>
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Thank you. I'll apply this to amd-staging-drm-next. I'll also add a note
to the commit description that struct dev_pagemap always has space for
at least one range, and that amdgpu only uses a single range. Therefore
no changes are needed in the way struct amdgpu_device is allocated.
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8 +++++---
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 8 +++++---
> 2 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> index ddd472e56f69..24f3e5cfbe5d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> @@ -1155,9 +1155,6 @@ struct amdgpu_device {
> /* for userq and VM fences */
> struct amdgpu_seq64 seq64;
>
> - /* KFD */
> - struct amdgpu_kfd_dev kfd;
> -
> /* UMC */
> struct amdgpu_umc umc;
>
> @@ -1320,6 +1317,11 @@ struct amdgpu_device {
> struct mutex userq_mutex;
> bool userq_halt_for_enforce_isolation;
> struct amdgpu_uid *uid_info;
> +
> + /* KFD
> + * Must be last --ends in a flexible-array member.
> + */
> + struct amdgpu_kfd_dev kfd;
> };
>
> static inline uint32_t amdgpu_ip_version(const struct amdgpu_device *adev,
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
> index 33eb4826b58b..127927b16ee2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
> @@ -107,11 +107,13 @@ struct amdgpu_kfd_dev {
> bool init_complete;
> struct work_struct reset_work;
>
> - /* HMM page migration MEMORY_DEVICE_PRIVATE mapping */
> - struct dev_pagemap pgmap;
> -
> /* Client for KFD BO GEM handle allocations */
> struct drm_client_dev client;
> +
> + /* HMM page migration MEMORY_DEVICE_PRIVATE mapping
> + * Must be last --ends in a flexible-array member.
> + */
> + struct dev_pagemap pgmap;
> };
>
> enum kgd_engine_type {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH][next] drm/amdgpu/amdkfd: Avoid a couple hundred -Wflex-array-member-not-at-end warnings
2025-09-02 15:11 ` Kuehling, Felix
@ 2025-09-03 8:36 ` Gustavo A. R. Silva
0 siblings, 0 replies; 3+ messages in thread
From: Gustavo A. R. Silva @ 2025-09-03 8:36 UTC (permalink / raw)
To: Kuehling, Felix, Gustavo A. R. Silva, Alex Deucher,
Christian König, David Airlie, Simona Vetter
Cc: amd-gfx, dri-devel, linux-kernel, linux-hardening
On 9/2/25 17:11, Kuehling, Felix wrote:
> On 2025-08-29 5:58 a.m., Gustavo A. R. Silva wrote:
>> -Wflex-array-member-not-at-end was introduced in GCC-14, and we are
>> getting ready to enable it, globally.
>>
>> Move the conflicting declarations to the end of the corresponding
>> structures. Notice that `struct dev_pagemap` is a flexible structure,
>> this is a structure that contains a flexible-array member.
>>
>> Fix 283 of the following type of warnings:
>> 283 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h:111:28: warning: structure containing a flexible array member is not at the end of another structure [-
>> Wflex-array-member-not-at-end]
>>
>> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
>
> Thank you. I'll apply this to amd-staging-drm-next. I'll also add a note to the commit description that struct dev_pagemap always has space for at least one
> range, and that amdgpu only uses a single range. Therefore no changes are needed in the way struct amdgpu_device is allocated.
Yep, that's correct. Thank you! :)
-Gustavo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-09-03 13:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-29 9:58 [PATCH][next] drm/amdgpu/amdkfd: Avoid a couple hundred -Wflex-array-member-not-at-end warnings Gustavo A. R. Silva
2025-09-02 15:11 ` Kuehling, Felix
2025-09-03 8:36 ` Gustavo A. R. Silva
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.