mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timekeeping updates from Thomas Gleixner:
"The timers and timekeeping departement provides:
- Another large y2038 update with further preparations for providing
the y2038 safe timespecs closer to the syscalls.
- An overhaul of the SHCMT clocksource driver
- SPDX license identifier updates
- Small cleanups and fixes all over the place"
* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
tick/sched : Remove redundant cpu_online() check
clocksource/drivers/dw_apb: Add reset control
clocksource: Remove obsolete CLOCKSOURCE_OF_DECLARE
clocksource/drivers: Unify the names to timer-* format
clocksource/drivers/sh_cmt: Add R-Car gen3 support
dt-bindings: timer: renesas: cmt: document R-Car gen3 support
clocksource/drivers/sh_cmt: Properly line-wrap sh_cmt_of_table[] initializer
clocksource/drivers/sh_cmt: Fix clocksource width for 32-bit machines
clocksource/drivers/sh_cmt: Fixup for 64-bit machines
clocksource/drivers/sh_tmu: Convert to SPDX identifiers
clocksource/drivers/sh_mtu2: Convert to SPDX identifiers
clocksource/drivers/sh_cmt: Convert to SPDX identifiers
clocksource/drivers/renesas-ostm: Convert to SPDX identifiers
clocksource: Convert to using %pOFn instead of device_node.name
tick/broadcast: Remove redundant check
RISC-V: Request newstat syscalls
y2038: signal: Change rt_sigtimedwait to use __kernel_timespec
y2038: socket: Change recvmmsg to use __kernel_timespec
y2038: sched: Change sched_rr_get_interval to use __kernel_timespec
y2038: utimes: Rework #ifdef guards for compat syscalls
...
This commit is contained in:
commit
4dcb9239da
100 changed files with 511 additions and 725 deletions
|
|
@ -1461,10 +1461,10 @@ COMPAT_SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
|
|||
#endif
|
||||
|
||||
#ifdef CONFIG_COMPAT_32BIT_TIME
|
||||
static int compat_prepare_timeout(const struct compat_timespec __user *p,
|
||||
static int compat_prepare_timeout(const struct old_timespec32 __user *p,
|
||||
struct timespec64 *ts)
|
||||
{
|
||||
if (compat_get_timespec64(ts, p))
|
||||
if (get_old_timespec32(ts, p))
|
||||
return -EFAULT;
|
||||
if (!timespec64_valid(ts))
|
||||
return -EINVAL;
|
||||
|
|
@ -1474,7 +1474,7 @@ static int compat_prepare_timeout(const struct compat_timespec __user *p,
|
|||
COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes,
|
||||
const char __user *, u_msg_ptr,
|
||||
compat_size_t, msg_len, unsigned int, msg_prio,
|
||||
const struct compat_timespec __user *, u_abs_timeout)
|
||||
const struct old_timespec32 __user *, u_abs_timeout)
|
||||
{
|
||||
struct timespec64 ts, *p = NULL;
|
||||
if (u_abs_timeout) {
|
||||
|
|
@ -1489,7 +1489,7 @@ COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes,
|
|||
COMPAT_SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes,
|
||||
char __user *, u_msg_ptr,
|
||||
compat_size_t, msg_len, unsigned int __user *, u_msg_prio,
|
||||
const struct compat_timespec __user *, u_abs_timeout)
|
||||
const struct old_timespec32 __user *, u_abs_timeout)
|
||||
{
|
||||
struct timespec64 ts, *p = NULL;
|
||||
if (u_abs_timeout) {
|
||||
|
|
|
|||
|
|
@ -622,9 +622,9 @@ struct compat_msqid_ds {
|
|||
struct compat_ipc_perm msg_perm;
|
||||
compat_uptr_t msg_first;
|
||||
compat_uptr_t msg_last;
|
||||
compat_time_t msg_stime;
|
||||
compat_time_t msg_rtime;
|
||||
compat_time_t msg_ctime;
|
||||
old_time32_t msg_stime;
|
||||
old_time32_t msg_rtime;
|
||||
old_time32_t msg_ctime;
|
||||
compat_ulong_t msg_lcbytes;
|
||||
compat_ulong_t msg_lqbytes;
|
||||
unsigned short msg_cbytes;
|
||||
|
|
|
|||
10
ipc/sem.c
10
ipc/sem.c
|
|
@ -1698,8 +1698,8 @@ SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, unsigned long, arg)
|
|||
|
||||
struct compat_semid_ds {
|
||||
struct compat_ipc_perm sem_perm;
|
||||
compat_time_t sem_otime;
|
||||
compat_time_t sem_ctime;
|
||||
old_time32_t sem_otime;
|
||||
old_time32_t sem_ctime;
|
||||
compat_uptr_t sem_base;
|
||||
compat_uptr_t sem_pending;
|
||||
compat_uptr_t sem_pending_last;
|
||||
|
|
@ -2214,11 +2214,11 @@ SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops,
|
|||
#ifdef CONFIG_COMPAT_32BIT_TIME
|
||||
long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems,
|
||||
unsigned int nsops,
|
||||
const struct compat_timespec __user *timeout)
|
||||
const struct old_timespec32 __user *timeout)
|
||||
{
|
||||
if (timeout) {
|
||||
struct timespec64 ts;
|
||||
if (compat_get_timespec64(&ts, timeout))
|
||||
if (get_old_timespec32(&ts, timeout))
|
||||
return -EFAULT;
|
||||
return do_semtimedop(semid, tsems, nsops, &ts);
|
||||
}
|
||||
|
|
@ -2227,7 +2227,7 @@ long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems,
|
|||
|
||||
COMPAT_SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsems,
|
||||
unsigned int, nsops,
|
||||
const struct compat_timespec __user *, timeout)
|
||||
const struct old_timespec32 __user *, timeout)
|
||||
{
|
||||
return compat_ksys_semtimedop(semid, tsems, nsops, timeout);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1202,9 +1202,9 @@ SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf)
|
|||
struct compat_shmid_ds {
|
||||
struct compat_ipc_perm shm_perm;
|
||||
int shm_segsz;
|
||||
compat_time_t shm_atime;
|
||||
compat_time_t shm_dtime;
|
||||
compat_time_t shm_ctime;
|
||||
old_time32_t shm_atime;
|
||||
old_time32_t shm_dtime;
|
||||
old_time32_t shm_ctime;
|
||||
compat_ipc_pid_t shm_cpid;
|
||||
compat_ipc_pid_t shm_lpid;
|
||||
unsigned short shm_nattch;
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ SYSCALL_DEFINE6(ipc, unsigned int, call, int, first, unsigned long, second,
|
|||
(const struct __kernel_timespec __user *)fifth);
|
||||
else if (IS_ENABLED(CONFIG_COMPAT_32BIT_TIME))
|
||||
return compat_ksys_semtimedop(first, ptr, second,
|
||||
(const struct compat_timespec __user *)fifth);
|
||||
(const struct old_timespec32 __user *)fifth);
|
||||
else
|
||||
return -ENOSYS;
|
||||
|
||||
|
|
|
|||
|
|
@ -266,7 +266,7 @@ long ksys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf);
|
|||
/* for CONFIG_ARCH_WANT_OLD_COMPAT_IPC */
|
||||
long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems,
|
||||
unsigned int nsops,
|
||||
const struct compat_timespec __user *timeout);
|
||||
const struct old_timespec32 __user *timeout);
|
||||
#ifdef CONFIG_COMPAT
|
||||
long compat_ksys_semctl(int semid, int semnum, int cmd, int arg);
|
||||
long compat_ksys_msgctl(int msqid, int cmd, void __user *uptr);
|
||||
|
|
|
|||
Loading…
Reference in a new issue