mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-07 18:05:21 +02:00
drm/amd/display: Avoid overflow assignment in link_dp_cts
sampling_rate is an uint8_t but is assigned an unsigned int, and thus it can overflow. As a result, sampling_rate is changed to uint32_t. Similarly, LINK_QUAL_PATTERN_SET has a size of 2 bits, and it should only be assigned to a value less or equal than 4. This fixes 2 INTEGER_OVERFLOW issues reported by Coverity. Signed-off-by: Alex Hung <alex.hung@amd.com> Reviewed-by: Wenjing Liu <wenjing.liu@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
cead9ac8b0
commit
a15268787b
|
@ -727,7 +727,7 @@ struct dp_audio_test_data_flags {
|
||||||
struct dp_audio_test_data {
|
struct dp_audio_test_data {
|
||||||
|
|
||||||
struct dp_audio_test_data_flags flags;
|
struct dp_audio_test_data_flags flags;
|
||||||
uint8_t sampling_rate;
|
uint32_t sampling_rate;
|
||||||
uint8_t channel_count;
|
uint8_t channel_count;
|
||||||
uint8_t pattern_type;
|
uint8_t pattern_type;
|
||||||
uint8_t pattern_period[8];
|
uint8_t pattern_period[8];
|
||||||
|
|
|
@ -775,6 +775,7 @@ bool dp_set_test_pattern(
|
||||||
core_link_read_dpcd(link, DP_TRAINING_PATTERN_SET,
|
core_link_read_dpcd(link, DP_TRAINING_PATTERN_SET,
|
||||||
&training_pattern.raw,
|
&training_pattern.raw,
|
||||||
sizeof(training_pattern));
|
sizeof(training_pattern));
|
||||||
|
if (pattern <= PHY_TEST_PATTERN_END_DP11)
|
||||||
training_pattern.v1_3.LINK_QUAL_PATTERN_SET = pattern;
|
training_pattern.v1_3.LINK_QUAL_PATTERN_SET = pattern;
|
||||||
core_link_write_dpcd(link, DP_TRAINING_PATTERN_SET,
|
core_link_write_dpcd(link, DP_TRAINING_PATTERN_SET,
|
||||||
&training_pattern.raw,
|
&training_pattern.raw,
|
||||||
|
|
|
@ -76,6 +76,7 @@ enum dpcd_phy_test_patterns {
|
||||||
PHY_TEST_PATTERN_D10_2,
|
PHY_TEST_PATTERN_D10_2,
|
||||||
PHY_TEST_PATTERN_SYMBOL_ERROR,
|
PHY_TEST_PATTERN_SYMBOL_ERROR,
|
||||||
PHY_TEST_PATTERN_PRBS7,
|
PHY_TEST_PATTERN_PRBS7,
|
||||||
|
PHY_TEST_PATTERN_END_DP11 = PHY_TEST_PATTERN_PRBS7,
|
||||||
PHY_TEST_PATTERN_80BIT_CUSTOM,/* For DP1.2 only */
|
PHY_TEST_PATTERN_80BIT_CUSTOM,/* For DP1.2 only */
|
||||||
PHY_TEST_PATTERN_CP2520_1,
|
PHY_TEST_PATTERN_CP2520_1,
|
||||||
PHY_TEST_PATTERN_CP2520_2,
|
PHY_TEST_PATTERN_CP2520_2,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user