diff options
Diffstat (limited to 'kernel/debug/kdb/kdb_support.c')
-rw-r--r-- | kernel/debug/kdb/kdb_support.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/kernel/debug/kdb/kdb_support.c b/kernel/debug/kdb/kdb_support.c index 990b3cc526c8..50bf9b119bad 100644 --- a/kernel/debug/kdb/kdb_support.c +++ b/kernel/debug/kdb/kdb_support.c | |||
@@ -40,7 +40,7 @@ | |||
40 | int kdbgetsymval(const char *symname, kdb_symtab_t *symtab) | 40 | int kdbgetsymval(const char *symname, kdb_symtab_t *symtab) |
41 | { | 41 | { |
42 | if (KDB_DEBUG(AR)) | 42 | if (KDB_DEBUG(AR)) |
43 | kdb_printf("kdbgetsymval: symname=%s, symtab=%p\n", symname, | 43 | kdb_printf("kdbgetsymval: symname=%s, symtab=%px\n", symname, |
44 | symtab); | 44 | symtab); |
45 | memset(symtab, 0, sizeof(*symtab)); | 45 | memset(symtab, 0, sizeof(*symtab)); |
46 | symtab->sym_start = kallsyms_lookup_name(symname); | 46 | symtab->sym_start = kallsyms_lookup_name(symname); |
@@ -88,7 +88,7 @@ int kdbnearsym(unsigned long addr, kdb_symtab_t *symtab) | |||
88 | char *knt1 = NULL; | 88 | char *knt1 = NULL; |
89 | 89 | ||
90 | if (KDB_DEBUG(AR)) | 90 | if (KDB_DEBUG(AR)) |
91 | kdb_printf("kdbnearsym: addr=0x%lx, symtab=%p\n", addr, symtab); | 91 | kdb_printf("kdbnearsym: addr=0x%lx, symtab=%px\n", addr, symtab); |
92 | memset(symtab, 0, sizeof(*symtab)); | 92 | memset(symtab, 0, sizeof(*symtab)); |
93 | 93 | ||
94 | if (addr < 4096) | 94 | if (addr < 4096) |
@@ -149,7 +149,7 @@ int kdbnearsym(unsigned long addr, kdb_symtab_t *symtab) | |||
149 | symtab->mod_name = "kernel"; | 149 | symtab->mod_name = "kernel"; |
150 | if (KDB_DEBUG(AR)) | 150 | if (KDB_DEBUG(AR)) |
151 | kdb_printf("kdbnearsym: returns %d symtab->sym_start=0x%lx, " | 151 | kdb_printf("kdbnearsym: returns %d symtab->sym_start=0x%lx, " |
152 | "symtab->mod_name=%p, symtab->sym_name=%p (%s)\n", ret, | 152 | "symtab->mod_name=%px, symtab->sym_name=%px (%s)\n", ret, |
153 | symtab->sym_start, symtab->mod_name, symtab->sym_name, | 153 | symtab->sym_start, symtab->mod_name, symtab->sym_name, |
154 | symtab->sym_name); | 154 | symtab->sym_name); |
155 | 155 | ||
@@ -221,11 +221,13 @@ int kallsyms_symbol_complete(char *prefix_name, int max_len) | |||
221 | * Parameters: | 221 | * Parameters: |
222 | * prefix_name prefix of a symbol name to lookup | 222 | * prefix_name prefix of a symbol name to lookup |
223 | * flag 0 means search from the head, 1 means continue search. | 223 | * flag 0 means search from the head, 1 means continue search. |
224 | * buf_size maximum length that can be written to prefix_name | ||
225 | * buffer | ||
224 | * Returns: | 226 | * Returns: |
225 | * 1 if a symbol matches the given prefix. | 227 | * 1 if a symbol matches the given prefix. |
226 | * 0 if no string found | 228 | * 0 if no string found |
227 | */ | 229 | */ |
228 | int kallsyms_symbol_next(char *prefix_name, int flag) | 230 | int kallsyms_symbol_next(char *prefix_name, int flag, int buf_size) |
229 | { | 231 | { |
230 | int prefix_len = strlen(prefix_name); | 232 | int prefix_len = strlen(prefix_name); |
231 | static loff_t pos; | 233 | static loff_t pos; |
@@ -235,10 +237,8 @@ int kallsyms_symbol_next(char *prefix_name, int flag) | |||
235 | pos = 0; | 237 | pos = 0; |
236 | 238 | ||
237 | while ((name = kdb_walk_kallsyms(&pos))) { | 239 | while ((name = kdb_walk_kallsyms(&pos))) { |
238 | if (strncmp(name, prefix_name, prefix_len) == 0) { | 240 | if (!strncmp(name, prefix_name, prefix_len)) |
239 | strncpy(prefix_name, name, strlen(name)+1); | 241 | return strscpy(prefix_name, name, buf_size); |
240 | return 1; | ||
241 | } | ||
242 | } | 242 | } |
243 | return 0; | 243 | return 0; |
244 | } | 244 | } |
@@ -432,7 +432,7 @@ int kdb_getphysword(unsigned long *word, unsigned long addr, size_t size) | |||
432 | *word = w8; | 432 | *word = w8; |
433 | break; | 433 | break; |
434 | } | 434 | } |
435 | /* drop through */ | 435 | /* fall through */ |
436 | default: | 436 | default: |
437 | diag = KDB_BADWIDTH; | 437 | diag = KDB_BADWIDTH; |
438 | kdb_printf("kdb_getphysword: bad width %ld\n", (long) size); | 438 | kdb_printf("kdb_getphysword: bad width %ld\n", (long) size); |
@@ -481,7 +481,7 @@ int kdb_getword(unsigned long *word, unsigned long addr, size_t size) | |||
481 | *word = w8; | 481 | *word = w8; |
482 | break; | 482 | break; |
483 | } | 483 | } |
484 | /* drop through */ | 484 | /* fall through */ |
485 | default: | 485 | default: |
486 | diag = KDB_BADWIDTH; | 486 | diag = KDB_BADWIDTH; |
487 | kdb_printf("kdb_getword: bad width %ld\n", (long) size); | 487 | kdb_printf("kdb_getword: bad width %ld\n", (long) size); |
@@ -525,7 +525,7 @@ int kdb_putword(unsigned long addr, unsigned long word, size_t size) | |||
525 | diag = kdb_putarea(addr, w8); | 525 | diag = kdb_putarea(addr, w8); |
526 | break; | 526 | break; |
527 | } | 527 | } |
528 | /* drop through */ | 528 | /* fall through */ |
529 | default: | 529 | default: |
530 | diag = KDB_BADWIDTH; | 530 | diag = KDB_BADWIDTH; |
531 | kdb_printf("kdb_putword: bad width %ld\n", (long) size); | 531 | kdb_printf("kdb_putword: bad width %ld\n", (long) size); |
@@ -887,13 +887,13 @@ void debug_kusage(void) | |||
887 | __func__, dah_first); | 887 | __func__, dah_first); |
888 | if (dah_first) { | 888 | if (dah_first) { |
889 | h_used = (struct debug_alloc_header *)debug_alloc_pool; | 889 | h_used = (struct debug_alloc_header *)debug_alloc_pool; |
890 | kdb_printf("%s: h_used %p size %d\n", __func__, h_used, | 890 | kdb_printf("%s: h_used %px size %d\n", __func__, h_used, |
891 | h_used->size); | 891 | h_used->size); |
892 | } | 892 | } |
893 | do { | 893 | do { |
894 | h_used = (struct debug_alloc_header *) | 894 | h_used = (struct debug_alloc_header *) |
895 | ((char *)h_free + dah_overhead + h_free->size); | 895 | ((char *)h_free + dah_overhead + h_free->size); |
896 | kdb_printf("%s: h_used %p size %d caller %p\n", | 896 | kdb_printf("%s: h_used %px size %d caller %px\n", |
897 | __func__, h_used, h_used->size, h_used->caller); | 897 | __func__, h_used, h_used->size, h_used->caller); |
898 | h_free = (struct debug_alloc_header *) | 898 | h_free = (struct debug_alloc_header *) |
899 | (debug_alloc_pool + h_free->next); | 899 | (debug_alloc_pool + h_free->next); |
@@ -902,7 +902,7 @@ void debug_kusage(void) | |||
902 | ((char *)h_free + dah_overhead + h_free->size); | 902 | ((char *)h_free + dah_overhead + h_free->size); |
903 | if ((char *)h_used - debug_alloc_pool != | 903 | if ((char *)h_used - debug_alloc_pool != |
904 | sizeof(debug_alloc_pool_aligned)) | 904 | sizeof(debug_alloc_pool_aligned)) |
905 | kdb_printf("%s: h_used %p size %d caller %p\n", | 905 | kdb_printf("%s: h_used %px size %d caller %px\n", |
906 | __func__, h_used, h_used->size, h_used->caller); | 906 | __func__, h_used, h_used->size, h_used->caller); |
907 | out: | 907 | out: |
908 | spin_unlock(&dap_lock); | 908 | spin_unlock(&dap_lock); |