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] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 13 Dec 2017 20:30:04 +0000
From:   Colin Ian King <colin.king@...onical.com>
To:     Boris Brezillon <boris.brezillon@...e-electrons.com>
Cc:     Richard Weinberger <richard@....at>,
        David Woodhouse <dwmw2@...radead.org>,
        Brian Norris <computersforpeace@...il.com>,
        Marek Vasut <marek.vasut@...il.com>,
        Cyrille Pitchen <cyrille.pitchen@...ev4u.fr>,
        linux-mtd@...ts.infradead.org, kernel-janitors@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH][mtd-next] mtd: nand: remove redundant check of len

On 13/12/17 20:24, Boris Brezillon wrote:
> On Wed, 13 Dec 2017 20:17:43 +0000
> Colin King <colin.king@...onical.com> wrote:
> 
>> From: Colin Ian King <colin.king@...onical.com>
>>
>> The check of len being zero is redundant as it has already been
>> sanity checked for this value at the start of the function. Hence
>> it is impossible for this test to be true and so the redundant
>> code can be removed.
> 
> Nope, it's not the same test, the initial test is
> 
> 	if (len && !buf)

Ah, the current tip from linux-next has:

1912        if (!len || !buf)
1913                return -EINVAL;

..so I guess that's why it got picked up by static analysis.

> 
> not
> 
> 	if (len)
> 
> So this test is not redundant.
> 
>>
>> Detected by CoverityScan, CID#1462748 ("Logically dead code")
>>
>> Signed-off-by: Colin Ian King <colin.king@...onical.com>
>> ---
>>  drivers/mtd/nand/nand_base.c | 4 ----
>>  1 file changed, 4 deletions(-)
>>
>> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
>> index afd5e18db81c..9daaa23db943 100644
>> --- a/drivers/mtd/nand/nand_base.c
>> +++ b/drivers/mtd/nand/nand_base.c
>> @@ -1507,10 +1507,6 @@ static int nand_read_param_page_op(struct nand_chip *chip, u8 page, void *buf,
>>  		};
>>  		struct nand_operation op = NAND_OPERATION(instrs);
>>  
>> -		/* Drop the DATA_IN instruction if len is set to 0. */
>> -		if (!len)
>> -			op.ninstrs--;
>> -
>>  		return nand_exec_op(chip, &op);
>>  	}
>>  
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ