On Thu, Jul 5, 2018 at 6:37 AM, Michel Dänzer <michel at daenzer.net> wrote: > On 2018-07-04 07:27 PM, Kees Cook wrote: >> As already done treewide, switch from open-coded multiplication to >> 2-factor allocation helper. >> >> Signed-off-by: Kees Cook <keescook at chromium.org> >> --- >> drivers/gpu/drm/amd/display/modules/color/color_gamma.c | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/amd/display/modules/color/color_gamma.c b/drivers/gpu/drm/amd/display/modules/color/color_gamma.c >> index 98edaefa2b47..ee69c949bfbf 100644 >> --- a/drivers/gpu/drm/amd/display/modules/color/color_gamma.c >> +++ b/drivers/gpu/drm/amd/display/modules/color/color_gamma.c >> @@ -1723,8 +1723,8 @@ bool mod_color_calculate_curve(enum dc_transfer_func_predefined trans, >> kvfree(rgb_regamma); >> } else if (trans == TRANSFER_FUNCTION_HLG || >> trans == TRANSFER_FUNCTION_HLG12) { >> - rgb_regamma = kvzalloc(sizeof(*rgb_regamma) * >> - (MAX_HW_POINTS + _EXTRA_POINTS), >> + rgb_regamma = kvcalloc(MAX_HW_POINTS + _EXTRA_POINTS, >> + sizeof(*rgb_regamma), >> GFP_KERNEL); >> if (!rgb_regamma) >> goto rgb_regamma_alloc_fail; >> @@ -1802,8 +1802,8 @@ bool mod_color_calculate_degamma_curve(enum dc_transfer_func_predefined trans, >> kvfree(rgb_degamma); >> } else if (trans == TRANSFER_FUNCTION_HLG || >> trans == TRANSFER_FUNCTION_HLG12) { >> - rgb_degamma = kvzalloc(sizeof(*rgb_degamma) * >> - (MAX_HW_POINTS + _EXTRA_POINTS), >> + rgb_degamma = kvcalloc(MAX_HW_POINTS + _EXTRA_POINTS, >> + sizeof(*rgb_degamma), >> GFP_KERNEL); >> if (!rgb_degamma) >> goto rgb_degamma_alloc_fail; >> > > Since the values are constant, kvcalloc incurs the overflow checking > overhead for no gain. The way the macros are designed, they'll get entirely optimized away in that case: http://lkml.kernel.org/r/CAGXu5jLw9kMZRkzL_Q7JdyyprntHF6bdVSE_vjyzect3CenDng at mail.gmail.com Using this patch means if the code ever changes away from constants, it'll still be safe. And static checkers won't yell about the open-coded multiplication here. So it's only up-sides. :) -Kees -- Kees Cook Pixel Security