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; };