summaryrefslogtreecommitdiff
path: root/libc/misc/sysvipc/shm.c
diff options
context:
space:
mode:
authoryliu <yu.liu@ingenic.com>2025-08-06 10:19:51 +0800
committerWaldemar Brodkorb <wbx@openadk.org>2025-08-16 20:44:13 +0200
commitf6f9f40cb17ae95610c4fe36f6ee77cfbcf05df1 (patch)
tree0d489e449ba3fcf436d6d66fd2bc7576ab186420 /libc/misc/sysvipc/shm.c
parent9ffed9adb130d45b9f31ca7a305153e86586c877 (diff)
time64: fix *ctl functions in mips32eb
Diffstat (limited to 'libc/misc/sysvipc/shm.c')
-rw-r--r--libc/misc/sysvipc/shm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libc/misc/sysvipc/shm.c b/libc/misc/sysvipc/shm.c
index e4fd2ea7b..b3366b301 100644
--- a/libc/misc/sysvipc/shm.c
+++ b/libc/misc/sysvipc/shm.c
@@ -69,6 +69,7 @@ int shmctl(int shmid, int cmd, struct shmid_ds *buf)
int __ret = __syscall_shmctl(shmid, cmd | __IPC_64, buf);
#if (__WORDSIZE == 32) && defined(__mips) && defined(__UCLIBC_USE_TIME64__)
union shmun arg = {.buff = buf};
+ // When cmd is IPC_RMID, buf should be NULL.
if (arg.__pad != NULL) {
arg.buff->shm_atime = (__time_t)arg.buff->shm_atime_internal_1 | (__time_t)(arg.buff->shm_atime_internal_2) << 32;
arg.buff->shm_dtime = (__time_t)arg.buff->shm_dtime_internal_1 | (__time_t)(arg.buff->shm_dtime_internal_2) << 32;