summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2002-03-10 20:19:32 +0000
committerdfr <dfr@FreeBSD.org>2002-03-10 20:19:32 +0000
commit98462a3128ec7a1827cf94ca3449fe21ae619a4b (patch)
treeedfb8202ea43f5d14d2f891c1ffeeffe4b3ea2da
parentad77debfc5dfa5b73a27c6a6b4f1f7657090fb38 (diff)
downloadFreeBSD-src-98462a3128ec7a1827cf94ca3449fe21ae619a4b.zip
FreeBSD-src-98462a3128ec7a1827cf94ca3449fe21ae619a4b.tar.gz
Don't try to print the arguments if the value of bsp is outside the
kernel - its asking for trouble.
-rw-r--r--sys/ia64/ia64/db_trace.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/ia64/ia64/db_trace.c b/sys/ia64/ia64/db_trace.c
index 7c6e2a4..4ce6d84 100644
--- a/sys/ia64/ia64/db_trace.c
+++ b/sys/ia64/ia64/db_trace.c
@@ -88,13 +88,15 @@ db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, char *m
nargs = sof - sol;
if (nargs > 8)
nargs = 8;
- for (i = 0; i < nargs; i++) {
- p = ia64_rse_register_address(bsp, 32 + i);
- db_read_bytes((vm_offset_t) p, sizeof(reg),
- (caddr_t) &reg);
- if (i > 0)
- db_printf(", ");
- db_printf("0x%lx", reg);
+ if (bsp >= IA64_RR_BASE(5)) {
+ for (i = 0; i < nargs; i++) {
+ p = ia64_rse_register_address(bsp, 32 + i);
+ db_read_bytes((vm_offset_t) p, sizeof(reg),
+ (caddr_t) &reg);
+ if (i > 0)
+ db_printf(", ");
+ db_printf("0x%lx", reg);
+ }
}
db_printf(") at ");
OpenPOWER on IntegriCloud