mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-20 23:55:42 -04:00
drm/nouveau/nvif: refactor deprecated strncpy
`strncpy` is deprecated and as such we should prefer more robust and less ambiguous string interfaces. A suitable replacement is `strscpy_pad` due to the fact that it guarantees NUL-termination on the destination buffer whilst also maintaining the NUL-padding behavior that `strncpy` provides. I am not sure whether NUL-padding is strictly needed but I see in `nvif_object_ctor()` args is memcpy'd elsewhere so I figured we'd keep the same functionality. Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1] Link: https://github.com/KSPP/linux/issues/90 Cc: linux-hardening@vger.kernel.org Signed-off-by: Justin Stitt <justinstitt@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Lyude Paul <lyude@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230914-strncpy-drivers-gpu-drm-nouveau-nvif-client-c-v1-1-dc3b3719fcb4@google.com
This commit is contained in:
@@ -69,7 +69,7 @@ nvif_client_ctor(struct nvif_client *parent, const char *name, u64 device,
|
||||
} nop = {};
|
||||
int ret;
|
||||
|
||||
strncpy(args.name, name, sizeof(args.name));
|
||||
strscpy_pad(args.name, name, sizeof(args.name));
|
||||
ret = nvif_object_ctor(parent != client ? &parent->object : NULL,
|
||||
name ? name : "nvifClient", 0,
|
||||
NVIF_CLASS_CLIENT, &args, sizeof(args),
|
||||
|
||||
Reference in New Issue
Block a user