aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Shtylyov <[email protected]>2024-10-15 23:15:04 +0300
committerRob Herring (Arm) <[email protected]>2024-10-16 12:00:10 -0500
commit2e030910fa90a1e46333c092c8bd00746a911be5 (patch)
tree886f380f2f74a315a40f08d28da0feb752f79071
parent00c9a452a235c61f099504783badd9a7675ff5a5 (diff)
of: module: remove strlen() call in of_modalias()
In of_modalias(), there's no dire need to call strlen() (and then add 1 to its result to account for the 'C' char preceding the compat string). Replace that strlen() with snprintf() (currently below it) -- this way, we always try to print the compat string but then only advance the str and len parameters iff the compat string fit into the remaining buffer space... Signed-off-by: Sergey Shtylyov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Rob Herring (Arm) <[email protected]>
-rw-r--r--drivers/of/module.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/of/module.c b/drivers/of/module.c
index 780fd82a7ecc..1e735fc130ad 100644
--- a/drivers/of/module.c
+++ b/drivers/of/module.c
@@ -35,12 +35,10 @@ ssize_t of_modalias(const struct device_node *np, char *str, ssize_t len)
str += csize;
of_property_for_each_string(np, "compatible", p, compat) {
- csize = strlen(compat) + 1;
+ csize = snprintf(str, len, "C%s", compat);
tsize += csize;
if (csize >= len)
continue;
-
- csize = snprintf(str, len, "C%s", compat);
for (c = str; c; ) {
c = strchr(c, ' ');
if (c)