summaryrefslogtreecommitdiff
path: root/drivers/hv
diff options
context:
space:
mode:
authorThorsten Blum <thorsten.blum@linux.dev>2026-04-28 19:11:05 +0200
committerWei Liu <wei.liu@kernel.org>2026-04-29 22:15:31 +0000
commit3f8c8497b4fc249e27cb335c627114d8412e584d (patch)
tree75245e32705b54fb8396d9d7b15144b6679d8e2f /drivers/hv
parent3fcf923302a8f5c0dc3af3d2ca2657cb5fae4297 (diff)
downloadlinux-next-3f8c8497b4fc249e27cb335c627114d8412e584d.tar.gz
linux-next-3f8c8497b4fc249e27cb335c627114d8412e584d.zip
hv: utils: replace deprecated strcpy with strscpy in kvp_register
strcpy() has been deprecated [1] because it performs no bounds checking on the destination buffer, which can lead to buffer overflows. While the current code works correctly, replace strcpy() with the safer strscpy() to follow secure coding best practices. Use ->body.kvp_register.version directly as the destination buffer and remove the local variable. [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Signed-off-by: Wei Liu <wei.liu@kernel.org>
Diffstat (limited to 'drivers/hv')
-rw-r--r--drivers/hv/hv_kvp.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index 6180ebe040ff..336b278b2182 100644
--- a/drivers/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -27,6 +27,7 @@
#include <linux/connector.h>
#include <linux/workqueue.h>
#include <linux/hyperv.h>
+#include <linux/string.h>
#include <hyperv/hvhdk.h>
#include "hyperv_vmbus.h"
@@ -130,18 +131,15 @@ static void kvp_register_done(void)
static int
kvp_register(int reg_value)
{
-
struct hv_kvp_msg *kvp_msg;
- char *version;
int ret;
kvp_msg = kzalloc_obj(*kvp_msg);
if (!kvp_msg)
return -ENOMEM;
- version = kvp_msg->body.kvp_register.version;
kvp_msg->kvp_hdr.operation = reg_value;
- strcpy(version, HV_DRV_VERSION);
+ strscpy(kvp_msg->body.kvp_register.version, HV_DRV_VERSION);
ret = hvutil_transport_send(hvt, kvp_msg, sizeof(*kvp_msg),
kvp_register_done);