All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Valentin <edubezval@gmail.com>
To: Rui Zhang <rui.zhang@intel.com>
Cc: Linux PM <linux-pm@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Eduardo Valentin <edubezval@gmail.com>
Subject: [RFC PATCH 01/11] thermal: prevent zones with no types to be registered
Date: Sat, 23 Apr 2016 16:34:20 -0700	[thread overview]
Message-ID: <1461454470-27714-2-git-send-email-edubezval@gmail.com> (raw)
In-Reply-To: <1461454470-27714-1-git-send-email-edubezval@gmail.com>

There are APIs that rely on tz->type. This patch
prevent thermal zones without it to be registered.

Cc: Zhang Rui <rui.zhang@intel.com>
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
---
 drivers/thermal/thermal_core.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index d4b5465..650e5fa 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -1810,6 +1810,9 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type,
 	int passive = 0;
 	struct thermal_governor *governor;
 
+	if (!type || strlen(type) == 0)
+		return ERR_PTR(-EINVAL);
+
 	if (type && strlen(type) >= THERMAL_NAME_LENGTH)
 		return ERR_PTR(-EINVAL);
 
@@ -1835,7 +1838,7 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type,
 		return ERR_PTR(result);
 	}
 
-	strlcpy(tz->type, type ? : "", sizeof(tz->type));
+	strlcpy(tz->type, type, sizeof(tz->type));
 	tz->ops = ops;
 	tz->tzp = tzp;
 	tz->device.class = &thermal_class;
@@ -1855,11 +1858,9 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type,
 	}
 
 	/* sys I/F */
-	if (type) {
-		result = device_create_file(&tz->device, &dev_attr_type);
-		if (result)
-			goto unregister;
-	}
+	result = device_create_file(&tz->device, &dev_attr_type);
+	if (result)
+		goto unregister;
 
 	result = device_create_file(&tz->device, &dev_attr_temp);
 	if (result)
@@ -2008,8 +2009,7 @@ void thermal_zone_device_unregister(struct thermal_zone_device *tz)
 
 	thermal_zone_device_set_polling(tz, 0);
 
-	if (tz->type[0])
-		device_remove_file(&tz->device, &dev_attr_type);
+	device_remove_file(&tz->device, &dev_attr_type);
 	device_remove_file(&tz->device, &dev_attr_temp);
 	if (tz->ops->get_mode)
 		device_remove_file(&tz->device, &dev_attr_mode);
-- 
2.1.4

  reply	other threads:[~2016-04-23 23:37 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-23 23:34 [RFC PATCH 00/11] thermal: sysfs rework Eduardo Valentin
2016-04-23 23:34 ` Eduardo Valentin [this message]
2016-04-23 23:34 ` [RFC PATCH 02/11] thermal: group thermal_zone DEVICE_ATTR's declarations Eduardo Valentin
2016-04-23 23:34 ` [RFC PATCH 03/11] thermal: group device_create_file() calls that are always created Eduardo Valentin
2016-04-23 23:34 ` [RFC PATCH 04/11] thermal: use dev.groups to manage always present tz attributes Eduardo Valentin
2016-04-23 23:34 ` [RFC PATCH 05/11] thermal: move emul_temp creation to tz->device.groups Eduardo Valentin
2016-04-23 23:34 ` [RFC PATCH 06/11] thermal: move mode attribute " Eduardo Valentin
2016-04-23 23:34 ` [RFC PATCH 07/11] thermal: move passive attr " Eduardo Valentin
2016-04-23 23:34 ` [RFC PATCH 08/11] thermal: move power actor code out of sysfs I/F section Eduardo Valentin
2016-04-23 23:34 ` [RFC PATCH 09/11] thermal: move the trip attrs to the tz " Eduardo Valentin
2016-04-23 23:34 ` [RFC PATCH 10/11] thermal: create tz->device.groups dynamically Eduardo Valentin
2016-04-23 23:34 ` [RFC PATCH 11/11] thermal: move trips attributes to tz->device.groups Eduardo Valentin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1461454470-27714-2-git-send-email-edubezval@gmail.com \
    --to=edubezval@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rui.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.