diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2011-09-21 13:07:47 -0700 |
---|---|---|
committer | Jason Wessel <jason.wessel@windriver.com> | 2012-03-22 15:07:16 -0500 |
commit | 1ba0c1720eb0de2d0f3abf84c0b128d10af520d1 (patch) | |
tree | 47515d331a39e868510266d72f29267b30b00399 /kernel/debug | |
parent | b8adde8ddec9ff62a21564fa8020b5463e70d4de (diff) | |
download | blackbird-op-linux-1ba0c1720eb0de2d0f3abf84c0b128d10af520d1.tar.gz blackbird-op-linux-1ba0c1720eb0de2d0f3abf84c0b128d10af520d1.zip |
kdb: Add message about CONFIG_DEBUG_RODATA on failure to install breakpoint
On x86, if CONFIG_DEBUG_RODATA is set, one cannot set breakpoints
via KDB. Apparently this is a well-known problem, as at least one distribution
now ships with both KDB enabled and CONFIG_DEBUG_RODATA=y for security reasons.
This patch adds an printk message to the breakpoint failure case,
in order to provide suggestions about how to use the debugger.
Reported-by: Tim Bird <tim.bird@am.sony.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Acked-by: Tim Bird <tim.bird@am.sony.com>
Diffstat (limited to 'kernel/debug')
-rw-r--r-- | kernel/debug/kdb/kdb_bp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/debug/kdb/kdb_bp.c b/kernel/debug/kdb/kdb_bp.c index 20059ef4459a..8418c2f8ec5d 100644 --- a/kernel/debug/kdb/kdb_bp.c +++ b/kernel/debug/kdb/kdb_bp.c @@ -153,6 +153,13 @@ static int _kdb_bp_install(struct pt_regs *regs, kdb_bp_t *bp) } else { kdb_printf("%s: failed to set breakpoint at 0x%lx\n", __func__, bp->bp_addr); +#ifdef CONFIG_DEBUG_RODATA + if (!bp->bp_type) { + kdb_printf("Software breakpoints are unavailable.\n" + " Change the kernel CONFIG_DEBUG_RODATA=n\n" + " OR use hw breaks: help bph\n"); + } +#endif return 1; } return 0; |