blob: 45dc1fb85814a09288f3e760c1394480e74a85bb [file] [log] [blame]
From a413de6a6e6c0658a935d730e2f30c7847f7eb92 Mon Sep 17 00:00:00 2001
From: Wang Xiayang <>
Date: Mon, 15 Jul 2019 16:53:01 +0800
Subject: [PATCH] drm/amdgpu: replace simple_strtol() by kstrtou32()
commit 3bd532692d93a9c72f4f11e38437b30c0e13007f upstream.
The simple_strtol() function is deprecated. kstrto[l,u32]() is
the correct replacement as it can properly handle overflows.
This patch replaces the deprecated simple_strtol() use introduced recently.
As clk is of type uint32_t, we are safe to use kstrtou32().
It is also safe to return zero on string parsing error,
similar to the case of returning zero if buf is empty in parse_clk().
Fixes: bb5a2bdf36a8 ("drm/amdgpu: support dpm level modification under virtualization v3")
Signed-off-by: Wang Xiayang <>
Signed-off-by: Alex Deucher <>
Signed-off-by: Paul Gortmaker <>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
index 7d484fad3909..2adda47def64 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
@@ -386,7 +386,8 @@ static uint32_t parse_clk(char *buf, bool min)
if (!ptr)
- clk = simple_strtoul(ptr, NULL, 10);
+ if (kstrtou32(ptr, 10, &clk))
+ return 0;
} while (!min);
return clk * 100;