diff mbox series

scsi: Have scsi_init_dev_desc_priv() use memset

Message ID 20231108192811.1844338-1-trini@konsulko.com
State Accepted
Commit d2174dbff1b492c682cc93903bc7456c2784e719
Delegated to: Tom Rini
Headers show
Series scsi: Have scsi_init_dev_desc_priv() use memset | expand

Commit Message

Tom Rini Nov. 8, 2023, 7:28 p.m. UTC
When we do not have CONFIG_BOUNCE_BUFFER enabled, inside of
scsi_init_dev_desc_priv we never set the 'bb' field to false, we only
initialize it to true when CONFIG_BOUNCE_BUFFER is set. Given that we
have a number of other fields here we had been explicitly setting to
zero, change to first calling memset to clear the struct and then
initialize only the fields that need non-zero default values.

Addresses-Coverity-ID: 467407 ("Uninitialized variables (UNINIT)")
Fixes: 81bd22e935dc ("rockchip: block: blk-uclass: add bounce buffer flag to blk_desc")
Signed-off-by: Tom Rini <trini@konsulko.com>
---
Cc: Johan Jonker <jbx6244@gmail.com>
---
 drivers/scsi/scsi.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

Comments

Simon Glass Nov. 9, 2023, 1:15 a.m. UTC | #1
On Wed, 8 Nov 2023 at 12:28, Tom Rini <trini@konsulko.com> wrote:
>
> When we do not have CONFIG_BOUNCE_BUFFER enabled, inside of
> scsi_init_dev_desc_priv we never set the 'bb' field to false, we only
> initialize it to true when CONFIG_BOUNCE_BUFFER is set. Given that we
> have a number of other fields here we had been explicitly setting to
> zero, change to first calling memset to clear the struct and then
> initialize only the fields that need non-zero default values.
>
> Addresses-Coverity-ID: 467407 ("Uninitialized variables (UNINIT)")
> Fixes: 81bd22e935dc ("rockchip: block: blk-uclass: add bounce buffer flag to blk_desc")
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
> Cc: Johan Jonker <jbx6244@gmail.com>
> ---
>  drivers/scsi/scsi.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini Nov. 10, 2023, 4:21 p.m. UTC | #2
On Wed, Nov 08, 2023 at 02:28:11PM -0500, Tom Rini wrote:

> When we do not have CONFIG_BOUNCE_BUFFER enabled, inside of
> scsi_init_dev_desc_priv we never set the 'bb' field to false, we only
> initialize it to true when CONFIG_BOUNCE_BUFFER is set. Given that we
> have a number of other fields here we had been explicitly setting to
> zero, change to first calling memset to clear the struct and then
> initialize only the fields that need non-zero default values.
> 
> Addresses-Coverity-ID: 467407 ("Uninitialized variables (UNINIT)")
> Fixes: 81bd22e935dc ("rockchip: block: blk-uclass: add bounce buffer flag to blk_desc")
> Signed-off-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index 363047d0f72c..7dfe0c5e0562 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -368,15 +368,12 @@  static void scsi_setup_test_unit_ready(struct scsi_cmd *pccb)
  */
 static void scsi_init_dev_desc_priv(struct blk_desc *dev_desc)
 {
+	memset(dev_desc, 0, sizeof(struct blk_desc));
 	dev_desc->target = 0xff;
 	dev_desc->lun = 0xff;
 	dev_desc->log2blksz =
 		LOG2_INVALID(typeof(dev_desc->log2blksz));
 	dev_desc->type = DEV_TYPE_UNKNOWN;
-	dev_desc->vendor[0] = 0;
-	dev_desc->product[0] = 0;
-	dev_desc->revision[0] = 0;
-	dev_desc->removable = false;
 #if IS_ENABLED(CONFIG_BOUNCE_BUFFER)
 	dev_desc->bb = true;
 #endif	/* CONFIG_BOUNCE_BUFFER */