Skip to content

Commit 61af39e

Browse files
JustinStittkees
authored andcommitted
virt: acrn: replace deprecated strncpy with strscpy
strncpy() is deprecated for use on NUL-terminated destination strings [1] and as such we should prefer more robust and less ambiguous string interfaces. We can see that client->name should be NUL-terminated based on its usage with a %s C-string format specifier. | client->thread = kthread_run(ioreq_task, client, "VM%u-%s", | client->vm->vmid, client->name); NUL-padding is not required as client is already zero-allocated: | client = kzalloc(sizeof(*client), GFP_KERNEL); Considering the above, a suitable replacement is `strscpy` [2] due to the fact that it guarantees NUL-termination on the destination buffer without unnecessarily NUL-padding. Note that this patch relies on the _new_ 2-argument version of strscpy() introduced in Commit e6584c3 ("string: Allow 2-argument strscpy()"). Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1] Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2] Link: KSPP#90 Cc: <[email protected]> Signed-off-by: Justin Stitt <[email protected]> Reviewed-by: Kees Cook <[email protected]> Link: https://lore.kernel.org/r/20240320-strncpy-drivers-virt-acrn-ioreq-c-v1-1-db6996770341@google.com Signed-off-by: Kees Cook <[email protected]>
1 parent 2e431b2 commit 61af39e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/virt/acrn/ioreq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ struct acrn_ioreq_client *acrn_ioreq_client_create(struct acrn_vm *vm,
433433
client->priv = priv;
434434
client->is_default = is_default;
435435
if (name)
436-
strncpy(client->name, name, sizeof(client->name) - 1);
436+
strscpy(client->name, name);
437437
rwlock_init(&client->range_lock);
438438
INIT_LIST_HEAD(&client->range_list);
439439
init_waitqueue_head(&client->wq);

0 commit comments

Comments
 (0)