From: Soomin Kim Date: Mon, 26 Sep 2016 01:27:00 +0000 (+0900) Subject: [COMMON] thermal: isp: Modify loop count(KASAN bug) X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0479d9429122b2367bac5c7ea59c2109d4e96bed;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [COMMON] thermal: isp: Modify loop count(KASAN bug) Since loop size is bigger than ECT table size for thermal throttling. So, fix it. Change-Id: Ifc4e2c37d480bf3d71a516cb4fbbb1f63b4b4612 Signed-off-by: Soomin Kim --- diff --git a/drivers/thermal/isp_cooling.c b/drivers/thermal/isp_cooling.c index 5c54fdebcd58..b4523b59cbb9 100644 --- a/drivers/thermal/isp_cooling.c +++ b/drivers/thermal/isp_cooling.c @@ -522,24 +522,23 @@ int isp_cooling_table_init(struct platform_device *pdev) isp_fps_table = kzalloc(sizeof(struct isp_fps_table) * (function->num_of_range + 1), GFP_KERNEL); if (thermal_block != NULL && function != NULL) { - for (i = 0; i < function->num_of_range + 1; i++) { + for (i = 0; i < function->num_of_range; i++) { if (last_fps == function->range_list[i].max_frequency) continue; isp_fps_table[count].flags = 0; isp_fps_table[count].driver_data = count; - - if (i == function->num_of_range) - isp_fps_table[count].fps = ISP_FPS_TABLE_END; - else - isp_fps_table[count].fps = function->range_list[i].max_frequency; - + isp_fps_table[count].fps = function->range_list[i].max_frequency; last_fps = isp_fps_table[count].fps; dev_info(&pdev->dev, "[ISP TMU] index : %d, fps : %d \n", isp_fps_table[count].driver_data, isp_fps_table[count].fps); count++; } + + if (i == function->num_of_range) + isp_fps_table[count + 1].fps = ISP_FPS_TABLE_END; + } else return -EINVAL; #else