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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 14 Oct 2008 12:40:43 -0400
From:	Sam Creasey <sammy@...my.net>
To:	Julia Lawall <julia@...u.dk>
Cc:	James.Bottomley@...senPartnership.com, linux-scsi@...r.kernel.org,
	linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org
Subject: Re: [PATCH 2/2] drivers/scsi/sun3x_esp.c: Convert && to ||

On Tue, Oct 14, 2008 at 06:00:19PM +0200, Julia Lawall wrote:
> From: Julia Lawall <julia@...u.dk>
> 
> The pattern !E && !E->fld is nonsensical.  The patch below updates this
> according to the assumption that && should be ||.  But perhaps another
> solution was intended.
> 
> The semantic patch that makes this change is as follows:
> (http://www.emn.fr/x-info/coccinelle/)
> 
> // <smpl>
> @disable and_comm@
> expression E;
> identifier fld;
> @@
> 
> - !E && !E->fld
> + !E || !E->fld
> // </smpl>
> 
> Signed-off-by: Julia Lawall <julia@...u.dk>
Acked-By: Sam Creasey <sammy@...my.net>

I doubt this code would have been likely to execute, but you're
certainly right.  It's a bug, and this looks like the fix.

-- Sam


> 
> ---
>  drivers/scsi/sun3x_esp.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff -u -p a/drivers/scsi/sun3x_esp.c b/drivers/scsi/sun3x_esp.c
> --- a/drivers/scsi/sun3x_esp.c
> +++ b/drivers/scsi/sun3x_esp.c
> @@ -213,7 +213,7 @@ static int __devinit esp_sun3x_probe(str
>  	esp->ops = &sun3x_esp_ops;
>  
>  	res = platform_get_resource(dev, IORESOURCE_MEM, 0);
> -	if (!res && !res->start)
> +	if (!res || !res->start)
>  		goto fail_unlink;
>  
>  	esp->regs = ioremap_nocache(res->start, 0x20);
> @@ -221,7 +221,7 @@ static int __devinit esp_sun3x_probe(str
>  		goto fail_unmap_regs;
>  
>  	res = platform_get_resource(dev, IORESOURCE_MEM, 1);
> -	if (!res && !res->start)
> +	if (!res || !res->start)
>  		goto fail_unmap_regs;
>  
>  	esp->dma_regs = ioremap_nocache(res->start, 0x10);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ