Skip to content

Commit d6b9f49

Browse files
committed
drm/amdgpu: partially revert powerplay __counted_by changes
Partially revert commit 0ca9f75 ("drm/amd/pm: powerplay: Add `__counted_by` attribute for flexible arrays") The count attribute for these arrays does not get set until after the arrays are allocated and populated leading to false UBSAN warnings. Fixes: 0ca9f75 ("drm/amd/pm: powerplay: Add `__counted_by` attribute for flexible arrays") Reviewed-by: Mario Limonciello <[email protected]> Reviewed-by: Lijo Lazar <[email protected]> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3662 Signed-off-by: Alex Deucher <[email protected]> (cherry picked from commit 8a5ae92) Cc: [email protected]
1 parent 8e82d11 commit d6b9f49

File tree

1 file changed

+13
-13
lines changed
  • drivers/gpu/drm/amd/pm/powerplay/inc

1 file changed

+13
-13
lines changed

drivers/gpu/drm/amd/pm/powerplay/inc/hwmgr.h

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ struct vi_dpm_level {
6060

6161
struct vi_dpm_table {
6262
uint32_t count;
63-
struct vi_dpm_level dpm_level[] __counted_by(count);
63+
struct vi_dpm_level dpm_level[];
6464
};
6565

6666
#define PCIE_PERF_REQ_REMOVE_REGISTRY 0
@@ -91,7 +91,7 @@ struct phm_set_power_state_input {
9191

9292
struct phm_clock_array {
9393
uint32_t count;
94-
uint32_t values[] __counted_by(count);
94+
uint32_t values[];
9595
};
9696

9797
struct phm_clock_voltage_dependency_record {
@@ -123,7 +123,7 @@ struct phm_acpclock_voltage_dependency_record {
123123

124124
struct phm_clock_voltage_dependency_table {
125125
uint32_t count;
126-
struct phm_clock_voltage_dependency_record entries[] __counted_by(count);
126+
struct phm_clock_voltage_dependency_record entries[];
127127
};
128128

129129
struct phm_phase_shedding_limits_record {
@@ -140,7 +140,7 @@ struct phm_uvd_clock_voltage_dependency_record {
140140

141141
struct phm_uvd_clock_voltage_dependency_table {
142142
uint8_t count;
143-
struct phm_uvd_clock_voltage_dependency_record entries[] __counted_by(count);
143+
struct phm_uvd_clock_voltage_dependency_record entries[];
144144
};
145145

146146
struct phm_acp_clock_voltage_dependency_record {
@@ -150,7 +150,7 @@ struct phm_acp_clock_voltage_dependency_record {
150150

151151
struct phm_acp_clock_voltage_dependency_table {
152152
uint32_t count;
153-
struct phm_acp_clock_voltage_dependency_record entries[] __counted_by(count);
153+
struct phm_acp_clock_voltage_dependency_record entries[];
154154
};
155155

156156
struct phm_vce_clock_voltage_dependency_record {
@@ -161,32 +161,32 @@ struct phm_vce_clock_voltage_dependency_record {
161161

162162
struct phm_phase_shedding_limits_table {
163163
uint32_t count;
164-
struct phm_phase_shedding_limits_record entries[] __counted_by(count);
164+
struct phm_phase_shedding_limits_record entries[];
165165
};
166166

167167
struct phm_vceclock_voltage_dependency_table {
168168
uint8_t count;
169-
struct phm_vceclock_voltage_dependency_record entries[] __counted_by(count);
169+
struct phm_vceclock_voltage_dependency_record entries[];
170170
};
171171

172172
struct phm_uvdclock_voltage_dependency_table {
173173
uint8_t count;
174-
struct phm_uvdclock_voltage_dependency_record entries[] __counted_by(count);
174+
struct phm_uvdclock_voltage_dependency_record entries[];
175175
};
176176

177177
struct phm_samuclock_voltage_dependency_table {
178178
uint8_t count;
179-
struct phm_samuclock_voltage_dependency_record entries[] __counted_by(count);
179+
struct phm_samuclock_voltage_dependency_record entries[];
180180
};
181181

182182
struct phm_acpclock_voltage_dependency_table {
183183
uint32_t count;
184-
struct phm_acpclock_voltage_dependency_record entries[] __counted_by(count);
184+
struct phm_acpclock_voltage_dependency_record entries[];
185185
};
186186

187187
struct phm_vce_clock_voltage_dependency_table {
188188
uint8_t count;
189-
struct phm_vce_clock_voltage_dependency_record entries[] __counted_by(count);
189+
struct phm_vce_clock_voltage_dependency_record entries[];
190190
};
191191

192192

@@ -393,7 +393,7 @@ union phm_cac_leakage_record {
393393

394394
struct phm_cac_leakage_table {
395395
uint32_t count;
396-
union phm_cac_leakage_record entries[] __counted_by(count);
396+
union phm_cac_leakage_record entries[];
397397
};
398398

399399
struct phm_samu_clock_voltage_dependency_record {
@@ -404,7 +404,7 @@ struct phm_samu_clock_voltage_dependency_record {
404404

405405
struct phm_samu_clock_voltage_dependency_table {
406406
uint8_t count;
407-
struct phm_samu_clock_voltage_dependency_record entries[] __counted_by(count);
407+
struct phm_samu_clock_voltage_dependency_record entries[];
408408
};
409409

410410
struct phm_cac_tdp_table {

0 commit comments

Comments
 (0)