[PATCH] net/smc: Replace use of strncpy on NUL-terminated string with strscpy

James Flowers posted 1 patch 1 month ago
There is a newer version of this series
net/smc/smc_pnet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] net/smc: Replace use of strncpy on NUL-terminated string with strscpy
Posted by James Flowers 1 month ago
strncpy is deprecated for use on NUL-terminated strings, as indicated in
Documentation/process/deprecated.rst. strncpy NUL-pads the destination
buffer and doesn't guarantee the destination buffer will be NUL
terminated.

Signed-off-by: James Flowers <bold.zone2373@fastmail.com>
---
Note: this has only been compile tested.

 net/smc/smc_pnet.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/smc/smc_pnet.c b/net/smc/smc_pnet.c
index 76ad29e31d60..5cfde2b9cad8 100644
--- a/net/smc/smc_pnet.c
+++ b/net/smc/smc_pnet.c
@@ -450,7 +450,7 @@ static int smc_pnet_add_ib(struct smc_pnettable *pnettable, char *ib_name,
 		return -ENOMEM;
 	new_pe->type = SMC_PNET_IB;
 	memcpy(new_pe->pnet_name, pnet_name, SMC_MAX_PNETID_LEN);
-	strncpy(new_pe->ib_name, ib_name, IB_DEVICE_NAME_MAX);
+	strscpy(new_pe->ib_name, ib_name, IB_DEVICE_NAME_MAX);
 	new_pe->ib_port = ib_port;
 
 	new_ibdev = true;
-- 
2.50.1
Re: [PATCH] net/smc: Replace use of strncpy on NUL-terminated string with strscpy
Posted by James 1 month ago

On Sun, Aug 31, 2025, at 2:49 AM, James Flowers wrote:
> strncpy is deprecated for use on NUL-terminated strings, as indicated in
> Documentation/process/deprecated.rst. strncpy NUL-pads the destination
> buffer and doesn't guarantee the destination buffer will be NUL
> terminated.
>
> Signed-off-by: James Flowers <bold.zone2373@fastmail.com>
> ---
> Note: this has only been compile tested.
>
>  net/smc/smc_pnet.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/smc/smc_pnet.c b/net/smc/smc_pnet.c
> index 76ad29e31d60..5cfde2b9cad8 100644
> --- a/net/smc/smc_pnet.c
> +++ b/net/smc/smc_pnet.c
> @@ -450,7 +450,7 @@ static int smc_pnet_add_ib(struct smc_pnettable 
> *pnettable, char *ib_name,
>  		return -ENOMEM;
>  	new_pe->type = SMC_PNET_IB;
>  	memcpy(new_pe->pnet_name, pnet_name, SMC_MAX_PNETID_LEN);
> -	strncpy(new_pe->ib_name, ib_name, IB_DEVICE_NAME_MAX);
> +	strscpy(new_pe->ib_name, ib_name, IB_DEVICE_NAME_MAX);
>  	new_pe->ib_port = ib_port;
> 
>  	new_ibdev = true;
> -- 
> 2.50.1

Please disregard. Sorry, just noticed I should have used the two argument version of strscpy. I will send a V2.