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.