strlcpy() reads the entire source buffer first.
This read may exceed the destination size limit.
This is both inefficient and can lead to linear read
overflows if a source string is not NUL-terminated [1].
In an effort to remove strlcpy() completely [2], replace
strlcpy() here with strscpy().
No return values were used, so direct replacement is safe.

[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy
[2] https://github.com/KSPP/linux/issues/89

Signed-off-by: Azeem Shaikh <azeemshaik...@gmail.com>
---
 drivers/dma-buf/sw_sync.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma-buf/sw_sync.c b/drivers/dma-buf/sw_sync.c
index 348b3a9170fa..63f0aeb66db6 100644
--- a/drivers/dma-buf/sw_sync.c
+++ b/drivers/dma-buf/sw_sync.c
@@ -85,7 +85,7 @@ static struct sync_timeline *sync_timeline_create(const char 
*name)
 
        kref_init(&obj->kref);
        obj->context = dma_fence_context_alloc(1);
-       strlcpy(obj->name, name, sizeof(obj->name));
+       strscpy(obj->name, name, sizeof(obj->name));
 
        obj->pt_tree = RB_ROOT;
        INIT_LIST_HEAD(&obj->pt_list);

Reply via email to