Re: [PATCH v3 4/5] pselect6: use __kernel_timespec

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux