All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: [mtd:nand/next 12/20] drivers/mtd/nand/raw/nand_base.c:1466 nand_prog_page_op() warn: impossible condition '(status < 0) => (0-255 < 0)'
Date: Wed, 03 Mar 2021 08:54:42 +0300	[thread overview]
Message-ID: <20210303055441.GZ2087@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 5238 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next
head:   095b4dabff2a929cefd330110c5c578956213188
commit: 19877b2c5de809e6f553e158c263b7a8bb65222d [12/20] mtd: nand: fix error handling in nand_prog_page_op() #2
config: x86_64-randconfig-m001-20210302 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/mtd/nand/raw/nand_base.c:1466 nand_prog_page_op() warn: impossible condition '(status < 0) => (0-255 < 0)'

Old smatch warnings:
drivers/mtd/nand/raw/nand_base.c:842 nand_setup_interface() warn: missing error code 'ret'

vim +1466 drivers/mtd/nand/raw/nand_base.c

97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1437  int nand_prog_page_op(struct nand_chip *chip, unsigned int page,
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1438  		      unsigned int offset_in_page, const void *buf,
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1439  		      unsigned int len)
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1440  {
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1441  	struct mtd_info *mtd = nand_to_mtd(chip);
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1442  	u8 status;
                                                                                        ^^^^^^^^^^
This needs to be changed to an int

19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1443  	int ret;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1444  
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1445  	if (!len || !buf)
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1446  		return -EINVAL;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1447  
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1448  	if (offset_in_page + len > mtd->writesize + mtd->oobsize)
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1449  		return -EINVAL;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1450  
f2abfeb2078b96 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-11-11  1451  	if (nand_has_exec_op(chip)) {
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1452  		ret = nand_exec_prog_page_op(chip, page, offset_in_page, buf,
8878b126df7698 drivers/mtd/nand/nand_base.c     Miquel Raynal   2017-11-09  1453  						len, true);
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1454  		if (ret)
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1455  			return ret;
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1456  
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1457  		ret = nand_status_op(chip, &status);
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1458  		if (ret)
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1459  			return ret;
8878b126df7698 drivers/mtd/nand/nand_base.c     Miquel Raynal   2017-11-09  1460  	} else {
bf6065c6c08fa3 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1461  		chip->legacy.cmdfunc(chip, NAND_CMD_SEQIN, offset_in_page,
bf6065c6c08fa3 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1462  				     page);
716bbbabcc68c2 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1463  		chip->legacy.write_buf(chip, buf, len);
bf6065c6c08fa3 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1464  		chip->legacy.cmdfunc(chip, NAND_CMD_PAGEPROG, -1, -1);
8395b753d7cad2 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1465  		status = chip->legacy.waitfunc(chip);
52f67def97f1c5 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05 @1466  		if (status < 0)
                                                                                                    ^^^^^^^^^^
for the error handling to work

52f67def97f1c5 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1467  			return status;
8878b126df7698 drivers/mtd/nand/nand_base.c     Miquel Raynal   2017-11-09  1468  	}
8878b126df7698 drivers/mtd/nand/nand_base.c     Miquel Raynal   2017-11-09  1469  
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1470  	if (status & NAND_STATUS_FAIL)
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1471  		return -EIO;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1472  
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1473  	return 0;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1474  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36904 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: [mtd:nand/next 12/20] drivers/mtd/nand/raw/nand_base.c:1466 nand_prog_page_op() warn: impossible condition '(status < 0) => (0-255 < 0)'
Date: Wed, 03 Mar 2021 08:54:42 +0300	[thread overview]
Message-ID: <20210303055441.GZ2087@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 5238 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next
head:   095b4dabff2a929cefd330110c5c578956213188
commit: 19877b2c5de809e6f553e158c263b7a8bb65222d [12/20] mtd: nand: fix error handling in nand_prog_page_op() #2
config: x86_64-randconfig-m001-20210302 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/mtd/nand/raw/nand_base.c:1466 nand_prog_page_op() warn: impossible condition '(status < 0) => (0-255 < 0)'

Old smatch warnings:
drivers/mtd/nand/raw/nand_base.c:842 nand_setup_interface() warn: missing error code 'ret'

vim +1466 drivers/mtd/nand/raw/nand_base.c

97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1437  int nand_prog_page_op(struct nand_chip *chip, unsigned int page,
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1438  		      unsigned int offset_in_page, const void *buf,
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1439  		      unsigned int len)
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1440  {
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1441  	struct mtd_info *mtd = nand_to_mtd(chip);
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1442  	u8 status;
                                                                                        ^^^^^^^^^^
This needs to be changed to an int

19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1443  	int ret;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1444  
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1445  	if (!len || !buf)
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1446  		return -EINVAL;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1447  
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1448  	if (offset_in_page + len > mtd->writesize + mtd->oobsize)
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1449  		return -EINVAL;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1450  
f2abfeb2078b96 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-11-11  1451  	if (nand_has_exec_op(chip)) {
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1452  		ret = nand_exec_prog_page_op(chip, page, offset_in_page, buf,
8878b126df7698 drivers/mtd/nand/nand_base.c     Miquel Raynal   2017-11-09  1453  						len, true);
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1454  		if (ret)
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1455  			return ret;
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1456  
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1457  		ret = nand_status_op(chip, &status);
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1458  		if (ret)
19877b2c5de809 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1459  			return ret;
8878b126df7698 drivers/mtd/nand/nand_base.c     Miquel Raynal   2017-11-09  1460  	} else {
bf6065c6c08fa3 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1461  		chip->legacy.cmdfunc(chip, NAND_CMD_SEQIN, offset_in_page,
bf6065c6c08fa3 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1462  				     page);
716bbbabcc68c2 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1463  		chip->legacy.write_buf(chip, buf, len);
bf6065c6c08fa3 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1464  		chip->legacy.cmdfunc(chip, NAND_CMD_PAGEPROG, -1, -1);
8395b753d7cad2 drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-09-07  1465  		status = chip->legacy.waitfunc(chip);
52f67def97f1c5 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05 @1466  		if (status < 0)
                                                                                                    ^^^^^^^^^^
for the error handling to work

52f67def97f1c5 drivers/mtd/nand/raw/nand_base.c Sascha Hauer    2021-02-05  1467  			return status;
8878b126df7698 drivers/mtd/nand/nand_base.c     Miquel Raynal   2017-11-09  1468  	}
8878b126df7698 drivers/mtd/nand/nand_base.c     Miquel Raynal   2017-11-09  1469  
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1470  	if (status & NAND_STATUS_FAIL)
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1471  		return -EIO;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1472  
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1473  	return 0;
97d90da8a88694 drivers/mtd/nand/nand_base.c     Boris Brezillon 2017-11-30  1474  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36904 bytes --]

             reply	other threads:[~2021-03-03  5:54 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-03  5:54 Dan Carpenter [this message]
2021-03-03  5:54 ` [mtd:nand/next 12/20] drivers/mtd/nand/raw/nand_base.c:1466 nand_prog_page_op() warn: impossible condition '(status < 0) => (0-255 < 0)' Dan Carpenter
2021-03-03  6:40 ` Sascha Hauer
2021-03-03  8:34   ` Miquel Raynal
  -- strict thread matches above, loose matches on Subject: below --
2021-03-02 19:47 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210303055441.GZ2087@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.