Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Jun 2025 04:07:42 GMT
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 9a0360355792 - main - kdump(1): pretty-print KTR_EXTERR
Message-ID:  <202506030407.55347gTU071277@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=9a036035579236c16699ca801d280096bb512b47

commit 9a036035579236c16699ca801d280096bb512b47
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-05-31 22:05:28 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-06-03 02:47:38 +0000

    kdump(1): pretty-print KTR_EXTERR
    
    Reviewed by:    brooks
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D50633
---
 usr.bin/kdump/kdump.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c
index 48f645c339b9..7dbf2ba05955 100644
--- a/usr.bin/kdump/kdump.c
+++ b/usr.bin/kdump/kdump.c
@@ -119,6 +119,7 @@ void ktrbitset(char *, struct bitset *, size_t);
 void ktrsyscall_freebsd(struct ktr_syscall *ktr, register_t **resip,
     int *resnarg, char *resc, u_int sv_flags);
 void ktrexecve(char *, int);
+void ktrexterr(struct ktr_exterr *);
 void usage(void);
 
 #define	TIMESTAMP_NONE		0x0
@@ -521,6 +522,9 @@ main(int argc, char *argv[])
 		case KTR_ENVS:
 			ktrexecve(m, ktrlen);
 			break;
+		case KTR_EXTERR:
+			ktrexterr((struct ktr_exterr *)m);
+			break;
 		default:
 			printf("\n");
 			break;
@@ -711,6 +715,9 @@ dumpheader(struct ktr_header *kth, u_int sv_flags)
 	case KTR_ENVS:
 	        type = "ENVS";
 	        break;
+	case KTR_EXTERR:
+	        type = "EERR";
+	        break;
 	default:
 		sprintf(unknown, "UNKNOWN(%d)", kth->ktr_type);
 		type = unknown;
@@ -2420,6 +2427,17 @@ bad_size:
 	return;
 }
 
+void
+ktrexterr(struct ktr_exterr *ke)
+{
+	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);
+}
+
 void
 usage(void)
 {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202506030407.55347gTU071277>