2022-07-08 02:02:12

by Bo Liu

[permalink] [raw]
Subject: [PATCH] bus: mhi: ep: Check dev_set_name() return value

It's possible that dev_set_name() returns -ENOMEM, catch and handle this.

Signed-off-by: Bo Liu <[email protected]>
---
drivers/bus/mhi/ep/main.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/mhi/ep/main.c b/drivers/bus/mhi/ep/main.c
index 40109a79017a..1dc8a3557a46 100644
--- a/drivers/bus/mhi/ep/main.c
+++ b/drivers/bus/mhi/ep/main.c
@@ -1242,9 +1242,13 @@ static int mhi_ep_create_device(struct mhi_ep_cntrl *mhi_cntrl, u32 ch_id)

/* Channel name is same for both UL and DL */
mhi_dev->name = mhi_chan->name;
- dev_set_name(&mhi_dev->dev, "%s_%s",
+ ret = dev_set_name(&mhi_dev->dev, "%s_%s",
dev_name(&mhi_cntrl->mhi_dev->dev),
mhi_dev->name);
+ if (ret) {
+ put_device(&mhi_dev->dev);
+ return ret;
+ }

ret = device_add(&mhi_dev->dev);
if (ret)
@@ -1408,7 +1412,10 @@ int mhi_ep_register_controller(struct mhi_ep_cntrl *mhi_cntrl,
goto err_free_irq;
}

- dev_set_name(&mhi_dev->dev, "mhi_ep%u", mhi_cntrl->index);
+ ret = dev_set_name(&mhi_dev->dev, "mhi_ep%u", mhi_cntrl->index);
+ if (ret)
+ goto err_put_dev;
+
mhi_dev->name = dev_name(&mhi_dev->dev);
mhi_cntrl->mhi_dev = mhi_dev;

--
2.27.0


2022-07-09 06:12:17

by Manivannan Sadhasivam

[permalink] [raw]
Subject: Re: [PATCH] bus: mhi: ep: Check dev_set_name() return value

On Thu, Jul 07, 2022 at 09:59:48PM -0400, Bo Liu wrote:
> It's possible that dev_set_name() returns -ENOMEM, catch and handle this.
>
> Signed-off-by: Bo Liu <[email protected]>

Reviewed-by: Manivannan Sadhasivam <[email protected]>

Thanks,
Mani

> ---
> drivers/bus/mhi/ep/main.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/bus/mhi/ep/main.c b/drivers/bus/mhi/ep/main.c
> index 40109a79017a..1dc8a3557a46 100644
> --- a/drivers/bus/mhi/ep/main.c
> +++ b/drivers/bus/mhi/ep/main.c
> @@ -1242,9 +1242,13 @@ static int mhi_ep_create_device(struct mhi_ep_cntrl *mhi_cntrl, u32 ch_id)
>
> /* Channel name is same for both UL and DL */
> mhi_dev->name = mhi_chan->name;
> - dev_set_name(&mhi_dev->dev, "%s_%s",
> + ret = dev_set_name(&mhi_dev->dev, "%s_%s",
> dev_name(&mhi_cntrl->mhi_dev->dev),
> mhi_dev->name);
> + if (ret) {
> + put_device(&mhi_dev->dev);
> + return ret;
> + }
>
> ret = device_add(&mhi_dev->dev);
> if (ret)
> @@ -1408,7 +1412,10 @@ int mhi_ep_register_controller(struct mhi_ep_cntrl *mhi_cntrl,
> goto err_free_irq;
> }
>
> - dev_set_name(&mhi_dev->dev, "mhi_ep%u", mhi_cntrl->index);
> + ret = dev_set_name(&mhi_dev->dev, "mhi_ep%u", mhi_cntrl->index);
> + if (ret)
> + goto err_put_dev;
> +
> mhi_dev->name = dev_name(&mhi_dev->dev);
> mhi_cntrl->mhi_dev = mhi_dev;
>
> --
> 2.27.0
>

--
மணிவண்ணன் சதாசிவம்

2022-07-09 06:34:31

by Manivannan Sadhasivam

[permalink] [raw]
Subject: Re: [PATCH] bus: mhi: ep: Check dev_set_name() return value

On Thu, Jul 07, 2022 at 09:59:48PM -0400, Bo Liu wrote:
> It's possible that dev_set_name() returns -ENOMEM, catch and handle this.
>
> Signed-off-by: Bo Liu <[email protected]>

Applied to mhi-next!

Thanks,
Mani

> ---
> drivers/bus/mhi/ep/main.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/bus/mhi/ep/main.c b/drivers/bus/mhi/ep/main.c
> index 40109a79017a..1dc8a3557a46 100644
> --- a/drivers/bus/mhi/ep/main.c
> +++ b/drivers/bus/mhi/ep/main.c
> @@ -1242,9 +1242,13 @@ static int mhi_ep_create_device(struct mhi_ep_cntrl *mhi_cntrl, u32 ch_id)
>
> /* Channel name is same for both UL and DL */
> mhi_dev->name = mhi_chan->name;
> - dev_set_name(&mhi_dev->dev, "%s_%s",
> + ret = dev_set_name(&mhi_dev->dev, "%s_%s",
> dev_name(&mhi_cntrl->mhi_dev->dev),
> mhi_dev->name);
> + if (ret) {
> + put_device(&mhi_dev->dev);
> + return ret;
> + }
>
> ret = device_add(&mhi_dev->dev);
> if (ret)
> @@ -1408,7 +1412,10 @@ int mhi_ep_register_controller(struct mhi_ep_cntrl *mhi_cntrl,
> goto err_free_irq;
> }
>
> - dev_set_name(&mhi_dev->dev, "mhi_ep%u", mhi_cntrl->index);
> + ret = dev_set_name(&mhi_dev->dev, "mhi_ep%u", mhi_cntrl->index);
> + if (ret)
> + goto err_put_dev;
> +
> mhi_dev->name = dev_name(&mhi_dev->dev);
> mhi_cntrl->mhi_dev = mhi_dev;
>
> --
> 2.27.0
>

--
மணிவண்ணன் சதாசிவம்