Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp5722150img; Wed, 27 Mar 2019 14:01:56 -0700 (PDT) X-Google-Smtp-Source: APXvYqx4T3MMN1aTY4qdlUdIVbRs9gPPrF9VrVL17zYCUGAKp6iibfD75HP5dwBUZl0j6VqJCza3 X-Received: by 2002:a63:c548:: with SMTP id g8mr33291467pgd.451.1553720516200; Wed, 27 Mar 2019 14:01:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553720516; cv=none; d=google.com; s=arc-20160816; b=QJqfyoFDfEbFEsfMtyqFTBRrXDIlBJSE9uL5wWwAzfmbZ1WPPlwsROd5QW8LPnYd6g PT3/9cL9aJjxx60KJQ3IVleb7aCmHvtoak75YP6E/JBRDgYbK7OCLL3omi8NdjnJREb4 rV7E/Du69SK9wh5tf7zrdGDfqdZulWEN8jjSBdRJDPD2S5b9xQgUHMh2v/GnN55s+/AC vJ8j6YG5JvrhQGcY8CQt6MNHc9HRjZkjqQNA7bXcYptNo9f5H0ry3sAQXH4esQujjEKr Prv3KSJZgPmuoirM55FMV39rfynW9tCnRj5Y1Zig1lfF4slnZKcoOaxeag5klGf78dfF JS/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=OeI4W9JlV4SVcrFa9MWmlQWcVLr0MimpAtfwIEQmS1k=; b=fmz8hVM8KgohZzST75bDPH5P8cPDETjeo6Rgdtw/48HxkjJ+Wds21ZZo9DH9bOeQ7m VfgURSdNallnfL+DlvKyDkiPG8LCdF6je2h2pgEmlZwzNLtUOedmK0AMSMFZGAm0ch4t ccLdPRap1Q1XvpBWsGQKyyUokphznRhgEYzc5vnQqpHEHjCBSa+GsP5BGf4scu24zorq XqgRZHUlKVo6DnGVpyLiRpO+tduUxnaPvhVikniI6VjOmaZFKOpnDYEd3b06XlRprqS3 Fki+EWLdIT1DTvXqlQbxS/7dsMdtECuUllXW0R4YqTLutbp/SuY1KNTfcVVyVhG3I4Qy dP7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@brauner.io header.s=google header.b=ZtcGsIgv; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f65si19482119pff.195.2019.03.27.14.01.39; Wed, 27 Mar 2019 14:01:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@brauner.io header.s=google header.b=ZtcGsIgv; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727834AbfC0U7b (ORCPT + 99 others); Wed, 27 Mar 2019 16:59:31 -0400 Received: from mail-ed1-f68.google.com ([209.85.208.68]:34512 "EHLO mail-ed1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727140AbfC0U7b (ORCPT ); Wed, 27 Mar 2019 16:59:31 -0400 Received: by mail-ed1-f68.google.com with SMTP id x14so12677106eds.1 for ; Wed, 27 Mar 2019 13:59:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brauner.io; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=OeI4W9JlV4SVcrFa9MWmlQWcVLr0MimpAtfwIEQmS1k=; b=ZtcGsIgvnocv5H4TZ1ndzA335T9lWZoyYuKyKBzTFZmchqqkAMa9xrd0LJW/d74KIp NvsruNlYJiRnb7JNJeSI5g+4Bs2U4jhfNoJb+buVWQSN4hPx2Vzmu6La8skMD2mWtN0W Tu00fYrhS51aadbAkHJnsx6EqkR0OWe9qDCSuWOkz38JTbOWFqDc9O/MNQaQLeCfwrdV HUGqD7j5PQ74Rl3L5ZoD/YYGQTDCqeNubBvD1UHjg6Kc7kWfHx5n+i2pvvhENHzie9R7 WLtYBw8rsoixNdhKsLHGEEt2ijHV7Wq2TANurcOr2jbJA+80MJVgfFM67F1LFocWZdN4 Cmqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=OeI4W9JlV4SVcrFa9MWmlQWcVLr0MimpAtfwIEQmS1k=; b=DgAtaCoBhVf8gn8aw5HkkM0uZPlxjmObknsqZRKjSHhq2xt+/gi5Spvf9fbJtdhjSJ xqMCAWIFAE8w9gQnG+arM22+zxfVD2ubAGDUtJk4SKG0Y1qclEedI3Iu3VrAcqTh3WB5 EG9Vp9l8/QawI+PvixiRd/z+JJ/9XCYTg3xLdTVsSd943FrA1kdNruiUut8G1c7EEoLa oLcAJy6kRQXwZQ87gvYQg2NRdsar9FI/o7n8Du4o3+9irpzJbzOuWLqa8/OR1kApU961 h/aG10aER7YUIm3EwxidjIy/EzfZ1E0291L3bolOp+DnCp4Y/26N+A6oRYoBMuV5CnJR Cnyg== X-Gm-Message-State: APjAAAVxaaz+Q6W4CcWIYdISkjmrisBONEHnPANHcVn3KdfYOyqM2MuF 5evY/r2BqwijaSpezzkP4Oe0UA== X-Received: by 2002:aa7:c803:: with SMTP id a3mr15914920edt.39.1553720369528; Wed, 27 Mar 2019 13:59:29 -0700 (PDT) Received: from brauner.io ([2a02:8109:b6bf:d24a:b136:35b0:7c8c:280a]) by smtp.gmail.com with ESMTPSA id j3sm523360ejv.22.2019.03.27.13.59.25 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 27 Mar 2019 13:59:29 -0700 (PDT) Date: Wed, 27 Mar 2019 21:59:23 +0100 From: Christian Brauner To: Yann Droneaud Cc: jannh@google.com, khlebnikov@yandex-team.ru, luto@kernel.org, dhowells@redhat.com, serge@hallyn.com, ebiederm@xmission.com, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, arnd@arndb.de, keescook@chromium.org, adobriyan@gmail.com, tglx@linutronix.de, mtk.manpages@gmail.com, bl0pbl33p@gmail.com, ldv@altlinux.org, akpm@linux-foundation.org, oleg@redhat.com, nagarathnam.muthusamy@oracle.com, cyphar@cyphar.com, viro@zeniv.linux.org.uk, joel@joelfernandes.org, dancol@google.com Subject: Re: [PATCH 2/4] pid: add pidfd_open() Message-ID: <20190327205922.ajkkylqft6tp5cf7@brauner.io> References: <20190327162147.23198-1-christian@brauner.io> <20190327162147.23198-3-christian@brauner.io> <9254286c02dbe883c14e38ed2af0022d36b17355.camel@opteya.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <9254286c02dbe883c14e38ed2af0022d36b17355.camel@opteya.com> User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 27, 2019 at 06:21:24PM +0100, Yann Droneaud wrote: > Le mercredi 27 mars 2019 à 17:21 +0100, Christian Brauner a écrit : > > > diff --git a/kernel/pid.c b/kernel/pid.c > > index 20881598bdfa..c9e24e726aba 100644 > > --- a/kernel/pid.c > > +++ b/kernel/pid.c > > @@ -26,8 +26,10 @@ > > +SYSCALL_DEFINE4(pidfd_open, pid_t, pid, int, procfd, int, pidfd, > > unsigned int, > > + flags) > > +{ > > + long fd = -EINVAL; > > + > > + if (flags & ~(PIDFD_TO_PROCFD | PROCFD_TO_PIDFD)) > > + return -EINVAL; > > + > > + if (!flags) { > > + struct pid *pidfd_pid; > > + > > + if (pid <= 0) > > + return -EINVAL; > > + > > + if (procfd != -1 || pidfd != -1) > > + return -EINVAL; > > + > > + rcu_read_lock(); > > + pidfd_pid = get_pid(find_pid_ns(pid, task_active_pid_ns(current))); > > + rcu_read_unlock(); > > + > > + fd = pidfd_create_fd(pidfd_pid, O_CLOEXEC); > > + put_pid(pidfd_pid); > > + } else if (flags & PIDFD_TO_PROCFD) { > > [...] > > > + } else if (flags & PROCFD_TO_PIDFD) { > > + if (flags & ~PROCFD_TO_PIDFD) > > + return -EINVAL; > > + > > + if (pid != -1) > > + return -EINVAL; > > + > > + if (pidfd >= 0) > > > > I think it can be stricter with: > > if (pidfd != -1) Yes. > > (and match the check done for flag == 0). > > Regards. > > -- > Yann Droneaud > OPTEYA > >