From: Stanislaw Gruszka Signed-off-by: Stanislaw Gruszka Cc: Nicolas Ferre Cc: Krzysztof Helt Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton --- drivers/video/atmel_lcdfb.c | 7 +++++++ 1 file changed, 7 insertions(+) diff -puN drivers/video/atmel_lcdfb.c~atmel_lcdfb-disallow-setting-larger-resolution-than-the-framebuffer-memory-can-handle drivers/video/atmel_lcdfb.c --- a/drivers/video/atmel_lcdfb.c~atmel_lcdfb-disallow-setting-larger-resolution-than-the-framebuffer-memory-can-handle +++ a/drivers/video/atmel_lcdfb.c @@ -342,6 +342,13 @@ static int atmel_lcdfb_check_var(struct var->transp.offset = var->transp.length = 0; var->xoffset = var->yoffset = 0; + if (info->fix.smem_len) { + unsigned int smem_len = (var->xres_virtual * var->yres_virtual + * ((var->bits_per_pixel + 7) / 8)); + if (smem_len > info->fix.smem_len) + return -EINVAL; + } + /* Saturate vertical and horizontal timings at maximum values */ var->vsync_len = min_t(u32, var->vsync_len, (ATMEL_LCDC_VPW >> ATMEL_LCDC_VPW_OFFSET) + 1); _