.. | .. |
---|
307 | 307 | return KDB_BADINT; |
---|
308 | 308 | |
---|
309 | 309 | /* |
---|
| 310 | + * This check is redundant (since the breakpoint machinery should |
---|
| 311 | + * be doing the same check during kdb_bp_install) but gives the |
---|
| 312 | + * user immediate feedback. |
---|
| 313 | + */ |
---|
| 314 | + diag = kgdb_validate_break_address(template.bp_addr); |
---|
| 315 | + if (diag) |
---|
| 316 | + return diag; |
---|
| 317 | + |
---|
| 318 | + /* |
---|
310 | 319 | * Find an empty bp structure to allocate |
---|
311 | 320 | */ |
---|
312 | 321 | for (bpno = 0, bp = kdb_breakpoints; bpno < KDB_MAXBPT; bpno++, bp++) { |
---|
.. | .. |
---|
412 | 421 | * assume that the breakpoint number is desired. |
---|
413 | 422 | */ |
---|
414 | 423 | if (addr < KDB_MAXBPT) { |
---|
415 | | - bp = &kdb_breakpoints[addr]; |
---|
416 | 424 | lowbp = highbp = addr; |
---|
417 | 425 | highbp++; |
---|
418 | 426 | } else { |
---|