diff mbox series

scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()

Message ID 20211006073242.GA8404@kili (mailing list archive)
State Accepted
Headers show
Series scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() | expand

Commit Message

Dan Carpenter Oct. 6, 2021, 7:32 a.m. UTC
This variable is just a temporary variable, used to do an endian
conversion.  The problem is that the last byte is not initialized.
After the conversion is completely done, the last byte is discarded so
it doesn't cause a problem.  But static checkers and the KMSan runtime
checker can detect the uninitialized read and will complain about it.

Fixes: 5036f0a0ecd3 ("[SCSI] csiostor: Fix sparse warnings.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/scsi/csiostor/csio_lnode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Martin K. Petersen Oct. 12, 2021, 4:11 p.m. UTC | #1
Dan,

> This variable is just a temporary variable, used to do an endian
> conversion.  The problem is that the last byte is not initialized.
> After the conversion is completely done, the last byte is discarded so
> it doesn't cause a problem.  But static checkers and the KMSan runtime
> checker can detect the uninitialized read and will complain about it.

Applied to 5.16/scsi-staging, thanks!
Martin K. Petersen Oct. 21, 2021, 3:42 a.m. UTC | #2
On Wed, 6 Oct 2021 10:32:43 +0300, Dan Carpenter wrote:

> This variable is just a temporary variable, used to do an endian
> conversion.  The problem is that the last byte is not initialized.
> After the conversion is completely done, the last byte is discarded so
> it doesn't cause a problem.  But static checkers and the KMSan runtime
> checker can detect the uninitialized read and will complain about it.
> 
> 
> [...]

Applied to 5.16/scsi-queue, thanks!

[1/1] scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()
      https://git.kernel.org/mkp/scsi/c/f4875d509a0a
diff mbox series

Patch

diff --git a/drivers/scsi/csiostor/csio_lnode.c b/drivers/scsi/csiostor/csio_lnode.c
index dc98f51f466f..d5ac93897023 100644
--- a/drivers/scsi/csiostor/csio_lnode.c
+++ b/drivers/scsi/csiostor/csio_lnode.c
@@ -619,7 +619,7 @@  csio_ln_vnp_read_cbfn(struct csio_hw *hw, struct csio_mb *mbp)
 	struct fc_els_csp *csp;
 	struct fc_els_cssp *clsp;
 	enum fw_retval retval;
-	__be32 nport_id;
+	__be32 nport_id = 0;
 
 	retval = FW_CMD_RETVAL_G(ntohl(rsp->alloc_to_len16));
 	if (retval != FW_SUCCESS) {