linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Matias Bjørling" <mb@lightnvm.io>
To: axboe@fb.com
Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Matias Bjørling" <mb@lightnvm.io>
Subject: [GIT PULL 02/21] lightnvm: Fix uninitialized return value in nvm_get_chunk_meta()
Date: Tue, 11 Dec 2018 20:16:08 +0100	[thread overview]
Message-ID: <20181211191627.15542-3-mb@lightnvm.io> (raw)
In-Reply-To: <20181211191627.15542-1-mb@lightnvm.io>

From: Geert Uytterhoeven <geert@linux-m68k.org>

With gcc 4.1:

    drivers/lightnvm/core.c: In function ‘nvm_get_bb_meta’:
    drivers/lightnvm/core.c:977: warning: ‘ret’ may be used uninitialized in this function

and

    drivers/nvme/host/lightnvm.c: In function ‘nvme_nvm_get_chk_meta’:
    drivers/nvme/host/lightnvm.c:580: warning: ‘ret’ may be used uninitialized in this function

Indeed, if (for the former) the number of channels or LUNs is zero, or
(for both) the passed number of chunks is zero, ret will be returned
uninitialized.

Fix this by preinitializing ret to zero.

Fixes: aff3fb18f957de93 ("lightnvm: move bad block and chunk state logic to core")
Fixes: a294c199455187d1 ("lightnvm: implement get log report chunk helpers")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Matias Bjørling <mb@lightnvm.io>
---
 drivers/lightnvm/core.c      | 2 +-
 drivers/nvme/host/lightnvm.c | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c
index 60ab11fcc81c..10e541cb8dc3 100644
--- a/drivers/lightnvm/core.c
+++ b/drivers/lightnvm/core.c
@@ -974,7 +974,7 @@ static int nvm_get_bb_meta(struct nvm_dev *dev, sector_t slba,
 	struct ppa_addr ppa;
 	u8 *blks;
 	int ch, lun, nr_blks;
-	int ret;
+	int ret = 0;
 
 	ppa.ppa = slba;
 	ppa = dev_to_generic_addr(dev, ppa);
diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
index a4f3b263cd6c..d64805dc8efb 100644
--- a/drivers/nvme/host/lightnvm.c
+++ b/drivers/nvme/host/lightnvm.c
@@ -577,7 +577,8 @@ static int nvme_nvm_get_chk_meta(struct nvm_dev *ndev,
 	struct ppa_addr ppa;
 	size_t left = nchks * sizeof(struct nvme_nvm_chk_meta);
 	size_t log_pos, offset, len;
-	int ret, i, max_len;
+	int i, max_len;
+	int ret = 0;
 
 	/*
 	 * limit requests to maximum 256K to avoid issuing arbitrary large
-- 
2.17.1


  parent reply	other threads:[~2018-12-11 19:19 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-11 19:16 [GIT PULL 00/21] lightnvm updates for 4.21 Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 01/21] lightnvm: pblk: ignore the smeta oob area scan Matias Bjørling
2018-12-11 19:16 ` Matias Bjørling [this message]
2018-12-11 19:16 ` [GIT PULL 03/21] lightnvm: pblk: fix chunk close trace event check Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 04/21] lightnvm: pblk: fix resubmission of overwritten write err lbas Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 05/21] lightnvm: pblk: account for write error sectors in emeta Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 06/21] lightnvm: pblk: stop writes gracefully when running out of lines Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 07/21] lightnvm: pblk: set conservative threshold for user writes Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 08/21] lightnvm: pblk: remove unused macro Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 09/21] lightnvm: pblk: fix pblk_lines_init error handling path Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 10/21] lightnvm: pblk: remove dead code in pblk_recov_l2p Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 11/21] lightnvm: pblk: fix spelling in comment Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 12/21] lightnvm: pblk: add lock protection to list operations Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 13/21] lightnvm: pblk: add comments wrt locking in recovery path Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 14/21] lightnvm: simplify geometry enumeration Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 15/21] lightnvm: pblk: avoid ref warning on cache creation Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 16/21] lightnvm: pblk: move lba list to partial read context Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 17/21] lightnvm: pblk: add helpers for OOB metadata Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 18/21] lightnvm: dynamic DMA pool entry size Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 19/21] lightnvm: disable interleaved metadata Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 20/21] lightnvm: pblk: support packed metadata Matias Bjørling
2018-12-11 19:16 ` [GIT PULL 21/21] lightnvm: pblk: do not overwrite ppa list with meta list Matias Bjørling
2018-12-11 19:23 ` [GIT PULL 00/21] lightnvm updates for 4.21 Jens Axboe

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=20181211191627.15542-3-mb@lightnvm.io \
    --to=mb@lightnvm.io \
    --cc=axboe@fb.com \
    --cc=geert@linux-m68k.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).