summaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2017-04-22 00:49:56 +0200
committerJens Axboe <axboe@fb.com>2017-04-22 00:49:56 +0200
commit659226eb630ff522b30d8b8a82c9e722756e6bd4 (patch)
tree1490ddd2a5432289ce03f3623018a76aad30bc60 /drivers/lightnvm
parentlightnvm: potential underflow in pblk_read_rq() (diff)
downloadlinux-659226eb630ff522b30d8b8a82c9e722756e6bd4.tar.xz
linux-659226eb630ff522b30d8b8a82c9e722756e6bd4.zip
lightnvm: don't print a warning for ADDR_EMPTY
Reading from ADDR_EMPTY is out of bounds. The current code generates a static checker warning because we check for out of bounds "lba" before we check for ADDR_EMPTY, so the second check is always false. It looks like we intended ADDR_EMPTY to be a no-op without printing a warning. Fixes: a4bd217b4326 ("lightnvm: physical block device (pblk) target") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Javier González <javier@cnexlabs.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/lightnvm')
-rw-r--r--drivers/lightnvm/pblk-read.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/lightnvm/pblk-read.c b/drivers/lightnvm/pblk-read.c
index c9daa33e8d9c..4a12f14d78c6 100644
--- a/drivers/lightnvm/pblk-read.c
+++ b/drivers/lightnvm/pblk-read.c
@@ -410,15 +410,15 @@ static int read_rq_gc(struct pblk *pblk, struct nvm_rq *rqd,
struct ppa_addr ppa;
int valid_secs = 0;
+ if (lba == ADDR_EMPTY)
+ goto out;
+
/* logic error: lba out-of-bounds */
if (lba >= pblk->rl.nr_secs) {
WARN(1, "pblk: read lba out of bounds\n");
goto out;
}
- if (lba == ADDR_EMPTY)
- goto out;
-
spin_lock(&pblk->trans_lock);
ppa = pblk_trans_map_get(pblk, lba);
spin_unlock(&pblk->trans_lock);