summaryrefslogtreecommitdiff
path: root/kernel/debug/kdb/kdb_support.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2018-12-04 10:49:55 +0000
committerMark Brown <broonie@kernel.org>2018-12-04 10:49:55 +0000
commit684d5e05df8cdc18791e76b11f6bc85ecd4d9416 (patch)
tree4c4f0ab4a18b95acab9bc2816e80b4a5ddc9b985 /kernel/debug/kdb/kdb_support.c
parent375fef4f04334199a0759ad7ac2572060122a189 (diff)
parent56ccc3f7a7ee1f0ab64453794ebbc7d9a4c8ddf7 (diff)
Merge tag 'v4.4.166' into linux-linaro-lsk-v4.4
This is the 4.4.166 stable release
Diffstat (limited to 'kernel/debug/kdb/kdb_support.c')
-rw-r--r--kernel/debug/kdb/kdb_support.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/debug/kdb/kdb_support.c b/kernel/debug/kdb/kdb_support.c
index d35cc2d3a4cc..2aed4a33521b 100644
--- a/kernel/debug/kdb/kdb_support.c
+++ b/kernel/debug/kdb/kdb_support.c
@@ -221,11 +221,13 @@ int kallsyms_symbol_complete(char *prefix_name, int max_len)
* Parameters:
* prefix_name prefix of a symbol name to lookup
* flag 0 means search from the head, 1 means continue search.
+ * buf_size maximum length that can be written to prefix_name
+ * buffer
* Returns:
* 1 if a symbol matches the given prefix.
* 0 if no string found
*/
-int kallsyms_symbol_next(char *prefix_name, int flag)
+int kallsyms_symbol_next(char *prefix_name, int flag, int buf_size)
{
int prefix_len = strlen(prefix_name);
static loff_t pos;
@@ -235,10 +237,8 @@ int kallsyms_symbol_next(char *prefix_name, int flag)
pos = 0;
while ((name = kdb_walk_kallsyms(&pos))) {
- if (strncmp(name, prefix_name, prefix_len) == 0) {
- strncpy(prefix_name, name, strlen(name)+1);
- return 1;
- }
+ if (!strncmp(name, prefix_name, prefix_len))
+ return strscpy(prefix_name, name, buf_size);
}
return 0;
}