Hi, [ I'm the new Maintainer of fbdev. ] On Friday, November 11, 2016 05:54:50 PM Sachin Shukla wrote: > From: "Sachin Shukla" <sachin.s5@xxxxxxxxxxx> > > xoffset and yoffset of struct fb_var_screeninfo are unsigned and so > they can never be less than 0. > > Signed-off-by: Sachin Shukla <sachin.s5@xxxxxxxxxxx> Thanks, I split the patch on amifb and fsl-diu-fb parts and queued them for 4.11 kernel (+ Timur's ACK has been added to fsl-diu-fb patch). > --- > drivers/video/fbdev/amifb.c | 8 +++----- > drivers/video/fbdev/fsl-diu-fb.c | 9 +-------- > 2 files changed, 4 insertions(+), 13 deletions(-) > > diff --git a/drivers/video/fbdev/amifb.c b/drivers/video/fbdev/amifb.c > index 1d702e1..cc11c60 100644 > --- a/drivers/video/fbdev/amifb.c > +++ b/drivers/video/fbdev/amifb.c > @@ -1484,13 +1484,11 @@ static int ami_decode_var(struct fb_var_screeninfo *var, struct amifb_par *par, > par->xoffset = var->xoffset; > par->yoffset = var->yoffset; > if (par->vmode & FB_VMODE_YWRAP) { > - if (par->xoffset || par->yoffset < 0 || > - par->yoffset >= par->vyres) > + if (par->yoffset >= par->vyres) > par->xoffset = par->yoffset = 0; > } else { > - if (par->xoffset < 0 || > - par->xoffset > upx(16 << maxfmode, par->vxres - par->xres) || > - par->yoffset < 0 || par->yoffset > par->vyres - par->yres) > + if (par->xoffset > upx(16 << maxfmode, par->vxres - par->xres) || > + par->yoffset > par->vyres - par->yres) > par->xoffset = par->yoffset = 0; > } > } else > diff --git a/drivers/video/fbdev/fsl-diu-fb.c b/drivers/video/fbdev/fsl-diu-fb.c > index fe00a07..c48a59e 100644 > --- a/drivers/video/fbdev/fsl-diu-fb.c > +++ b/drivers/video/fbdev/fsl-diu-fb.c > @@ -703,12 +703,6 @@ static int fsl_diu_check_var(struct fb_var_screeninfo *var, > if (var->yres_virtual < var->yres) > var->yres_virtual = var->yres; > > - if (var->xoffset < 0) > - var->xoffset = 0; > - > - if (var->yoffset < 0) > - var->yoffset = 0; > - > if (var->xoffset + info->var.xres > info->var.xres_virtual) > var->xoffset = info->var.xres_virtual - info->var.xres; > > @@ -1254,8 +1248,7 @@ static int fsl_diu_pan_display(struct fb_var_screeninfo *var, > (info->var.yoffset == var->yoffset)) > return 0; /* No change, do nothing */ > > - if (var->xoffset < 0 || var->yoffset < 0 > - || var->xoffset + info->var.xres > info->var.xres_virtual > + if (var->xoffset + info->var.xres > info->var.xres_virtual > || var->yoffset + info->var.yres > info->var.yres_virtual) > return -EINVAL; Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics