diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2825-drm-amd-display-Fix-use-before-NULL-check-in-validat.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2825-drm-amd-display-Fix-use-before-NULL-check-in-validat.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2825-drm-amd-display-Fix-use-before-NULL-check-in-validat.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2825-drm-amd-display-Fix-use-before-NULL-check-in-validat.patch new file mode 100644 index 00000000..c9d03943 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2825-drm-amd-display-Fix-use-before-NULL-check-in-validat.patch @@ -0,0 +1,48 @@ +From 500cc00cad80cf5b1a4a39306081f660c8192c98 Mon Sep 17 00:00:00 2001 +From: Harry Wentland <harry.wentland@amd.com> +Date: Fri, 10 Nov 2017 12:11:44 -0500 +Subject: [PATCH 2825/4131] drm/amd/display: Fix use before NULL check in + validate_timing + +Found by smatch: +drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_timing_generator.c:1124 +dce110_timing_generator_validate_timing() warn: variable dereferenced +before check 'timing' (see line 1116) + +Signed-off-by: Harry Wentland <harry.wentland@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator.c +index 08e49dd..25ca721 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator.c ++++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator.c +@@ -1112,10 +1112,7 @@ bool dce110_timing_generator_validate_timing( + enum signal_type signal) + { + uint32_t h_blank; +- uint32_t h_back_porch; +- uint32_t hsync_offset = timing->h_border_right + +- timing->h_front_porch; +- uint32_t h_sync_start = timing->h_addressable + hsync_offset; ++ uint32_t h_back_porch, hsync_offset, h_sync_start; + + struct dce110_timing_generator *tg110 = DCE110TG_FROM_TG(tg); + +@@ -1124,6 +1121,9 @@ bool dce110_timing_generator_validate_timing( + if (!timing) + return false; + ++ hsync_offset = timing->h_border_right + timing->h_front_porch; ++ h_sync_start = timing->h_addressable + hsync_offset; ++ + /* Currently we don't support 3D, so block all 3D timings */ + if (timing->timing_3d_format != TIMING_3D_FORMAT_NONE) + return false; +-- +2.7.4 + |