diff mbox series

powercap: Check dev_set_name() return value

Message ID 20241211020645.2123881-1-make_ruc2021@163.com (mailing list archive)
State New
Headers show
Series powercap: Check dev_set_name() return value | expand

Commit Message

Ma Ke Dec. 11, 2024, 2:06 a.m. UTC
It's possible that dev_set_name() returns -ENOMEM. We could catch and
handle it by adding dev_set_name() return value check.

Signed-off-by: Ma Ke <make_ruc2021@163.com>
---
 drivers/powercap/powercap_sys.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Rafael J. Wysocki Dec. 18, 2024, 1:59 p.m. UTC | #1
On Wed, Dec 11, 2024 at 3:07 AM Ma Ke <make_ruc2021@163.com> wrote:
>
> It's possible that dev_set_name() returns -ENOMEM. We could catch and
> handle it by adding dev_set_name() return value check.
>
> Signed-off-by: Ma Ke <make_ruc2021@163.com>
> ---
>  drivers/powercap/powercap_sys.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/powercap/powercap_sys.c b/drivers/powercap/powercap_sys.c
> index 52c32dcbf7d8..11db93b10aa5 100644
> --- a/drivers/powercap/powercap_sys.c
> +++ b/drivers/powercap/powercap_sys.c
> @@ -552,9 +552,12 @@ struct powercap_zone *powercap_register_zone(
>         power_zone->dev_attr_groups[0] = &power_zone->dev_zone_attr_group;
>         power_zone->dev_attr_groups[1] = NULL;
>         power_zone->dev.groups = power_zone->dev_attr_groups;
> -       dev_set_name(&power_zone->dev, "%s:%x",
> +       result = dev_set_name(&power_zone->dev, "%s:%x",
>                                         dev_name(power_zone->dev.parent),
>                                         power_zone->id);
> +       if (result)
> +               goto err_dev_ret;
> +

Why is it necessary to fail in this case?

>         result = device_register(&power_zone->dev);
>         if (result) {
>                 put_device(&power_zone->dev);
> --
diff mbox series

Patch

diff --git a/drivers/powercap/powercap_sys.c b/drivers/powercap/powercap_sys.c
index 52c32dcbf7d8..11db93b10aa5 100644
--- a/drivers/powercap/powercap_sys.c
+++ b/drivers/powercap/powercap_sys.c
@@ -552,9 +552,12 @@  struct powercap_zone *powercap_register_zone(
 	power_zone->dev_attr_groups[0] = &power_zone->dev_zone_attr_group;
 	power_zone->dev_attr_groups[1] = NULL;
 	power_zone->dev.groups = power_zone->dev_attr_groups;
-	dev_set_name(&power_zone->dev, "%s:%x",
+	result = dev_set_name(&power_zone->dev, "%s:%x",
 					dev_name(power_zone->dev.parent),
 					power_zone->id);
+	if (result)
+		goto err_dev_ret;
+
 	result = device_register(&power_zone->dev);
 	if (result) {
 		put_device(&power_zone->dev);