lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Wed, 08 Feb 2017 16:37:31 +0100
From:   Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
To:     Sachin Shukla <sachin.s5@...sung.com>
Cc:     Timur Tabi <timur@...i.org>,
        Tomi Valkeinen <tomi.valkeinen@...com>,
        linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
        sachiniiitm@...il.com, ravikant.s2@...sung.com,
        p.shailesh@...sung.com, ashish.kalra@...sung.com,
        vidushi.koul@...sung.com
Subject: Re: [PATCH] Video: fbdev: Remove impossible condition.


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@...sung.com>
> 
> 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@...sung.com>

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ