diff --git a/drivers/video/msm/mdss/mdp3_ctrl.c b/drivers/video/msm/mdss/mdp3_ctrl.c index 38b1d24ea2c33a42280917e119b9dcadc290802c..d2e129609f8eca9b5d950b82ec1a9e9d90ce087f 100644 --- a/drivers/video/msm/mdss/mdp3_ctrl.c +++ b/drivers/video/msm/mdss/mdp3_ctrl.c @@ -1953,8 +1953,9 @@ static int mdp3_ctrl_lut_config(struct msm_fb_data_type *mfd, dma = mdp3_session->dma; - if (cfg->cmap.start + cfg->cmap.len > MDP_LUT_SIZE) { - pr_err("Invalid arguments\n"); + if (cfg->cmap.start > MDP_LUT_SIZE || cfg->cmap.len > MDP_LUT_SIZE || + (cfg->cmap.start + cfg->cmap.len > MDP_LUT_SIZE)) { + pr_err("mdp3_ctrl_lut_config invalid arguments\n"); return -EINVAL; }