On 2025/1/11 04:41, Rob Herring wrote: > On Thu, Jan 09, 2025 at 09:27:05PM +0800, Zijun Hu wrote: >> From: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> >> >> __of_add_property_sysfs() hard codes string "security-" length as 9, but >> that is not obvious for readers. >> >> Improve its readability by using strlen(). > > Does the compiler optimize the strlen call away? Maybe, maybe not. If > not, that's N calls to strlen() where N is the number of properties in > your DT. That's in the 1000s easily. > > Do you really want to go test enough compiler versions we support to > feel confident this is optimized away. I don't. > i understand your concern about performance. perhaps, such impact about performance may be ignored for linux OS. what about below solution ? const char security_prefix[] = "security-"; use 'sizeof(security_prefix) - 1' for the length of string. > Rob > >> >> Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> >> --- >> drivers/of/kobj.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/of/kobj.c b/drivers/of/kobj.c >> index aa887166f0d21030d620d43c864ca76cde1c6d05..44bfe50c6ea6503e3940578de1dfc7fe0583dfb3 100644 >> --- a/drivers/of/kobj.c >> +++ b/drivers/of/kobj.c >> @@ -62,10 +62,11 @@ static const char *safe_name(const struct kobject *kobj, const char *orig_name) >> >> int __of_add_property_sysfs(struct device_node *np, struct property *pp) >> { >> + const char *security_prefix = "security-"; >> int rc; >> >> /* Important: Don't leak passwords */ >> - bool secure = strncmp(pp->name, "security-", 9) == 0; >> + bool secure = strncmp(pp->name, security_prefix, strlen(security_prefix)) == 0; >> >> if (!IS_ENABLED(CONFIG_SYSFS)) >> return 0; >> >> -- >> 2.34.1 >>