[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171213213844.78efe253@bbrezillon>
Date: Wed, 13 Dec 2017 21:38:44 +0100
From: Boris Brezillon <boris.brezillon@...e-electrons.com>
To: Colin Ian King <colin.king@...onical.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 Wed, 13 Dec 2017 20:30:04 +0000
Colin Ian King <colin.king@...onical.com> wrote:
> 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.
Hm, that's weird, that's not what I see [1] in linux-next.
[1]https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/mtd/nand/nand_base.c#n1488
>
> >
> > 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