summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>2019-01-23 17:44:16 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2019-01-29 10:52:40 +0100
commit2b6e492467c78183bb629bb0a100ea3509b615a5 (patch)
tree7e8973afe46dc9903b4c72c6ff0f731b6bf8ad44
parentf17b5f06cb92ef2250513a1e154c47b78df07d40 (diff)
downloadlinux-2b6e492467c78183bb629bb0a100ea3509b615a5.tar.bz2
device property: Fix the length used in PROPERTY_ENTRY_STRING()
With string type property entries we need to use sizeof(const char *) instead of the number of characters as the length of the entry. If the string was shorter then sizeof(const char *), attempts to read it would have failed with -EOVERFLOW. The problem has been hidden because all build-in string properties have had a string longer then 8 characters until now. Fixes: a85f42047533 ("device property: helper macros for property entry creation") Cc: 4.5+ <stable@vger.kernel.org> # 4.5+ Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--include/linux/property.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/property.h b/include/linux/property.h
index 3789ec755fb6..65d3420dd5d1 100644
--- a/include/linux/property.h
+++ b/include/linux/property.h
@@ -258,7 +258,7 @@ struct property_entry {
#define PROPERTY_ENTRY_STRING(_name_, _val_) \
(struct property_entry) { \
.name = _name_, \
- .length = sizeof(_val_), \
+ .length = sizeof(const char *), \
.type = DEV_PROP_STRING, \
{ .value = { .str = _val_ } }, \
}