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 --]
next 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.