soc: samsung: exynos-chipid: Add NULL pointer check in exynos_chipid_probe()
authorChenyuan Yang <chenyuan0y@gmail.com>
Wed, 12 Feb 2025 21:35:18 +0000 (15:35 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 08:45:27 +0000 (10:45 +0200)
commit c8222ef6cf29dd7cad21643228f96535cc02b327 upstream.

soc_dev_attr->revision could be NULL, thus,
a pointer check is added to prevent potential NULL pointer dereference.
This is similar to the fix in commit 3027e7b15b02
("ice: Fix some null pointer dereference issues in ice_ptp.c").

This issue is found by our static analysis tool.

Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>
Link: https://lore.kernel.org/r/20250212213518.69432-1-chenyuan0y@gmail.com
Fixes: 3253b7b7cd44 ("soc: samsung: Add exynos chipid driver support")
Cc: <stable@vger.kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/soc/samsung/exynos-chipid.c

index 7ba45c4aff971c29875277429b975783fc8a6d5e..1307f6d61c986e147d2ec9833ac03461dda21fdc 100644 (file)
@@ -130,6 +130,8 @@ static int exynos_chipid_probe(struct platform_device *pdev)
 
        soc_dev_attr->revision = devm_kasprintf(&pdev->dev, GFP_KERNEL,
                                                "%x", soc_info.revision);
+       if (!soc_dev_attr->revision)
+               return -ENOMEM;
        soc_dev_attr->soc_id = product_id_to_soc_id(soc_info.product_id);
        if (!soc_dev_attr->soc_id) {
                pr_err("Unknown SoC\n");