From nobody Wed Apr 22 00:44:21 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g0gTd31bdz6b0PG for ; Wed, 22 Apr 2026 00:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g0gTd2FMZz3jNW for ; Wed, 22 Apr 2026 00:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776818661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2WnsJ2tl2Rdk0XTIoJcz6/a/aMiTVpnJ4VAED0SA6lc=; b=COXMsQFshER0ExqVGTdPdt32KhDgloYUml9RhxeUxT3mXfvzY7Bzgf22yT3LyCqtRiLCXi Gx2FlabINweTi5RACF0dUv3yzRecVqijSlRQ8BzKAhZ/LFlFTGYhdssO6aSUykjP3fbkw1 bV9jah9vHOXtL7ON3wYBBKsDdB6JL3QCOXj3tRYnj7AIoHKcqnrFvVVb4GCgFbEFG108rk 1QRYPeuS8y+HVTQmL0IpGlHCnzgxmwxF58jV9TdVy25b1ncuMlUOCzJWpUzvvjcGu4NaXV laJECtnPj8OPkOHuV1aq3P9dV0vsrt1VR9oWmrElAW7ulRifcruDIINGcRYvkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776818661; a=rsa-sha256; cv=none; b=cCMxuhS3dM4H3EqXWHlCxKZ+uYmtU7C9BzJ6M1+dmxbSOeJQfu7pys8PztNRhQLQYXNd7X a61kDoMlqMSNxX7/MIm0z3nMY965drIlKkhxspkmoubUl91Y8t6t26kloTcDTSsBM8CRNI vjHUZoa4/Y7TRYyCNN0wXbrGmzmor0suRuqnNFOsLW5NntvALETjRNWOrMjScZdHettNyv 8ikk3zz9HDlK58DwCognCM/ZbTr3wOfgkSoS5MAiflSsfa04DHRfbqNj4ZsXrASjGVTiZH 0onnNSXlDmwv8GvG9rKWzhAz6MLmtnK36A7aQbdH+KDphkHEcihTWDw7aSCU8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776818661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2WnsJ2tl2Rdk0XTIoJcz6/a/aMiTVpnJ4VAED0SA6lc=; b=pJhY/du9o/6b+IZ4e/Yye+xguYsBT3Z+CmDm2WAh2LFHlQYxg1czMkOOwwCuRMF2SVW4oU 0Tngkr6VpP57IEOS5WXRQ1h445kLJDSiYVKr3n6jAQUQJZqaj5ioHlIvnZ9NkbhSI9XWPm MHnyZ2aaWYQspD30hPPTJKCxybmji8DC2H3iUHYiDrQ2A2IrUry2ga9JbjGPb7/PEOfynb +tAn4d6PgOnqp+ixZsKQgZPJ8LpY0l0U7FdhvKj63h/yKlIeOOp0uv5NtkJrnyyVbBrLH4 j+PdPEEc3vnLcQfjxke8H/iip2Kqvs4+l5+ULsaNguyzAkkL6OLFuH7GddWVjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g0gTd0jdhz16yC for ; Wed, 22 Apr 2026 00:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f66a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 22 Apr 2026 00:44:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 5c89d661a023 - main - kdump: tweaks for the extended errors decoding List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5c89d661a023c83a2001cf5b354b09c7d3ac91d8 Auto-Submitted: auto-generated Date: Wed, 22 Apr 2026 00:44:21 +0000 Message-Id: <69e819e5.1f66a.6cd4c91a@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5c89d661a023c83a2001cf5b354b09c7d3ac91d8 commit 5c89d661a023c83a2001cf5b354b09c7d3ac91d8 Author: Konstantin Belousov AuthorDate: 2026-04-21 06:13:04 +0000 Commit: Konstantin Belousov CommitDate: 2026-04-21 22:57:24 +0000 kdump: tweaks for the extended errors decoding Format the message. Convert category to the source name if known. Still print the raw value for the category, and the values of the EXTERROR() optional arguments. Requested and reviewed by: mckusick Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56542 --- 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 #include #include +#include #include #include #include @@ -2442,15 +2443,31 @@ bad_size: return; } +static const char * const cat_to_filenames[] = { +#include +}; + +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 void