Re: [PATCH] Video: fbdev: Remove impossible condition.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux