dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/14] drm/amd/pm: Replace one-element arrays with flexible-array members
@ 2020-10-07 16:01 Gustavo A. R. Silva
  2020-10-07 16:02 ` [PATCH 01/14] drm/amd/pm: Replace one-element array with flexible-array member Gustavo A. R. Silva
                   ` (14 more replies)
  0 siblings, 15 replies; 19+ messages in thread
From: Gustavo A. R. Silva @ 2020-10-07 16:01 UTC (permalink / raw)
  To: linux-kernel
  Cc: David Airlie, dri-devel, Gustavo A. R. Silva, amd-gfx,
	linux-hardening, Alex Deucher, Christian König

Hi all,

This series aims to replace one-element arrays with flexible-array
members.

There is a regular need in the kernel to provide a way to declare having
a dynamically sized set of trailing elements in a structure. Kernel code
should always use “flexible array members”[1] for these cases. The older
style of one-element or zero-length arrays should no longer be used[2].

Refactor the code according to the use of flexible-array members, instead
of one-element arrays, and use the struct_size() helper to calculate the
size for the dynamic memory allocation.

Also, save some heap space in the process. More on this on each individual
patch.

This series also addresses multiple of the following sorts of warnings:

drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu8_hwmgr.c:1515:37:
warning: array subscript 1 is above array bounds of ‘const struct
phm_clock_voltage_dependency_record[1]’ [-Warray-bounds]

which, in this case, they are false positives, but nervertheless should be
fixed in order to enable -Warray-bounds[3][4].

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays
[3] https://git.kernel.org/linus/44720996e2d79e47d508b0abe99b931a726a3197
[4] https://github.com/KSPP/linux/issues/109

Gustavo A. R. Silva (14):
  drm/amd/pm: Replace one-element array with flexible-array member
  drm/amd/pm: Replace one-element array with flexible-array member in
    struct vi_dpm_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_clock_array
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_uvd_clock_voltage_dependency_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_acp_clock_voltage_dependency_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_phase_shedding_limits_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_vce_clock_voltage_dependency_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_cac_leakage_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_samu_clock_voltage_dependency_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_ppt_v1_clock_voltage_dependency_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_ppt_v1_mm_clock_voltage_dependency_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_ppt_v1_voltage_lookup_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    phm_ppt_v1_pcie_table
  drm/amd/pm: Replace one-element array with flexible-array in struct
    ATOM_Vega10_GFXCLK_Dependency_Table

 drivers/gpu/drm/amd/pm/inc/hwmgr.h            | 20 ++---
 .../drm/amd/pm/powerplay/hwmgr/hwmgr_ppt.h    |  8 +-
 .../powerplay/hwmgr/process_pptables_v1_0.c   | 85 +++++++-----------
 .../amd/pm/powerplay/hwmgr/processpptables.c  | 85 +++++++-----------
 .../drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c   |  2 +-
 .../drm/amd/pm/powerplay/hwmgr/smu_helper.c   |  5 +-
 .../amd/pm/powerplay/hwmgr/vega10_pptable.h   |  2 +-
 .../powerplay/hwmgr/vega10_processpptables.c  | 88 ++++++-------------
 8 files changed, 107 insertions(+), 188 deletions(-)

-- 
2.27.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2020-10-08 15:53 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-07 16:01 [PATCH 00/14] drm/amd/pm: Replace one-element arrays with flexible-array members Gustavo A. R. Silva
2020-10-07 16:02 ` [PATCH 01/14] drm/amd/pm: Replace one-element array with flexible-array member Gustavo A. R. Silva
2020-10-07 16:03 ` [PATCH 02/14] drm/amd/pm: Replace one-element array with flexible-array member in struct vi_dpm_table Gustavo A. R. Silva
2020-10-07 16:04 ` [PATCH 03/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_clock_array Gustavo A. R. Silva
2020-10-07 16:04 ` [PATCH 04/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_uvd_clock_voltage_dependency_table Gustavo A. R. Silva
2020-10-07 16:05 ` [PATCH 05/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_acp_clock_voltage_dependency_table Gustavo A. R. Silva
2020-10-07 16:06 ` [PATCH 06/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_phase_shedding_limits_table Gustavo A. R. Silva
2020-10-07 16:06 ` [PATCH 07/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_vce_clock_voltage_dependency_table Gustavo A. R. Silva
2020-10-07 16:07 ` [PATCH 08/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_cac_leakage_table Gustavo A. R. Silva
2020-10-07 16:08 ` [PATCH 09/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_samu_clock_voltage_dependency_table Gustavo A. R. Silva
2020-10-07 16:08 ` [PATCH 10/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_ppt_v1_clock_voltage_dependency_table Gustavo A. R. Silva
2020-10-07 16:09 ` [PATCH 11/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_ppt_v1_mm_clock_voltage_dependency_table Gustavo A. R. Silva
2020-10-07 16:10 ` [PATCH 12/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_ppt_v1_voltage_lookup_table Gustavo A. R. Silva
2020-10-07 16:10 ` [PATCH 13/14] drm/amd/pm: Replace one-element array with flexible-array in struct phm_ppt_v1_pcie_table Gustavo A. R. Silva
2020-10-07 16:11 ` [PATCH 14/14] drm/amd/pm: Replace one-element array with flexible-array in struct ATOM_Vega10_GFXCLK_Dependency_Table Gustavo A. R. Silva
2020-10-08 15:46   ` Alex Deucher
2020-10-08  7:19 ` [PATCH 00/14] drm/amd/pm: Replace one-element arrays with flexible-array members Christian König
2020-10-08 13:20   ` Gustavo A. R. Silva
2020-10-08 15:53   ` Alex Deucher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).