Skip to content

Commit ba252f1

Browse files
committed
Merge branch 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull time/Y2038 updates from Thomas Gleixner: - Consolidate SySV IPC UAPI headers - Convert SySV IPC to the new COMPAT_32BIT_TIME mechanism - Cleanup the core interfaces and standardize on the ktime_get_* naming convention. - Convert the X86 platform ops to timespec64 - Remove the ugly temporary timespec64 hack * 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits) x86: Convert x86_platform_ops to timespec64 timekeeping: Add more coarse clocktai/boottime interfaces timekeeping: Add ktime_get_coarse_with_offset timekeeping: Standardize on ktime_get_*() naming timekeeping: Clean up ktime_get_real_ts64 timekeeping: Remove timespec64 hack y2038: ipc: Redirect ipc(SEMTIMEDOP, ...) to compat_ksys_semtimedop y2038: ipc: Enable COMPAT_32BIT_TIME y2038: ipc: Use __kernel_timespec y2038: ipc: Report long times to user space y2038: ipc: Use ktime_get_real_seconds consistently y2038: xtensa: Extend sysvipc data structures y2038: powerpc: Extend sysvipc data structures y2038: sparc: Extend sysvipc data structures y2038: parisc: Extend sysvipc data structures y2038: mips: Extend sysvipc data structures y2038: arm64: Extend sysvipc compat data structures y2038: s390: Remove unneeded ipc uapi header files y2038: ia64: Remove unneeded ipc uapi header files y2038: alpha: Remove unneeded ipc uapi header files ...
2 parents 0bbcce5 + e27c492 commit ba252f1

File tree

63 files changed

+633
-868
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+633
-868
lines changed

arch/alpha/include/uapi/asm/Kbuild

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,8 @@
22
include include/uapi/asm-generic/Kbuild.asm
33

44
generic-y += bpf_perf_event.h
5+
generic-y += ipcbuf.h
6+
generic-y += msgbuf.h
57
generic-y += poll.h
8+
generic-y += sembuf.h
9+
generic-y += shmbuf.h

arch/alpha/include/uapi/asm/ipcbuf.h

Lines changed: 0 additions & 2 deletions
This file was deleted.

arch/alpha/include/uapi/asm/msgbuf.h

Lines changed: 0 additions & 28 deletions
This file was deleted.

arch/alpha/include/uapi/asm/sembuf.h

Lines changed: 0 additions & 23 deletions
This file was deleted.

arch/alpha/include/uapi/asm/shmbuf.h

Lines changed: 0 additions & 39 deletions
This file was deleted.

arch/arm64/include/asm/compat.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -181,23 +181,23 @@ struct compat_ipc64_perm {
181181

182182
struct compat_semid64_ds {
183183
struct compat_ipc64_perm sem_perm;
184-
compat_time_t sem_otime;
185-
compat_ulong_t __unused1;
186-
compat_time_t sem_ctime;
187-
compat_ulong_t __unused2;
184+
compat_ulong_t sem_otime;
185+
compat_ulong_t sem_otime_high;
186+
compat_ulong_t sem_ctime;
187+
compat_ulong_t sem_ctime_high;
188188
compat_ulong_t sem_nsems;
189189
compat_ulong_t __unused3;
190190
compat_ulong_t __unused4;
191191
};
192192

193193
struct compat_msqid64_ds {
194194
struct compat_ipc64_perm msg_perm;
195-
compat_time_t msg_stime;
196-
compat_ulong_t __unused1;
197-
compat_time_t msg_rtime;
198-
compat_ulong_t __unused2;
199-
compat_time_t msg_ctime;
200-
compat_ulong_t __unused3;
195+
compat_ulong_t msg_stime;
196+
compat_ulong_t msg_stime_high;
197+
compat_ulong_t msg_rtime;
198+
compat_ulong_t msg_rtime_high;
199+
compat_ulong_t msg_ctime;
200+
compat_ulong_t msg_ctime_high;
201201
compat_ulong_t msg_cbytes;
202202
compat_ulong_t msg_qnum;
203203
compat_ulong_t msg_qbytes;
@@ -210,12 +210,12 @@ struct compat_msqid64_ds {
210210
struct compat_shmid64_ds {
211211
struct compat_ipc64_perm shm_perm;
212212
compat_size_t shm_segsz;
213-
compat_time_t shm_atime;
214-
compat_ulong_t __unused1;
215-
compat_time_t shm_dtime;
216-
compat_ulong_t __unused2;
217-
compat_time_t shm_ctime;
218-
compat_ulong_t __unused3;
213+
compat_ulong_t shm_atime;
214+
compat_ulong_t shm_atime_high;
215+
compat_ulong_t shm_dtime;
216+
compat_ulong_t shm_dtime_high;
217+
compat_ulong_t shm_ctime;
218+
compat_ulong_t shm_ctime_high;
219219
compat_pid_t shm_cpid;
220220
compat_pid_t shm_lpid;
221221
compat_ulong_t shm_nattch;

arch/ia64/include/uapi/asm/Kbuild

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,9 @@
22
include include/uapi/asm-generic/Kbuild.asm
33

44
generic-y += bpf_perf_event.h
5+
generic-y += ipcbuf.h
56
generic-y += kvm_para.h
7+
generic-y += msgbuf.h
68
generic-y += poll.h
9+
generic-y += sembuf.h
10+
generic-y += shmbuf.h

arch/ia64/include/uapi/asm/ipcbuf.h

Lines changed: 0 additions & 2 deletions
This file was deleted.

arch/ia64/include/uapi/asm/msgbuf.h

Lines changed: 0 additions & 28 deletions
This file was deleted.

arch/ia64/include/uapi/asm/sembuf.h

Lines changed: 0 additions & 23 deletions
This file was deleted.

arch/ia64/include/uapi/asm/shmbuf.h

Lines changed: 0 additions & 39 deletions
This file was deleted.

arch/mips/include/asm/compat.h

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@ typedef struct {
3737
typedef s32 compat_timer_t;
3838
typedef s32 compat_key_t;
3939

40+
typedef s16 compat_short_t;
4041
typedef s32 compat_int_t;
4142
typedef s32 compat_long_t;
4243
typedef s64 compat_s64;
44+
typedef u16 compat_ushort_t;
4345
typedef u32 compat_uint_t;
4446
typedef u32 compat_ulong_t;
4547
typedef u64 compat_u64;
@@ -157,35 +159,35 @@ struct compat_ipc64_perm {
157159

158160
struct compat_semid64_ds {
159161
struct compat_ipc64_perm sem_perm;
160-
compat_time_t sem_otime;
161-
compat_time_t sem_ctime;
162+
compat_ulong_t sem_otime;
163+
compat_ulong_t sem_ctime;
162164
compat_ulong_t sem_nsems;
163-
compat_ulong_t __unused1;
164-
compat_ulong_t __unused2;
165+
compat_ulong_t sem_otime_high;
166+
compat_ulong_t sem_ctime_high;
165167
};
166168

167169
struct compat_msqid64_ds {
168170
struct compat_ipc64_perm msg_perm;
169171
#ifndef CONFIG_CPU_LITTLE_ENDIAN
170-
compat_ulong_t __unused1;
172+
compat_ulong_t msg_stime_high;
171173
#endif
172-
compat_time_t msg_stime;
174+
compat_ulong_t msg_stime;
173175
#ifdef CONFIG_CPU_LITTLE_ENDIAN
174-
compat_ulong_t __unused1;
176+
compat_ulong_t msg_stime_high;
175177
#endif
176178
#ifndef CONFIG_CPU_LITTLE_ENDIAN
177-
compat_ulong_t __unused2;
179+
compat_ulong_t msg_rtime_high;
178180
#endif
179-
compat_time_t msg_rtime;
181+
compat_ulong_t msg_rtime;
180182
#ifdef CONFIG_CPU_LITTLE_ENDIAN
181-
compat_ulong_t __unused2;
183+
compat_ulong_t msg_rtime_high;
182184
#endif
183185
#ifndef CONFIG_CPU_LITTLE_ENDIAN
184-
compat_ulong_t __unused3;
186+
compat_ulong_t msg_ctime_high;
185187
#endif
186-
compat_time_t msg_ctime;
188+
compat_ulong_t msg_ctime;
187189
#ifdef CONFIG_CPU_LITTLE_ENDIAN
188-
compat_ulong_t __unused3;
190+
compat_ulong_t msg_ctime_high;
189191
#endif
190192
compat_ulong_t msg_cbytes;
191193
compat_ulong_t msg_qnum;
@@ -199,14 +201,16 @@ struct compat_msqid64_ds {
199201
struct compat_shmid64_ds {
200202
struct compat_ipc64_perm shm_perm;
201203
compat_size_t shm_segsz;
202-
compat_time_t shm_atime;
203-
compat_time_t shm_dtime;
204-
compat_time_t shm_ctime;
204+
compat_ulong_t shm_atime;
205+
compat_ulong_t shm_dtime;
206+
compat_ulong_t shm_ctime;
205207
compat_pid_t shm_cpid;
206208
compat_pid_t shm_lpid;
207209
compat_ulong_t shm_nattch;
208-
compat_ulong_t __unused1;
209-
compat_ulong_t __unused2;
210+
compat_ushort_t shm_atime_high;
211+
compat_ushort_t shm_dtime_high;
212+
compat_ushort_t shm_ctime_high;
213+
compat_ushort_t __unused2;
210214
};
211215

212216
/* MIPS has unusual order of fields in stack_t */

0 commit comments

Comments
 (0)