]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
scsi: ufs: ufshcd-pltfrm: Check the return value of devm_kstrdup()
authorXiaoke Wang <xkernel.wang@foxmail.com>
Sun, 16 Jan 2022 03:06:49 +0000 (11:06 +0800)
committerPaolo Pisati <paolo.pisati@canonical.com>
Mon, 7 Mar 2022 10:41:58 +0000 (11:41 +0100)
BugLink: https://bugs.launchpad.net/bugs/1963889
[ Upstream commit a65b32748f4566f986ba2495a8236c141fa42a26 ]

devm_kstrdup() returns pointer to allocated string on success, NULL on
failure. So it is better to check the return value of it.

Link: https://lore.kernel.org/r/tencent_4257E15D4A94FF9020DDCC4BB9B21C041408@qq.com
Reviewed-by: Bean Huo <beanhuo@micron.com>
Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/scsi/ufs/ufshcd-pltfrm.c

index 8b16bbbcb806c7377e07964909259f0493fdd981..87975d1a21c8b1f2f227355181bd5b3d546e0d93 100644 (file)
@@ -92,6 +92,11 @@ static int ufshcd_parse_clock_info(struct ufs_hba *hba)
                clki->min_freq = clkfreq[i];
                clki->max_freq = clkfreq[i+1];
                clki->name = devm_kstrdup(dev, name, GFP_KERNEL);
+               if (!clki->name) {
+                       ret = -ENOMEM;
+                       goto out;
+               }
+
                if (!strcmp(name, "ref_clk"))
                        clki->keep_link_active = true;
                dev_dbg(dev, "%s: min %u max %u name %s\n", "freq-table-hz",
@@ -127,6 +132,8 @@ static int ufshcd_populate_vreg(struct device *dev, const char *name,
                return -ENOMEM;
 
        vreg->name = devm_kstrdup(dev, name, GFP_KERNEL);
+       if (!vreg->name)
+               return -ENOMEM;
 
        snprintf(prop_name, MAX_PROP_SIZE, "%s-max-microamp", name);
        if (of_property_read_u32(np, prop_name, &vreg->max_uA)) {