Date: Thu, 23 Apr 2026 17:09:35 +0000 From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: f3ca689d176f - stable/15 - kdump: tweaks for the extended errors decoding Message-ID: <69ea524f.3e0f3.6b7af7ea@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f3ca689d176f6653ddccd22674b9b19755dcc55d commit f3ca689d176f6653ddccd22674b9b19755dcc55d Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2026-04-21 06:13:04 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2026-04-23 17:09:06 +0000 kdump: tweaks for the extended errors decoding (cherry picked from commit 5c89d661a023c83a2001cf5b354b09c7d3ac91d8) --- usr.bin/kdump/Makefile | 1 + usr.bin/kdump/kdump.c | 23 ++++++++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/usr.bin/kdump/Makefile b/usr.bin/kdump/Makefile index 2c5c456a6de5..cef87f665b46 100644 --- a/usr.bin/kdump/Makefile +++ b/usr.bin/kdump/Makefile @@ -5,6 +5,7 @@ PROG= kdump SRCS= kdump.c subr.c CFLAGS+= -I${SRCTOP}/usr.bin/ktrace +CFLAGS+= -I${SRCTOP}/lib/libc/gen LIBADD= sysdecode .if ${MK_CASPER} != "no" diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index d3f2ac882e61..9ebd18646474 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -40,6 +40,7 @@ #include <sys/_bitset.h> #include <sys/bitset.h> #include <sys/errno.h> +#include <sys/exterr_cat.h> #include <sys/time.h> #include <sys/uio.h> #include <sys/event.h> @@ -2442,15 +2443,31 @@ bad_size: return; } +static const char * const cat_to_filenames[] = { +#include <exterr_cat_filenames.h> +}; + +static const char * +cat_to_filename(int category) +{ + if (category < 0 || (unsigned)category >= nitems(cat_to_filenames) || + cat_to_filenames[category] == NULL) + return ("unknown"); + return (cat_to_filenames[category]); +} + static void ktrexterr(struct ktr_exterr *ke) { + char *msg; struct uexterror *ue; ue = &ke->ue; - printf("{ errno %d category %u (src line %u) p1 %#jx p2 %#jx %s }\n", - ue->error, ue->cat, ue->src_line, - (uintmax_t)ue->p1, (uintmax_t)ue->p2, ue->msg); + asprintf(&msg, ue->msg, (uintmax_t)ue->p1, (uintmax_t)ue->p2); + printf("{ errno %d %s:%u \"%s\" (category %u p1 %#jx p2 %#jx) }\n", + ue->error, cat_to_filename(ue->cat), ue->src_line, msg, + ue->cat, (uintmax_t)ue->p1, (uintmax_t)ue->p2); + free(msg); } static voidhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69ea524f.3e0f3.6b7af7ea>
