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 Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux