Re: [PATCH v2 1/4] pidfd: support PIDFD_NONBLOCK in pidfd_open()

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

 



On 09/02, Christian Brauner wrote:
>
> -static int pidfd_create(struct pid *pid)
> +static int pidfd_create(struct pid *pid, unsigned int flags)
>  {
>  	int fd;
>  
>  	fd = anon_inode_getfd("[pidfd]", &pidfd_fops, get_pid(pid),
> -			      O_RDWR | O_CLOEXEC);
> +			      flags | O_RDWR | O_CLOEXEC);
>  	if (fd < 0)
>  		put_pid(pid);
>  
> @@ -565,7 +567,7 @@ SYSCALL_DEFINE2(pidfd_open, pid_t, pid, unsigned int, flags)
>  	int fd;
>  	struct pid *p;
>  
> -	if (flags)
> +	if (flags & ~PIDFD_NONBLOCK)
>  		return -EINVAL;
>  
>  	if (pid <= 0)
> @@ -576,7 +578,7 @@ SYSCALL_DEFINE2(pidfd_open, pid_t, pid, unsigned int, flags)
>  		return -ESRCH;
>  
>  	if (pid_has_task(p, PIDTYPE_TGID))
> -		fd = pidfd_create(p);
> +		fd = pidfd_create(p, flags);
>  	else
>  		fd = -EINVAL;
>  

Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx>




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

  Powered by Linux