diff options
author | Rasmus Villemoes <linux@rasmusvillemoes.dk> | 2015-09-30 21:30:25 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-09-30 22:31:15 +0300 |
commit | e34dc490713f8d9dfbbb5bb56d966d90a9344131 (patch) | |
tree | 48a68316a43804e68f07f45eed043199e01e961f /drivers/base/regmap/regmap-debugfs.c | |
parent | 9ae3109d1d9ff367e0d0efa7073cc078edb9a372 (diff) | |
download | linux-e34dc490713f8d9dfbbb5bb56d966d90a9344131.tar.xz |
regmap: debugfs: use snprintf return value in regmap_reg_ranges_read_file()
Calling strlen() no less than three times on entry is silly. Since
we're formatting into a buffer with plenty of room, there's no chance
of truncation, so snprintf() has actually returned the value we want,
meaning we don't even have to call strlen once.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base/regmap/regmap-debugfs.c')
-rw-r--r-- | drivers/base/regmap/regmap-debugfs.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/base/regmap/regmap-debugfs.c b/drivers/base/regmap/regmap-debugfs.c index 4a4737887cce..1ffc101ca011 100644 --- a/drivers/base/regmap/regmap-debugfs.c +++ b/drivers/base/regmap/regmap-debugfs.c @@ -337,6 +337,7 @@ static ssize_t regmap_reg_ranges_read_file(struct file *file, char *buf; char *entry; int ret; + unsigned entry_len; if (*ppos < 0 || !count) return -EINVAL; @@ -364,18 +365,18 @@ static ssize_t regmap_reg_ranges_read_file(struct file *file, p = 0; mutex_lock(&map->cache_lock); list_for_each_entry(c, &map->debugfs_off_cache, list) { - snprintf(entry, PAGE_SIZE, "%x-%x", - c->base_reg, c->max_reg); + entry_len = snprintf(entry, PAGE_SIZE, "%x-%x", + c->base_reg, c->max_reg); if (p >= *ppos) { - if (buf_pos + 1 + strlen(entry) > count) + if (buf_pos + 1 + entry_len > count) break; snprintf(buf + buf_pos, count - buf_pos, "%s", entry); - buf_pos += strlen(entry); + buf_pos += entry_len; buf[buf_pos] = '\n'; buf_pos++; } - p += strlen(entry) + 1; + p += entry_len + 1; } mutex_unlock(&map->cache_lock); |