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: a85f420475
("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>
This commit is contained in:
parent
f17b5f06cb
commit
2b6e492467
|
@ -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_ } }, \
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue