Add check for the return value of devm_kstrdup() in
dsi_host_parse_dt() to catch potential exception.

Fixes: 958d8d99ccb3 ("drm/msm/dsi: parse vsync source from device tree")
Cc: sta...@vger.kernel.org
Signed-off-by: Haoxiang Li <haoxiang_li2...@163.com>
---
 drivers/gpu/drm/msm/dsi/dsi_host.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c 
b/drivers/gpu/drm/msm/dsi/dsi_host.c
index 007311c21fda..6dd1e10d8014 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -1827,8 +1827,15 @@ static int dsi_host_parse_dt(struct msm_dsi_host 
*msm_host)
                        __func__, ret);
                goto err;
        }
-       if (!ret)
+       if (!ret) {
                msm_dsi->te_source = devm_kstrdup(dev, te_source, GFP_KERNEL);
+               if (!msm_dsi->te_source) {
+                       DRM_DEV_ERROR(dev, "%s: failed to allocate te_source\n",
+                               __func__);
+                       ret = -ENOMEM;
+                       goto err;
+               }
+       }
        ret = 0;
 
        if (of_property_present(np, "syscon-sfpb")) {
-- 
2.25.1

Reply via email to