Re: [RESEND PATCH] rpmsg: Use strscpy() instead of strscpy_pad()

Mathieu Poirier
2025-04-30T15:00:00Z

On Tue, 29 Apr 2025 at 04:46, Thorsten Blum <thorsten.blum@linux.dev> wrote:
>
> kzalloc() already zero-initializes the destination buffer, making
> strscpy() sufficient for safely copying the name. The additional NUL-
> padding performed by strscpy_pad() is unnecessary.
>
> The size parameter is optional, and strscpy() automatically determines
> the size of the destination buffer using sizeof() when the argument is
> omitted. RPMSG_NAME_SIZE is equal to sizeof(rpdev->id.name) and can be
> removed - remove it.
>
> No functional changes intended.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
> ---
> drivers/rpmsg/qcom_glink_native.c | 2 +-
> drivers/rpmsg/qcom_smd.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)

I will let Bjorn take care of this one.

Thanks,
Mathieu

>
> diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c
> index a2f9d85c7156..820a6ca5b1d7 100644
> --- a/drivers/rpmsg/qcom_glink_native.c
> +++ b/drivers/rpmsg/qcom_glink_native.c
> @@ -1663,7 +1663,7 @@ static int qcom_glink_rx_open(struct qcom_glink *glink, unsigned int rcid,
> }
>
> rpdev->ept = &channel->ept;
> - strscpy_pad(rpdev->id.name, name, RPMSG_NAME_SIZE);
> + strscpy(rpdev->id.name, name);
> rpdev->src = RPMSG_ADDR_ANY;
> rpdev->dst = RPMSG_ADDR_ANY;
> rpdev->ops = &glink_device_ops;
> diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
> index 40d386809d6b..3c86c5553de6 100644
> --- a/drivers/rpmsg/qcom_smd.c
> +++ b/drivers/rpmsg/qcom_smd.c
> @@ -1089,7 +1089,7 @@ static int qcom_smd_create_device(struct qcom_smd_channel *channel)
>
> /* Assign public information to the rpmsg_device */
> rpdev = &qsdev->rpdev;
> - strscpy_pad(rpdev->id.name, channel->name, RPMSG_NAME_SIZE);
> + strscpy(rpdev->id.name, channel->name);
> rpdev->src = RPMSG_ADDR_ANY;
> rpdev->dst = RPMSG_ADDR_ANY;
>
> --
> 2.49.0
>