From e880d8dd62f1f8126227755ded49f5215343cd53 Mon Sep 17 00:00:00 2001 From: Heikki Krogerus Date: Tue, 19 Mar 2019 23:23:34 +0800 Subject: [PATCH] device property: Fix the length used in PROPERTY_ENTRY_STRING() mainline inclusion from mainline-5.1-rc1 commit 2b6e492467c78183bb629bb0a100ea3509b615a5 category: bugfix bugzilla: 11517 CVE: NA ------------------------------------------------- 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+ # 4.5+ Signed-off-by: Heikki Krogerus Reviewed-by: Andy Shevchenko Signed-off-by: Rafael J. Wysocki (cherry picked from commit 2b6e492467c78183bb629bb0a100ea3509b615a5) Signed-off-by: Zhen Lei Reviewed-by: Yang Yingliang Signed-off-by: Yang Yingliang --- include/linux/property.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/property.h b/include/linux/property.h index ac8a1ebc4c1b..1a12364050d8 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_ } }, \ } -- GitLab