git: cc77811bf02c - stable/14 - sysvipc: Fix 32-bit compat on !i386
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 13 Dec 2023 23:23:00 UTC
The branch stable/14 has been updated by brooks:
URL: https://cgit.FreeBSD.org/src/commit/?id=cc77811bf02c4a32c5303fc9de1e4596bbbc94e1
commit cc77811bf02c4a32c5303fc9de1e4596bbbc94e1
Author: Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2023-12-01 20:48:29 +0000
Commit: Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2023-12-13 23:10:53 +0000
sysvipc: Fix 32-bit compat on !i386
The various time fields are time_t's which are only 32-bit on i386.
Fixing the old versions is probably of little use, but it's more correct
and in theory there could be powerpc binaries from 6.x.
PR: 240035
Fixes: fbb273bc05bef Properly support for FreeBSD 4 32bit System V shared memory.
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D42870
(cherry picked from commit 957f014dc076a7f74ed0c8c8699e6f39b55785e7)
---
sys/compat/freebsd32/freebsd32_ipc.h | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/sys/compat/freebsd32/freebsd32_ipc.h b/sys/compat/freebsd32/freebsd32_ipc.h
index e74f4659247f..4ff8af359428 100644
--- a/sys/compat/freebsd32/freebsd32_ipc.h
+++ b/sys/compat/freebsd32/freebsd32_ipc.h
@@ -43,8 +43,8 @@ struct semid_ds32 {
struct ipc_perm32 sem_perm;
uint32_t __sem_base;
unsigned short sem_nsems;
- int32_t sem_otime;
- int32_t sem_ctime;
+ time32_t sem_otime;
+ time32_t sem_ctime;
};
#ifdef _KERNEL
@@ -73,9 +73,9 @@ struct msqid_ds32 {
uint32_t msg_qbytes;
pid_t msg_lspid;
pid_t msg_lrpid;
- int32_t msg_stime;
- int32_t msg_rtime;
- int32_t msg_ctime;
+ time32_t msg_stime;
+ time32_t msg_rtime;
+ time32_t msg_ctime;
};
#ifdef _KERNEL
@@ -95,9 +95,9 @@ struct shmid_ds32 {
pid_t shm_lpid;
pid_t shm_cpid;
unsigned int shm_nattch;
- int32_t shm_atime;
- int32_t shm_dtime;
- int32_t shm_ctime;
+ time32_t shm_atime;
+ time32_t shm_dtime;
+ time32_t shm_ctime;
};
#ifdef _KERNEL
@@ -142,9 +142,9 @@ struct semid_ds_old32 {
struct ipc_perm_old32 sem_perm;
uint32_t __sem_base;
unsigned short sem_nsems;
- int32_t sem_otime;
+ time32_t sem_otime;
int32_t sem_pad1;
- int32_t sem_ctime;
+ time32_t sem_ctime;
int32_t sem_pad2;
int32_t sem_pad3[4];
};
@@ -158,11 +158,11 @@ struct msqid_ds_old32 {
uint32_t msg_qbytes;
pid_t msg_lspid;
pid_t msg_lrpid;
- int32_t msg_stime;
+ time32_t msg_stime;
int32_t msg_pad1;
- int32_t msg_rtime;
+ time32_t msg_rtime;
int32_t msg_pad2;
- int32_t msg_ctime;
+ time32_t msg_ctime;
int32_t msg_pad3;
int32_t msg_pad4[4];
};
@@ -173,9 +173,9 @@ struct shmid_ds_old32 {
pid_t shm_lpid;
pid_t shm_cpid;
int16_t shm_nattch;
- int32_t shm_atime;
- int32_t shm_dtime;
- int32_t shm_ctime;
+ time32_t shm_atime;
+ time32_t shm_dtime;
+ time32_t shm_ctime;
uint32_t shm_internal;
};