Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 71a440a0 authored by Neeraj Soni's avatar Neeraj Soni
Browse files

crypto: ice: Sanitize the ice device return address.



Even if ICE device is not found it is possible
for list device API to return non NULL pointer
which will pass all NULL checks in code. Ensure
to return proper address or NULL.

Change-Id: I1465614b86f1415376b2adffeec6e4da1a33ddd5
Signed-off-by: default avatarNeeraj Soni <neersoni@codeaurora.org>
parent 977b2f70
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -869,7 +869,7 @@ static int qcom_ice_restore_key_config(struct ice_device *ice_dev)
static int qcom_ice_init_clocks(struct ice_device *ice)
{
	int ret = -EINVAL;
	struct ice_clk_info *clki;
	struct ice_clk_info *clki = NULL;
	struct device *dev = ice->pdev;
	struct list_head *head = &ice->clk_list_head;

@@ -913,7 +913,7 @@ out:
static int qcom_ice_enable_clocks(struct ice_device *ice, bool enable)
{
	int ret = 0;
	struct ice_clk_info *clki;
	struct ice_clk_info *clki = NULL;
	struct device *dev = ice->pdev;
	struct list_head *head = &ice->clk_list_head;

@@ -1590,12 +1590,14 @@ struct platform_device *qcom_ice_get_pdevice(struct device_node *node)
		if (ice_dev->pdev->of_node == node) {
			pr_info("%s: found ice device %pK\n", __func__,
			ice_dev);
			ice_pdev = to_platform_device(ice_dev->pdev);
			break;
		}
	}

	ice_pdev = to_platform_device(ice_dev->pdev);
	pr_info("%s: matching platform device %pK\n", __func__, ice_pdev);
	if (ice_pdev)
		pr_info("%s: matching platform device %pK\n", __func__,
			ice_pdev);
out:
	return ice_pdev;
}
@@ -1615,11 +1617,11 @@ static struct ice_device *get_ice_device_from_storage_type
		if (!strcmp(ice_dev->ice_instance_type, storage_type)) {
			pr_debug("%s: found ice device %pK\n",
				__func__, ice_dev);
			break;
			return ice_dev;
		}
	}
out:
	return ice_dev;
	return NULL;
}

static int enable_ice_setup(struct ice_device *ice_dev)