]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Fix uninitialized variables in amdgpu_dm_debugfs
authorAlex Hung <alex.hung@amd.com>
Fri, 6 Dec 2024 03:57:04 +0000 (20:57 -0700)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 18 Dec 2024 17:20:14 +0000 (12:20 -0500)
[WHAT]
Some fields in struct dc_link_settings and link_training_settings are
not initialized and using them can cause unexpected results.

[HOW]
Initialize struct dc_link_settings and link_training_settings to zero.

Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c

index 11a7ac54f91c613662e77658fa046ea6c1b2451b..2a3c4ac065deae3d8b9154f0a4f4c74312041a0a 100644 (file)
@@ -258,7 +258,7 @@ static ssize_t dp_link_settings_write(struct file *f, const char __user *buf,
        struct dc_link *link = connector->dc_link;
        struct amdgpu_device *adev = drm_to_adev(connector->base.dev);
        struct dc *dc = (struct dc *)link->dc;
-       struct dc_link_settings prefer_link_settings;
+       struct dc_link_settings prefer_link_settings = {0};
        char *wr_buf = NULL;
        const uint32_t wr_buf_size = 40;
        /* 0: lane_count; 1: link_rate */
@@ -389,7 +389,7 @@ static ssize_t dp_mst_link_setting(struct file *f, const char __user *buf,
        struct dc_link *link = aconnector->dc_link;
        struct amdgpu_device *adev = drm_to_adev(aconnector->base.dev);
        struct dc *dc = (struct dc *)link->dc;
-       struct dc_link_settings prefer_link_settings;
+       struct dc_link_settings prefer_link_settings = {0};
        char *wr_buf = NULL;
        const uint32_t wr_buf_size = 40;
        /* 0: lane_count; 1: link_rate */
@@ -613,7 +613,7 @@ static ssize_t dp_phy_settings_write(struct file *f, const char __user *buf,
        uint32_t wr_buf_size = 40;
        long param[3];
        bool use_prefer_link_setting;
-       struct link_training_settings link_lane_settings;
+       struct link_training_settings link_lane_settings = {0};
        int max_param_num = 3;
        uint8_t param_nums = 0;
        int r = 0;
@@ -768,7 +768,7 @@ static ssize_t dp_phy_test_pattern_debugfs_write(struct file *f, const char __us
                        LINK_RATE_UNKNOWN, LINK_SPREAD_DISABLED};
        struct dc_link_settings cur_link_settings = {LANE_COUNT_UNKNOWN,
                        LINK_RATE_UNKNOWN, LINK_SPREAD_DISABLED};
-       struct link_training_settings link_training_settings;
+       struct link_training_settings link_training_settings = {0};
        int i;
 
        if (size == 0)