git: 154778e35851 - main - sys/compat/freebsd32: ki_pd is missing from struct kinfo_proc32
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 09 Feb 2026 19:07:02 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=154778e3585166f613fd3d2978a0cab2262d1611
commit 154778e3585166f613fd3d2978a0cab2262d1611
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-02-05 20:02:27 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-02-09 18:57:19 +0000
sys/compat/freebsd32: ki_pd is missing from struct kinfo_proc32
This is missed by the sizeof(struct kinfo_proc32) assert due to another
bug: namely, the use of uint64_t type that has different alignment on
i386 than on amd64 host.
Fixes: 85078b8573332c2c83a79adea8a61b519fb3b6af
Reviewed by: brooks
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D55135
---
sys/compat/freebsd32/freebsd32.h | 1 +
sys/kern/kern_proc.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd32.h
index 5c7764b75335..c10a8248aabb 100644
--- a/sys/compat/freebsd32/freebsd32.h
+++ b/sys/compat/freebsd32/freebsd32.h
@@ -413,6 +413,7 @@ struct kinfo_proc32 {
uint32_t ki_kstack;
uint32_t ki_udata;
uint32_t ki_tdaddr;
+ uint32_t ki_pd;
uint32_t ki_uerrmsg;
uint32_t ki_spareptrs[KI_NSPARE_PTR]; /* spare room for growth */
int ki_sparelongs[KI_NSPARE_LONG];
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index 05b1ed990025..ec06af21c7c3 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -1503,6 +1503,7 @@ freebsd32_kinfo_proc_out(const struct kinfo_proc *ki, struct kinfo_proc32 *ki32)
PTRTRIM_CP(*ki, *ki32, ki_kstack);
PTRTRIM_CP(*ki, *ki32, ki_udata);
PTRTRIM_CP(*ki, *ki32, ki_tdaddr);
+ PTRTRIM_CP(*ki, *ki32, ki_pd);
CP(*ki, *ki32, ki_sflag);
CP(*ki, *ki32, ki_tdflags);
PTRTRIM_CP(*ki, *ki32, ki_uerrmsg);