diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3998-drm-amd-display-Fix-potential-access-beyond-end-of-a.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3998-drm-amd-display-Fix-potential-access-beyond-end-of-a.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3998-drm-amd-display-Fix-potential-access-beyond-end-of-a.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3998-drm-amd-display-Fix-potential-access-beyond-end-of-a.patch new file mode 100644 index 00000000..eea957cb --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3998-drm-amd-display-Fix-potential-access-beyond-end-of-a.patch @@ -0,0 +1,59 @@ +From 14f04d28128b57583768f0933504febaa2eae5da Mon Sep 17 00:00:00 2001 +From: Harry Wentland <harry.wentland@amd.com> +Date: Wed, 14 Mar 2018 15:54:27 -0400 +Subject: [PATCH 3998/4131] drm/amd/display: Fix potential access beyond end of + array in CM + +Signed-off-by: Harry Wentland <harry.wentland@amd.com> +CC: Dan Carpenter <dan.carpenter@oracle.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c +index 881a1bf..96d5878 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c +@@ -367,15 +367,15 @@ bool cm_helper_translate_curve_to_hw_format( + + lut_params->hw_points_num = hw_points; + +- i = 1; +- for (k = 0; k < MAX_REGIONS_NUMBER && i < MAX_REGIONS_NUMBER; k++) { ++ k = 0; ++ for (i = 1; i < MAX_REGIONS_NUMBER; i++) { + if (seg_distr[k] != -1) { + lut_params->arr_curve_points[k].segments_num = + seg_distr[k]; + lut_params->arr_curve_points[i].offset = + lut_params->arr_curve_points[k].offset + (1 << seg_distr[k]); + } +- i++; ++ k++; + } + + if (seg_distr[k] != -1) +@@ -529,15 +529,15 @@ bool cm_helper_translate_curve_to_degamma_hw_format( + + lut_params->hw_points_num = hw_points; + +- i = 1; +- for (k = 0; k < MAX_REGIONS_NUMBER && i < MAX_REGIONS_NUMBER; k++) { ++ k = 0; ++ for (i = 1; i < MAX_REGIONS_NUMBER; i++) { + if (seg_distr[k] != -1) { + lut_params->arr_curve_points[k].segments_num = + seg_distr[k]; + lut_params->arr_curve_points[i].offset = + lut_params->arr_curve_points[k].offset + (1 << seg_distr[k]); + } +- i++; ++ k++; + } + + if (seg_distr[k] != -1) +-- +2.7.4 + |