diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/mqueue.c | 8 | ||||
-rw-r--r-- | ipc/msg.c | 6 | ||||
-rw-r--r-- | ipc/sem.c | 10 | ||||
-rw-r--r-- | ipc/shm.c | 6 | ||||
-rw-r--r-- | ipc/syscall.c | 2 | ||||
-rw-r--r-- | ipc/util.h | 2 |
6 files changed, 17 insertions, 17 deletions
diff --git a/ipc/mqueue.c b/ipc/mqueue.c index c0d58f390c3b..db7833370351 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c | |||
@@ -1461,10 +1461,10 @@ COMPAT_SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes, | |||
1461 | #endif | 1461 | #endif |
1462 | 1462 | ||
1463 | #ifdef CONFIG_COMPAT_32BIT_TIME | 1463 | #ifdef CONFIG_COMPAT_32BIT_TIME |
1464 | static int compat_prepare_timeout(const struct compat_timespec __user *p, | 1464 | static int compat_prepare_timeout(const struct old_timespec32 __user *p, |
1465 | struct timespec64 *ts) | 1465 | struct timespec64 *ts) |
1466 | { | 1466 | { |
1467 | if (compat_get_timespec64(ts, p)) | 1467 | if (get_old_timespec32(ts, p)) |
1468 | return -EFAULT; | 1468 | return -EFAULT; |
1469 | if (!timespec64_valid(ts)) | 1469 | if (!timespec64_valid(ts)) |
1470 | return -EINVAL; | 1470 | return -EINVAL; |
@@ -1474,7 +1474,7 @@ static int compat_prepare_timeout(const struct compat_timespec __user *p, | |||
1474 | COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, | 1474 | COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, |
1475 | const char __user *, u_msg_ptr, | 1475 | const char __user *, u_msg_ptr, |
1476 | compat_size_t, msg_len, unsigned int, msg_prio, | 1476 | compat_size_t, msg_len, unsigned int, msg_prio, |
1477 | const struct compat_timespec __user *, u_abs_timeout) | 1477 | const struct old_timespec32 __user *, u_abs_timeout) |
1478 | { | 1478 | { |
1479 | struct timespec64 ts, *p = NULL; | 1479 | struct timespec64 ts, *p = NULL; |
1480 | if (u_abs_timeout) { | 1480 | if (u_abs_timeout) { |
@@ -1489,7 +1489,7 @@ COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, | |||
1489 | COMPAT_SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, | 1489 | COMPAT_SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, |
1490 | char __user *, u_msg_ptr, | 1490 | char __user *, u_msg_ptr, |
1491 | compat_size_t, msg_len, unsigned int __user *, u_msg_prio, | 1491 | compat_size_t, msg_len, unsigned int __user *, u_msg_prio, |
1492 | const struct compat_timespec __user *, u_abs_timeout) | 1492 | const struct old_timespec32 __user *, u_abs_timeout) |
1493 | { | 1493 | { |
1494 | struct timespec64 ts, *p = NULL; | 1494 | struct timespec64 ts, *p = NULL; |
1495 | if (u_abs_timeout) { | 1495 | if (u_abs_timeout) { |
@@ -622,9 +622,9 @@ struct compat_msqid_ds { | |||
622 | struct compat_ipc_perm msg_perm; | 622 | struct compat_ipc_perm msg_perm; |
623 | compat_uptr_t msg_first; | 623 | compat_uptr_t msg_first; |
624 | compat_uptr_t msg_last; | 624 | compat_uptr_t msg_last; |
625 | compat_time_t msg_stime; | 625 | old_time32_t msg_stime; |
626 | compat_time_t msg_rtime; | 626 | old_time32_t msg_rtime; |
627 | compat_time_t msg_ctime; | 627 | old_time32_t msg_ctime; |
628 | compat_ulong_t msg_lcbytes; | 628 | compat_ulong_t msg_lcbytes; |
629 | compat_ulong_t msg_lqbytes; | 629 | compat_ulong_t msg_lqbytes; |
630 | unsigned short msg_cbytes; | 630 | unsigned short msg_cbytes; |
@@ -1698,8 +1698,8 @@ SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, unsigned long, arg) | |||
1698 | 1698 | ||
1699 | struct compat_semid_ds { | 1699 | struct compat_semid_ds { |
1700 | struct compat_ipc_perm sem_perm; | 1700 | struct compat_ipc_perm sem_perm; |
1701 | compat_time_t sem_otime; | 1701 | old_time32_t sem_otime; |
1702 | compat_time_t sem_ctime; | 1702 | old_time32_t sem_ctime; |
1703 | compat_uptr_t sem_base; | 1703 | compat_uptr_t sem_base; |
1704 | compat_uptr_t sem_pending; | 1704 | compat_uptr_t sem_pending; |
1705 | compat_uptr_t sem_pending_last; | 1705 | compat_uptr_t sem_pending_last; |
@@ -2214,11 +2214,11 @@ SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops, | |||
2214 | #ifdef CONFIG_COMPAT_32BIT_TIME | 2214 | #ifdef CONFIG_COMPAT_32BIT_TIME |
2215 | long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems, | 2215 | long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems, |
2216 | unsigned int nsops, | 2216 | unsigned int nsops, |
2217 | const struct compat_timespec __user *timeout) | 2217 | const struct old_timespec32 __user *timeout) |
2218 | { | 2218 | { |
2219 | if (timeout) { | 2219 | if (timeout) { |
2220 | struct timespec64 ts; | 2220 | struct timespec64 ts; |
2221 | if (compat_get_timespec64(&ts, timeout)) | 2221 | if (get_old_timespec32(&ts, timeout)) |
2222 | return -EFAULT; | 2222 | return -EFAULT; |
2223 | return do_semtimedop(semid, tsems, nsops, &ts); | 2223 | return do_semtimedop(semid, tsems, nsops, &ts); |
2224 | } | 2224 | } |
@@ -2227,7 +2227,7 @@ long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems, | |||
2227 | 2227 | ||
2228 | COMPAT_SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsems, | 2228 | COMPAT_SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsems, |
2229 | unsigned int, nsops, | 2229 | unsigned int, nsops, |
2230 | const struct compat_timespec __user *, timeout) | 2230 | const struct old_timespec32 __user *, timeout) |
2231 | { | 2231 | { |
2232 | return compat_ksys_semtimedop(semid, tsems, nsops, timeout); | 2232 | return compat_ksys_semtimedop(semid, tsems, nsops, timeout); |
2233 | } | 2233 | } |
@@ -1201,9 +1201,9 @@ SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf) | |||
1201 | struct compat_shmid_ds { | 1201 | struct compat_shmid_ds { |
1202 | struct compat_ipc_perm shm_perm; | 1202 | struct compat_ipc_perm shm_perm; |
1203 | int shm_segsz; | 1203 | int shm_segsz; |
1204 | compat_time_t shm_atime; | 1204 | old_time32_t shm_atime; |
1205 | compat_time_t shm_dtime; | 1205 | old_time32_t shm_dtime; |
1206 | compat_time_t shm_ctime; | 1206 | old_time32_t shm_ctime; |
1207 | compat_ipc_pid_t shm_cpid; | 1207 | compat_ipc_pid_t shm_cpid; |
1208 | compat_ipc_pid_t shm_lpid; | 1208 | compat_ipc_pid_t shm_lpid; |
1209 | unsigned short shm_nattch; | 1209 | unsigned short shm_nattch; |
diff --git a/ipc/syscall.c b/ipc/syscall.c index 65d405f1ba0c..1ac06e3983c0 100644 --- a/ipc/syscall.c +++ b/ipc/syscall.c | |||
@@ -35,7 +35,7 @@ SYSCALL_DEFINE6(ipc, unsigned int, call, int, first, unsigned long, second, | |||
35 | (const struct __kernel_timespec __user *)fifth); | 35 | (const struct __kernel_timespec __user *)fifth); |
36 | else if (IS_ENABLED(CONFIG_COMPAT_32BIT_TIME)) | 36 | else if (IS_ENABLED(CONFIG_COMPAT_32BIT_TIME)) |
37 | return compat_ksys_semtimedop(first, ptr, second, | 37 | return compat_ksys_semtimedop(first, ptr, second, |
38 | (const struct compat_timespec __user *)fifth); | 38 | (const struct old_timespec32 __user *)fifth); |
39 | else | 39 | else |
40 | return -ENOSYS; | 40 | return -ENOSYS; |
41 | 41 | ||
diff --git a/ipc/util.h b/ipc/util.h index 0a159f69b3bb..1ee81bce25e9 100644 --- a/ipc/util.h +++ b/ipc/util.h | |||
@@ -266,7 +266,7 @@ long ksys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf); | |||
266 | /* for CONFIG_ARCH_WANT_OLD_COMPAT_IPC */ | 266 | /* for CONFIG_ARCH_WANT_OLD_COMPAT_IPC */ |
267 | long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems, | 267 | long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems, |
268 | unsigned int nsops, | 268 | unsigned int nsops, |
269 | const struct compat_timespec __user *timeout); | 269 | const struct old_timespec32 __user *timeout); |
270 | #ifdef CONFIG_COMPAT | 270 | #ifdef CONFIG_COMPAT |
271 | long compat_ksys_semctl(int semid, int semnum, int cmd, int arg); | 271 | long compat_ksys_semctl(int semid, int semnum, int cmd, int arg); |
272 | long compat_ksys_msgctl(int msqid, int cmd, void __user *uptr); | 272 | long compat_ksys_msgctl(int msqid, int cmd, void __user *uptr); |