Re: [PATCH][mtd-next] mtd: nand: remove redundant check of len

From: Colin Ian King
Date: Wed Dec 13 2017 - 15:30:14 EST


On 13/12/17 20:24, Boris Brezillon wrote:
> On Wed, 13 Dec 2017 20:17:43 +0000
> Colin King <colin.king@xxxxxxxxxxxxx> wrote:
>
>> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>>
>> 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@xxxxxxxxxxxxx>
>> ---
>> 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);
>> }
>>
>