[PATCH] scsi: target: Remove size arguments when calling strscpy()

Thorsten Blum posted 1 patch 11 months, 1 week ago
drivers/target/target_core_configfs.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
[PATCH] scsi: target: Remove size arguments when calling strscpy()
Posted by Thorsten Blum 11 months, 1 week ago
The size parameter of strscpy() is optional because strscpy() uses
sizeof() to determine the length of the destination buffer if it is not
provided as an argument. Remove it to simplify the code.

Remove some unnecessary curly braces.

No functional changes intended.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 drivers/target/target_core_configfs.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c
index c40217f44b1b..9b2b9786ce2f 100644
--- a/drivers/target/target_core_configfs.c
+++ b/drivers/target/target_core_configfs.c
@@ -673,12 +673,10 @@ static ssize_t emulate_model_alias_store(struct config_item *item,
 		return ret;
 
 	BUILD_BUG_ON(sizeof(dev->t10_wwn.model) != INQUIRY_MODEL_LEN + 1);
-	if (flag) {
+	if (flag)
 		dev_set_t10_wwn_model_alias(dev);
-	} else {
-		strscpy(dev->t10_wwn.model, dev->transport->inquiry_prod,
-			sizeof(dev->t10_wwn.model));
-	}
+	else
+		strscpy(dev->t10_wwn.model, dev->transport->inquiry_prod);
 	da->emulate_model_alias = flag;
 	return count;
 }
@@ -1433,7 +1431,7 @@ static ssize_t target_wwn_vendor_id_store(struct config_item *item,
 	ssize_t len;
 	ssize_t ret;
 
-	len = strscpy(buf, page, sizeof(buf));
+	len = strscpy(buf, page);
 	if (len > 0) {
 		/* Strip any newline added from userspace. */
 		stripped = strstrip(buf);
@@ -1464,7 +1462,7 @@ static ssize_t target_wwn_vendor_id_store(struct config_item *item,
 	}
 
 	BUILD_BUG_ON(sizeof(dev->t10_wwn.vendor) != INQUIRY_VENDOR_LEN + 1);
-	strscpy(dev->t10_wwn.vendor, stripped, sizeof(dev->t10_wwn.vendor));
+	strscpy(dev->t10_wwn.vendor, stripped);
 
 	pr_debug("Target_Core_ConfigFS: Set emulated T10 Vendor Identification:"
 		 " %s\n", dev->t10_wwn.vendor);
@@ -1489,7 +1487,7 @@ static ssize_t target_wwn_product_id_store(struct config_item *item,
 	ssize_t len;
 	ssize_t ret;
 
-	len = strscpy(buf, page, sizeof(buf));
+	len = strscpy(buf, page);
 	if (len > 0) {
 		/* Strip any newline added from userspace. */
 		stripped = strstrip(buf);
@@ -1520,7 +1518,7 @@ static ssize_t target_wwn_product_id_store(struct config_item *item,
 	}
 
 	BUILD_BUG_ON(sizeof(dev->t10_wwn.model) != INQUIRY_MODEL_LEN + 1);
-	strscpy(dev->t10_wwn.model, stripped, sizeof(dev->t10_wwn.model));
+	strscpy(dev->t10_wwn.model, stripped);
 
 	pr_debug("Target_Core_ConfigFS: Set emulated T10 Model Identification: %s\n",
 		 dev->t10_wwn.model);
@@ -1545,7 +1543,7 @@ static ssize_t target_wwn_revision_store(struct config_item *item,
 	ssize_t len;
 	ssize_t ret;
 
-	len = strscpy(buf, page, sizeof(buf));
+	len = strscpy(buf, page);
 	if (len > 0) {
 		/* Strip any newline added from userspace. */
 		stripped = strstrip(buf);
@@ -1576,7 +1574,7 @@ static ssize_t target_wwn_revision_store(struct config_item *item,
 	}
 
 	BUILD_BUG_ON(sizeof(dev->t10_wwn.revision) != INQUIRY_REVISION_LEN + 1);
-	strscpy(dev->t10_wwn.revision, stripped, sizeof(dev->t10_wwn.revision));
+	strscpy(dev->t10_wwn.revision, stripped);
 
 	pr_debug("Target_Core_ConfigFS: Set emulated T10 Revision: %s\n",
 		 dev->t10_wwn.revision);
-- 
2.48.1
Re: [PATCH] scsi: target: Remove size arguments when calling strscpy()
Posted by Lee Duncan 9 months, 2 weeks ago
On Tue, Mar 4, 2025 at 10:30 AM Thorsten Blum <thorsten.blum@linux.dev> wrote:
>
> The size parameter of strscpy() is optional because strscpy() uses
> sizeof() to determine the length of the destination buffer if it is not
> provided as an argument. Remove it to simplify the code.
>
> Remove some unnecessary curly braces.
>
> No functional changes intended.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
> ---
>  drivers/target/target_core_configfs.c | 20 +++++++++-----------
>  1 file changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c
> index c40217f44b1b..9b2b9786ce2f 100644
> --- a/drivers/target/target_core_configfs.c
> +++ b/drivers/target/target_core_configfs.c
> @@ -673,12 +673,10 @@ static ssize_t emulate_model_alias_store(struct config_item *item,
>                 return ret;
>
>         BUILD_BUG_ON(sizeof(dev->t10_wwn.model) != INQUIRY_MODEL_LEN + 1);
> -       if (flag) {
> +       if (flag)
>                 dev_set_t10_wwn_model_alias(dev);
> -       } else {
> -               strscpy(dev->t10_wwn.model, dev->transport->inquiry_prod,
> -                       sizeof(dev->t10_wwn.model));
> -       }
> +       else
> +               strscpy(dev->t10_wwn.model, dev->transport->inquiry_prod);
>         da->emulate_model_alias = flag;
>         return count;
>  }
> @@ -1433,7 +1431,7 @@ static ssize_t target_wwn_vendor_id_store(struct config_item *item,
>         ssize_t len;
>         ssize_t ret;
>
> -       len = strscpy(buf, page, sizeof(buf));
> +       len = strscpy(buf, page);
>         if (len > 0) {
>                 /* Strip any newline added from userspace. */
>                 stripped = strstrip(buf);
> @@ -1464,7 +1462,7 @@ static ssize_t target_wwn_vendor_id_store(struct config_item *item,
>         }
>
>         BUILD_BUG_ON(sizeof(dev->t10_wwn.vendor) != INQUIRY_VENDOR_LEN + 1);
> -       strscpy(dev->t10_wwn.vendor, stripped, sizeof(dev->t10_wwn.vendor));
> +       strscpy(dev->t10_wwn.vendor, stripped);
>
>         pr_debug("Target_Core_ConfigFS: Set emulated T10 Vendor Identification:"
>                  " %s\n", dev->t10_wwn.vendor);
> @@ -1489,7 +1487,7 @@ static ssize_t target_wwn_product_id_store(struct config_item *item,
>         ssize_t len;
>         ssize_t ret;
>
> -       len = strscpy(buf, page, sizeof(buf));
> +       len = strscpy(buf, page);
>         if (len > 0) {
>                 /* Strip any newline added from userspace. */
>                 stripped = strstrip(buf);
> @@ -1520,7 +1518,7 @@ static ssize_t target_wwn_product_id_store(struct config_item *item,
>         }
>
>         BUILD_BUG_ON(sizeof(dev->t10_wwn.model) != INQUIRY_MODEL_LEN + 1);
> -       strscpy(dev->t10_wwn.model, stripped, sizeof(dev->t10_wwn.model));
> +       strscpy(dev->t10_wwn.model, stripped);
>
>         pr_debug("Target_Core_ConfigFS: Set emulated T10 Model Identification: %s\n",
>                  dev->t10_wwn.model);
> @@ -1545,7 +1543,7 @@ static ssize_t target_wwn_revision_store(struct config_item *item,
>         ssize_t len;
>         ssize_t ret;
>
> -       len = strscpy(buf, page, sizeof(buf));
> +       len = strscpy(buf, page);
>         if (len > 0) {
>                 /* Strip any newline added from userspace. */
>                 stripped = strstrip(buf);
> @@ -1576,7 +1574,7 @@ static ssize_t target_wwn_revision_store(struct config_item *item,
>         }
>
>         BUILD_BUG_ON(sizeof(dev->t10_wwn.revision) != INQUIRY_REVISION_LEN + 1);
> -       strscpy(dev->t10_wwn.revision, stripped, sizeof(dev->t10_wwn.revision));
> +       strscpy(dev->t10_wwn.revision, stripped);
>
>         pr_debug("Target_Core_ConfigFS: Set emulated T10 Revision: %s\n",
>                  dev->t10_wwn.revision);
> --
> 2.48.1
>
>

Reviewed-by: Lee Duncan <lduncan@suse.com>
Re: [PATCH] scsi: target: Remove size arguments when calling strscpy()
Posted by Thorsten Blum 9 months, 2 weeks ago
Hi Lee,

On 26. Apr 2025, at 23:24, Lee Duncan wrote:
> Reviewed-by: Lee Duncan <lduncan@suse.com>

Thanks, but this is already in -next.

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=1f8eb295790001e0f498e62c186130055d3d496f