Make kdb_reenter() silent when explicitly called from db_error().

This removes the useless backtrace on various ddb(4) user errors.

Reviewed by:	jhb@
Obtained from:	CheriBSD
MFC after:	2 weeks
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D13212
This commit is contained in:
Edward Tomasz Napierala 2017-11-28 12:53:55 +00:00
parent be84f91cf4
commit 212ff84f4a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=326314
3 changed files with 13 additions and 1 deletions

View File

@ -556,7 +556,7 @@ db_error(const char *s)
if (s)
db_printf("%s", s);
db_flush_lex();
kdb_reenter();
kdb_reenter_silent();
}
static void

View File

@ -509,6 +509,17 @@ kdb_reenter(void)
/* NOTREACHED */
}
void
kdb_reenter_silent(void)
{
if (!kdb_active || kdb_jmpbufp == NULL)
return;
longjmp(kdb_jmpbufp, 1);
/* NOTREACHED */
}
/*
* Thread related support functions.
*/

View File

@ -80,6 +80,7 @@ void * kdb_jmpbuf(jmp_buf);
void kdb_panic(const char *);
void kdb_reboot(void);
void kdb_reenter(void);
void kdb_reenter_silent(void);
struct pcb *kdb_thr_ctx(struct thread *);
struct thread *kdb_thr_first(void);
struct thread *kdb_thr_from_pid(pid_t);