diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2026-02-05 20:02:27 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2026-02-09 18:57:19 +0000 |
| commit | 154778e3585166f613fd3d2978a0cab2262d1611 (patch) | |
| tree | f7ce544f14a40f383fa9f34ac8b023e508c48c88 | |
| parent | beee89472e3e0e3640c9db5c34a6e422830ff00f (diff) | |
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
| -rw-r--r-- | sys/compat/freebsd32/freebsd32.h | 1 | ||||
| -rw-r--r-- | sys/kern/kern_proc.c | 1 |
2 files changed, 2 insertions, 0 deletions
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); |
