The branch main has been updated by kib:

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

commit 9a036035579236c16699ca801d280096bb512b47
Author:     Konstantin Belousov <k...@freebsd.org>
AuthorDate: 2025-05-31 22:05:28 +0000
Commit:     Konstantin Belousov <k...@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)
 {

Reply via email to