On Sun, Sep 16, 2018 at 06:04:57PM -0700, Deepa Dinamani wrote:
static long do_compat_pselect(int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp, compat_ulong_t __user *exp,
- struct old_timespec32 __user *tsp, compat_sigset_t __user *sigmask,
- compat_size_t sigsetsize)
- void __user *tsp, compat_sigset_t __user *sigmask,
- compat_size_t sigsetsize, enum poll_time_type type)
{ sigset_t ksigmask, sigsaved; struct timespec64 ts, end_time, *to = NULL; int ret; if (tsp) {
if (get_old_timespec32(&ts, tsp))
return -EFAULT;
switch (type) {
case PT_OLD_TIMESPEC:
if (get_old_timespec32(&ts, tsp))
return -EFAULT;
break;
case PT_TIMESPEC:
if (get_old_timespec32(&ts, tsp))
return -EFAULT;
break;
default:
BUG();
}
One of the two get_old_timespec32 calls here should be get_timespec64.