| .. | .. |
|---|
| 192 | 192 | |
|---|
| 193 | 193 | while ((name = kdb_walk_kallsyms(&pos))) { |
|---|
| 194 | 194 | if (strncmp(name, prefix_name, prefix_len) == 0) { |
|---|
| 195 | | - strcpy(ks_namebuf, name); |
|---|
| 195 | + strscpy(ks_namebuf, name, sizeof(ks_namebuf)); |
|---|
| 196 | 196 | /* Work out the longest name that matches the prefix */ |
|---|
| 197 | 197 | if (++number == 1) { |
|---|
| 198 | 198 | prev_len = min_t(int, max_len-1, |
|---|
| .. | .. |
|---|
| 325 | 325 | */ |
|---|
| 326 | 326 | int kdb_getarea_size(void *res, unsigned long addr, size_t size) |
|---|
| 327 | 327 | { |
|---|
| 328 | | - int ret = probe_kernel_read((char *)res, (char *)addr, size); |
|---|
| 328 | + int ret = copy_from_kernel_nofault((char *)res, (char *)addr, size); |
|---|
| 329 | 329 | if (ret) { |
|---|
| 330 | 330 | if (!KDB_STATE(SUPPRESS)) { |
|---|
| 331 | 331 | kdb_printf("kdb_getarea: Bad address 0x%lx\n", addr); |
|---|
| .. | .. |
|---|
| 350 | 350 | */ |
|---|
| 351 | 351 | int kdb_putarea_size(unsigned long addr, void *res, size_t size) |
|---|
| 352 | 352 | { |
|---|
| 353 | | - int ret = probe_kernel_read((char *)addr, (char *)res, size); |
|---|
| 353 | + int ret = copy_to_kernel_nofault((char *)addr, (char *)res, size); |
|---|
| 354 | 354 | if (ret) { |
|---|
| 355 | 355 | if (!KDB_STATE(SUPPRESS)) { |
|---|
| 356 | 356 | kdb_printf("kdb_putarea: Bad address 0x%lx\n", addr); |
|---|
| .. | .. |
|---|
| 432 | 432 | *word = w8; |
|---|
| 433 | 433 | break; |
|---|
| 434 | 434 | } |
|---|
| 435 | | - /* drop through */ |
|---|
| 435 | + fallthrough; |
|---|
| 436 | 436 | default: |
|---|
| 437 | 437 | diag = KDB_BADWIDTH; |
|---|
| 438 | 438 | kdb_printf("kdb_getphysword: bad width %ld\n", (long) size); |
|---|
| .. | .. |
|---|
| 481 | 481 | *word = w8; |
|---|
| 482 | 482 | break; |
|---|
| 483 | 483 | } |
|---|
| 484 | | - /* drop through */ |
|---|
| 484 | + fallthrough; |
|---|
| 485 | 485 | default: |
|---|
| 486 | 486 | diag = KDB_BADWIDTH; |
|---|
| 487 | 487 | kdb_printf("kdb_getword: bad width %ld\n", (long) size); |
|---|
| .. | .. |
|---|
| 525 | 525 | diag = kdb_putarea(addr, w8); |
|---|
| 526 | 526 | break; |
|---|
| 527 | 527 | } |
|---|
| 528 | | - /* drop through */ |
|---|
| 528 | + fallthrough; |
|---|
| 529 | 529 | default: |
|---|
| 530 | 530 | diag = KDB_BADWIDTH; |
|---|
| 531 | 531 | kdb_printf("kdb_putword: bad width %ld\n", (long) size); |
|---|
| .. | .. |
|---|
| 624 | 624 | char state; |
|---|
| 625 | 625 | unsigned long tmp; |
|---|
| 626 | 626 | |
|---|
| 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))) |
|---|
| 628 | 629 | return 'E'; |
|---|
| 629 | 630 | |
|---|
| 630 | 631 | cpu = kdb_process_cpu(p); |
|---|