2022-05-09 14:05:21

by Yang Yingliang

[permalink] [raw]
Subject: [PATCH] media: camss: csid: fix wrong size passed to devm_kmalloc_array()

'supplies' is a pointer, the real size of struct regulator_bulk_data
should be pass to devm_kmalloc_array().

Fixes: 0d8140179715 ("media: camss: Add regulator_bulk support")
Signed-off-by: Yang Yingliang <[email protected]>
---
drivers/media/platform/qcom/camss/camss-csid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media/platform/qcom/camss/camss-csid.c
index f993f349b66b..80628801cf09 100644
--- a/drivers/media/platform/qcom/camss/camss-csid.c
+++ b/drivers/media/platform/qcom/camss/camss-csid.c
@@ -666,7 +666,7 @@ int msm_csid_subdev_init(struct camss *camss, struct csid_device *csid,
if (csid->num_supplies) {
csid->supplies = devm_kmalloc_array(camss->dev,
csid->num_supplies,
- sizeof(csid->supplies),
+ sizeof(*csid->supplies),
GFP_KERNEL);
if (!csid->supplies)
return -ENOMEM;
--
2.25.1



2022-05-10 04:29:38

by Yang Yingliang

[permalink] [raw]
Subject: Re: [PATCH] media: camss: csid: fix wrong size passed to devm_kmalloc_array()

I made a mistake, this patch was sent twice, please ignore this patch.

Thanks,
Yang
On 2022/5/9 22:04, Yang Yingliang wrote:
> 'supplies' is a pointer, the real size of struct regulator_bulk_data
> should be pass to devm_kmalloc_array().
>
> Fixes: 0d8140179715 ("media: camss: Add regulator_bulk support")
> Signed-off-by: Yang Yingliang <[email protected]>
> ---
> drivers/media/platform/qcom/camss/camss-csid.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media/platform/qcom/camss/camss-csid.c
> index f993f349b66b..80628801cf09 100644
> --- a/drivers/media/platform/qcom/camss/camss-csid.c
> +++ b/drivers/media/platform/qcom/camss/camss-csid.c
> @@ -666,7 +666,7 @@ int msm_csid_subdev_init(struct camss *camss, struct csid_device *csid,
> if (csid->num_supplies) {
> csid->supplies = devm_kmalloc_array(camss->dev,
> csid->num_supplies,
> - sizeof(csid->supplies),
> + sizeof(*csid->supplies),
> GFP_KERNEL);
> if (!csid->supplies)
> return -ENOMEM;

2022-05-17 12:00:58

by Robert Foss

[permalink] [raw]
Subject: Re: [PATCH] media: camss: csid: fix wrong size passed to devm_kmalloc_array()

On Mon, 9 May 2022 at 15:53, Yang Yingliang <[email protected]> wrote:
>
> 'supplies' is a pointer, the real size of struct regulator_bulk_data
> should be pass to devm_kmalloc_array().
>
> Fixes: 0d8140179715 ("media: camss: Add regulator_bulk support")
> Signed-off-by: Yang Yingliang <[email protected]>
> ---
> drivers/media/platform/qcom/camss/camss-csid.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media/platform/qcom/camss/camss-csid.c
> index f993f349b66b..80628801cf09 100644
> --- a/drivers/media/platform/qcom/camss/camss-csid.c
> +++ b/drivers/media/platform/qcom/camss/camss-csid.c
> @@ -666,7 +666,7 @@ int msm_csid_subdev_init(struct camss *camss, struct csid_device *csid,
> if (csid->num_supplies) {
> csid->supplies = devm_kmalloc_array(camss->dev,
> csid->num_supplies,
> - sizeof(csid->supplies),
> + sizeof(*csid->supplies),
> GFP_KERNEL);
> if (!csid->supplies)
> return -ENOMEM;
> --
> 2.25.1
>

Reviewed-by: Robert Foss <[email protected]>