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>
This commit is contained in:
parent
b8adde8dde
commit
1ba0c1720e
|
@ -153,6 +153,13 @@ static int _kdb_bp_install(struct pt_regs *regs, kdb_bp_t *bp)
|
||||||
} else {
|
} else {
|
||||||
kdb_printf("%s: failed to set breakpoint at 0x%lx\n",
|
kdb_printf("%s: failed to set breakpoint at 0x%lx\n",
|
||||||
__func__, bp->bp_addr);
|
__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 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue