hwmon: (ibmpowernv) Replace deprecated strncpy() with memcpy()
authorJustin Stitt <justinstitt@google.com>
Tue, 19 Sep 2023 05:22:51 +0000 (05:22 +0000)
committerKees Cook <keescook@chromium.org>
Fri, 29 Sep 2023 21:48:31 +0000 (14:48 -0700)
`strncpy` is deprecated for use on NUL-terminated destination strings [1].

A suitable replacement is `memcpy` as we've already precisely calculated
the number of bytes to copy while `buf` has been explicitly
zero-initialized:
|  char buf[8] = { 0 };

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html
Link: https://github.com/KSPP/linux/issues/90
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Justin Stitt <justinstitt@google.com>
Tested-by: Michael Ellerman <mpe@ellerman.id.au>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230919-strncpy-drivers-hwmon-ibmpowernv-c-v2-1-37d3e64172bc@google.com
Signed-off-by: Kees Cook <keescook@chromium.org>
drivers/hwmon/ibmpowernv.c

index 594254d6a72dde1dd83b492b038bcf3dbb9f25c6..70ca833259abfe31b920a803decec14a6840d1c3 100644 (file)
@@ -234,7 +234,7 @@ static int get_sensor_index_attr(const char *name, u32 *index, char *attr)
        if (copy_len >= sizeof(buf))
                return -EINVAL;
 
-       strncpy(buf, hash_pos + 1, copy_len);
+       memcpy(buf, hash_pos + 1, copy_len);
 
        err = kstrtou32(buf, 10, index);
        if (err)