diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2017-04-21 16:49:56 -0600 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2017-04-21 16:49:56 -0600 |
commit | 659226eb630ff522b30d8b8a82c9e722756e6bd4 (patch) | |
tree | 1490ddd2a5432289ce03f3623018a76aad30bc60 /drivers/lightnvm | |
parent | 5bf1e1ee6269f4db307bdfce45d196d6c9bc818a (diff) | |
download | linux-stable-659226eb630ff522b30d8b8a82c9e722756e6bd4.tar.gz linux-stable-659226eb630ff522b30d8b8a82c9e722756e6bd4.tar.bz2 linux-stable-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.c | 6 |
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); |