[PATCH v1] drivers:thermal:Fix the NULL vs IS_ERR() bug for debugfs_create_dir()

Yang Ruibin posted 1 patch 1 year, 10 months ago
drivers/thermal/thermal_debugfs.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH v1] drivers:thermal:Fix the NULL vs IS_ERR() bug for debugfs_create_dir()
Posted by Yang Ruibin 1 year, 10 months ago
The debugfs_create_dir() function returns error pointers.
It never returns NULL. So use IS_ERR() to check it.

Signed-off-by: Yang Ruibin <11162571@vivo.com>
---
 drivers/thermal/thermal_debugfs.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/thermal/thermal_debugfs.c b/drivers/thermal/thermal_debugfs.c
index 7dd67bf48571..939d3e5f1817 100644
--- a/drivers/thermal/thermal_debugfs.c
+++ b/drivers/thermal/thermal_debugfs.c
@@ -178,11 +178,11 @@ struct thermal_debugfs {
 void thermal_debug_init(void)
 {
 	d_root = debugfs_create_dir("thermal", NULL);
-	if (!d_root)
+	if (IS_ERR(d_root))
 		return;
 
 	d_cdev = debugfs_create_dir("cooling_devices", d_root);
-	if (!d_cdev)
+	if (IS_ERR(d_cdev))
 		return;
 
 	d_tz = debugfs_create_dir("thermal_zones", d_root);
@@ -202,7 +202,7 @@ static struct thermal_debugfs *thermal_debugfs_add_id(struct dentry *d, int id)
 	snprintf(ids, IDSLENGTH, "%d", id);
 
 	thermal_dbg->d_top = debugfs_create_dir(ids, d);
-	if (!thermal_dbg->d_top) {
+	if (IS_ERR(thermal_dbg->d_top)) {
 		kfree(thermal_dbg);
 		return NULL;
 	}
-- 
2.34.1
Re: [PATCH v1] drivers:thermal:Fix the NULL vs IS_ERR() bug for debugfs_create_dir()
Posted by Rafael J. Wysocki 1 year, 10 months ago
On Wed, Aug 21, 2024 at 9:59 AM Yang Ruibin <11162571@vivo.com> wrote:
>
> The debugfs_create_dir() function returns error pointers.
> It never returns NULL. So use IS_ERR() to check it.
>
> Signed-off-by: Yang Ruibin <11162571@vivo.com>
> ---
>  drivers/thermal/thermal_debugfs.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/thermal/thermal_debugfs.c b/drivers/thermal/thermal_debugfs.c
> index 7dd67bf48571..939d3e5f1817 100644
> --- a/drivers/thermal/thermal_debugfs.c
> +++ b/drivers/thermal/thermal_debugfs.c
> @@ -178,11 +178,11 @@ struct thermal_debugfs {
>  void thermal_debug_init(void)
>  {
>         d_root = debugfs_create_dir("thermal", NULL);
> -       if (!d_root)
> +       if (IS_ERR(d_root))
>                 return;
>
>         d_cdev = debugfs_create_dir("cooling_devices", d_root);
> -       if (!d_cdev)
> +       if (IS_ERR(d_cdev))
>                 return;
>
>         d_tz = debugfs_create_dir("thermal_zones", d_root);
> @@ -202,7 +202,7 @@ static struct thermal_debugfs *thermal_debugfs_add_id(struct dentry *d, int id)
>         snprintf(ids, IDSLENGTH, "%d", id);
>
>         thermal_dbg->d_top = debugfs_create_dir(ids, d);
> -       if (!thermal_dbg->d_top) {
> +       if (IS_ERR(thermal_dbg->d_top)) {
>                 kfree(thermal_dbg);
>                 return NULL;
>         }
> --

Good catch!

Applied as 6.11-rc material with some edits in the subject and changelog.

Thanks!