2022-12-07 02:04:34

by Yang Yang

[permalink] [raw]
Subject: [PATCH linux-next] drm/virtio: use strscpy() to instead of strncpy()

From: Xu Panda <[email protected]>

The implementation of strscpy() is more robust and safer.
That's now the recommended way to copy NUL terminated strings.

Signed-off-by: Xu Panda <[email protected]>
Signed-off-by: Yang Yang <[email protected]>
---
drivers/gpu/drm/virtio/virtgpu_vq.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/virtio/virtgpu_vq.c b/drivers/gpu/drm/virtio/virtgpu_vq.c
index 9ff8660b50ad..7d95bc74b307 100644
--- a/drivers/gpu/drm/virtio/virtgpu_vq.c
+++ b/drivers/gpu/drm/virtio/virtgpu_vq.c
@@ -916,8 +916,7 @@ void virtio_gpu_cmd_context_create(struct virtio_gpu_device *vgdev, uint32_t id,
cmd_p->hdr.ctx_id = cpu_to_le32(id);
cmd_p->nlen = cpu_to_le32(nlen);
cmd_p->context_init = cpu_to_le32(context_init);
- strncpy(cmd_p->debug_name, name, sizeof(cmd_p->debug_name) - 1);
- cmd_p->debug_name[sizeof(cmd_p->debug_name) - 1] = 0;
+ strscpy(cmd_p->debug_name, name, sizeof(cmd_p->debug_name));
virtio_gpu_queue_ctrl_buffer(vgdev, vbuf);
}

--
2.15.2


2023-02-27 00:04:38

by Dmitry Osipenko

[permalink] [raw]
Subject: Re: [PATCH linux-next] drm/virtio: use strscpy() to instead of strncpy()

On 12/7/22 04:13, [email protected] wrote:
> From: Xu Panda <[email protected]>
>
> The implementation of strscpy() is more robust and safer.
> That's now the recommended way to copy NUL terminated strings.
>
> Signed-off-by: Xu Panda <[email protected]>
> Signed-off-by: Yang Yang <[email protected]>
> ---
> drivers/gpu/drm/virtio/virtgpu_vq.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/virtio/virtgpu_vq.c b/drivers/gpu/drm/virtio/virtgpu_vq.c
> index 9ff8660b50ad..7d95bc74b307 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_vq.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_vq.c
> @@ -916,8 +916,7 @@ void virtio_gpu_cmd_context_create(struct virtio_gpu_device *vgdev, uint32_t id,
> cmd_p->hdr.ctx_id = cpu_to_le32(id);
> cmd_p->nlen = cpu_to_le32(nlen);
> cmd_p->context_init = cpu_to_le32(context_init);
> - strncpy(cmd_p->debug_name, name, sizeof(cmd_p->debug_name) - 1);
> - cmd_p->debug_name[sizeof(cmd_p->debug_name) - 1] = 0;
> + strscpy(cmd_p->debug_name, name, sizeof(cmd_p->debug_name));
> virtio_gpu_queue_ctrl_buffer(vgdev, vbuf);
> }
>

Applied to misc-next

--
Best regards,
Dmitry