git: 9ba8c825a392 - stable/13 - sysvipc: Fix 32-bit compat on !i386
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 14 Dec 2023 20:25:43 UTC
The branch stable/13 has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=9ba8c825a392e141bc05efb71595f949b00a3719 commit 9ba8c825a392e141bc05efb71595f949b00a3719 Author: Brooks Davis <brooks@FreeBSD.org> AuthorDate: 2023-12-01 20:48:29 +0000 Commit: Brooks Davis <brooks@FreeBSD.org> CommitDate: 2023-12-14 20:25:27 +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 e31fef9a38fe..5ded02045875 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_ds32_old { struct ipc_perm32_old 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_ds32_old { 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_ds32_old { 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; };