forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 297b60346df8beafee954a0fd7c2d64f33f3b9bc
kernel/kernel/debug/kdb/kdb_support.c
....@@ -192,7 +192,7 @@
192192
193193 while ((name = kdb_walk_kallsyms(&pos))) {
194194 if (strncmp(name, prefix_name, prefix_len) == 0) {
195
- strcpy(ks_namebuf, name);
195
+ strscpy(ks_namebuf, name, sizeof(ks_namebuf));
196196 /* Work out the longest name that matches the prefix */
197197 if (++number == 1) {
198198 prev_len = min_t(int, max_len-1,
....@@ -325,7 +325,7 @@
325325 */
326326 int kdb_getarea_size(void *res, unsigned long addr, size_t size)
327327 {
328
- int ret = probe_kernel_read((char *)res, (char *)addr, size);
328
+ int ret = copy_from_kernel_nofault((char *)res, (char *)addr, size);
329329 if (ret) {
330330 if (!KDB_STATE(SUPPRESS)) {
331331 kdb_printf("kdb_getarea: Bad address 0x%lx\n", addr);
....@@ -350,7 +350,7 @@
350350 */
351351 int kdb_putarea_size(unsigned long addr, void *res, size_t size)
352352 {
353
- int ret = probe_kernel_read((char *)addr, (char *)res, size);
353
+ int ret = copy_to_kernel_nofault((char *)addr, (char *)res, size);
354354 if (ret) {
355355 if (!KDB_STATE(SUPPRESS)) {
356356 kdb_printf("kdb_putarea: Bad address 0x%lx\n", addr);
....@@ -432,7 +432,7 @@
432432 *word = w8;
433433 break;
434434 }
435
- /* drop through */
435
+ fallthrough;
436436 default:
437437 diag = KDB_BADWIDTH;
438438 kdb_printf("kdb_getphysword: bad width %ld\n", (long) size);
....@@ -481,7 +481,7 @@
481481 *word = w8;
482482 break;
483483 }
484
- /* drop through */
484
+ fallthrough;
485485 default:
486486 diag = KDB_BADWIDTH;
487487 kdb_printf("kdb_getword: bad width %ld\n", (long) size);
....@@ -525,7 +525,7 @@
525525 diag = kdb_putarea(addr, w8);
526526 break;
527527 }
528
- /* drop through */
528
+ fallthrough;
529529 default:
530530 diag = KDB_BADWIDTH;
531531 kdb_printf("kdb_putword: bad width %ld\n", (long) size);
....@@ -624,7 +624,8 @@
624624 char state;
625625 unsigned long tmp;
626626
627
- if (!p || probe_kernel_read(&tmp, (char *)p, sizeof(unsigned long)))
627
+ if (!p ||
628
+ copy_from_kernel_nofault(&tmp, (char *)p, sizeof(unsigned long)))
628629 return 'E';
629630
630631 cpu = kdb_process_cpu(p);