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.
_______________________________________________
Y2038 mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/y2038

Reply via email to