strcpy() is deprecated as it does not do any bounds checking (as
specified in Documentation/process/deprecated.rst).

There is a risk of buffer overflow in the case that the value for
THIS_MODULE->version exceeds the 64 characters. This is unlikely, but
replacing the deprecated function will pre-emptively remove this risk
entirely.

Replace both instances of strcpy() with the safer strscpy() function.

Changes have been compile tested.

Signed-off-by: Yicong Hui <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
index 47a6ce4fdc74..1c4e74e35cf3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
@@ -604,10 +604,10 @@ static int amdgpu_virt_write_vf2pf_data(struct 
amdgpu_device *adev)
 
 #ifdef MODULE
        if (THIS_MODULE->version != NULL)
-               strcpy(vf2pf_info->driver_version, THIS_MODULE->version);
+               strscpy(vf2pf_info->driver_version, THIS_MODULE->version);
        else
 #endif
-               strcpy(vf2pf_info->driver_version, "N/A");
+               strscpy(vf2pf_info->driver_version, "N/A");
 
        vf2pf_info->pf2vf_version_required = 0; // no requirement, guest 
understands all
        vf2pf_info->driver_cert = 0;
-- 
2.52.0


Reply via email to