Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp3879495ybl; Fri, 20 Dec 2019 17:47:12 -0800 (PST) X-Google-Smtp-Source: APXvYqwpLym+D9DIo1A7d1z6eTt6RLjj5NAdRmSwC4Cy1hgcqQ/dJY8hUNvHNK199Lz9QixFRdn5 X-Received: by 2002:a9d:2c68:: with SMTP id f95mr18489964otb.33.1576892832054; Fri, 20 Dec 2019 17:47:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576892832; cv=none; d=google.com; s=arc-20160816; b=Of1Y2U/TLuSS+dCdumfdFIEHFLPD4IKiwUQXkQASypp8BcxHJ052UzdizUrnfWeErO C31KJqoSjpqeCFcAbentmNQcd5Kkv47nOoCSB4Qm3T0+swmu2Z8FlQxnoqHcCWmefEeY hoNpo9wVNLVGsCXGKZU8uyRLQwcmXpsFDLSFj7SJ3I1fI0p3lM6d4UHjFwwyX83qBehl o0f6R9KGLvz6sYQNNruGjrfr8Ww4ZtJA8tpu0nqt5pE/FQLvGd8n3XAXpLFDoN4j9rSf P2mw0K432CYPoYjp6hs/Jipf7iwUZQqg2gCFRntQH5o9nrnuhC79RRWPFcBlL8JaNOGM fNcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=e12Mnu5DiWBdZFxNKin4JTRmUKOLU+wR6ztAL37zhAQ=; b=IRmFXEmwDucVZ5HPk+Y6NqQPGF+ZBq28HnehISH728E9RTsTVpqP52YdcIlcC3Jgxz POQMu+mAi9kpME6iUgW/5W+fSsn2aV64nCfIgIC0ceBO7vdTRnKad8wWPcBADT7YJ0HM bRntDzOjj7pGehkG06gzPxynTogciTgDDlHcykYC1DKioE+Efl+ZDHTOp04Pzda/0kg9 cuvkEhShNLk/i622IY65Ycsx/uHUN1YXD5qetocHBhANIRO1FO7bNUvsCOblBUVEILNP h9EfLSrXp1QoXyUiy3z0udR2fqyhiF4qI8xVtpder7obSaJgFMXgZ+MLg+AZbULNh46o ipbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sargun.me header.s=google header.b=LTNBj34a; 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 98si3079962oty.60.2019.12.20.17.46.59; Fri, 20 Dec 2019 17:47:12 -0800 (PST) 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=@sargun.me header.s=google header.b=LTNBj34a; 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 S1726672AbfLUBqN (ORCPT + 99 others); Fri, 20 Dec 2019 20:46:13 -0500 Received: from mail-ed1-f65.google.com ([209.85.208.65]:35085 "EHLO mail-ed1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726613AbfLUBqM (ORCPT ); Fri, 20 Dec 2019 20:46:12 -0500 Received: by mail-ed1-f65.google.com with SMTP id f8so10317594edv.2 for ; Fri, 20 Dec 2019 17:46:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sargun.me; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=e12Mnu5DiWBdZFxNKin4JTRmUKOLU+wR6ztAL37zhAQ=; b=LTNBj34a/5X3efwYU6hSdfbjHgGkwrDz3BppIDQzVdomaBcPJYPjji/5CWcuX5eiuK nRtByNprFnPdf5vqKaOTpOXOo0r1yi89jhIVZ5tvRlCRIqmSzPUAoDg7I7HGa239Azzh yAiO/3eRLlEmi90xDuUgTzfU6okfFdGuZxqqs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=e12Mnu5DiWBdZFxNKin4JTRmUKOLU+wR6ztAL37zhAQ=; b=ikVs1zWc34ki9gftJKmluBnME2tYAJUN1IOoGgfXRiyUCYrtGb0wrcOWgZe+2B2U7b tVgPEaIySUEmSt6qPHPjKcLbg/sCSFPcNYtmqmmQPRBaW30Ea1Qk0gqG0t/R5zz+T3Au LqyBTus7592bJB3bQsZndO36TAt8m+KL+7+3N2LJC4ARv69qGmxu+mSueTk4ZgtzcKE6 pXawcW1nP85bbXXnepyejFXSViosay3QlQCntYkbgGnCpYYHgUanBNRupsbjfhSCTPQ0 Z3+njENxEI0XE2SwNSfzzswCg4X+vfRXURPBdN3G15Ic7MUQscNG3bDdEHyAgwKpkRcY frJA== X-Gm-Message-State: APjAAAWVWWt++8rploeg5D522NWxc5Wy4H4Ij4lE5DED8o2lI+ib8G15 Qx2Y/FxxLAnsMeoxHI+8BApayoke3dqENpVJHfu+4g== X-Received: by 2002:a50:cc08:: with SMTP id m8mr19431615edi.263.1576892770667; Fri, 20 Dec 2019 17:46:10 -0800 (PST) MIME-Version: 1.0 References: <20191220232810.GA20233@ircssh-2.c.rugged-nimbus-611.internal> <20191221002734.7rz6lcdrshrrlnqf@yavin.dot.cyphar.com> In-Reply-To: <20191221002734.7rz6lcdrshrrlnqf@yavin.dot.cyphar.com> From: Sargun Dhillon Date: Fri, 20 Dec 2019 17:45:34 -0800 Message-ID: Subject: Re: [PATCH v5 2/3] pid: Introduce pidfd_getfd syscall To: Aleksa Sarai Cc: LKML , Linux Containers , Linux API , Linux FS-devel Mailing List , =?UTF-8?Q?Emilio_Cobos_=C3=81lvarez?= , Arnd Bergmann , Jann Horn , Gian-Carlo Pascutto , Jed Davis , Oleg Nesterov , Andy Lutomirski , Al Viro , Christian Brauner Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 20, 2019 at 4:27 PM Aleksa Sarai wrote: > > On 2019-12-20, Sargun Dhillon wrote: > > diff --git a/include/uapi/linux/pidfd.h b/include/uapi/linux/pidfd.h > > new file mode 100644 > > index 000000000000..0a3fc922661d > > --- /dev/null > > +++ b/include/uapi/linux/pidfd.h > > @@ -0,0 +1,10 @@ > > +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ > > +#ifndef _UAPI_LINUX_PIDFD_H > > +#define _UAPI_LINUX_PIDFD_H > > + > > +struct pidfd_getfd_options {}; > > Are empty structs well-defined in C (from memory, some compilers make > them non-zero in size)? Since we probably plan to add a flags field in > the future anyway, why not just have a __u64 flags which must be zeroed? > It's allowed in GCC: https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Empty-Structures.html I can add an __aligned_u64 flags for now, and just say something like "reserved". This will also solve the latter issue, and I'll just use copy_struct_from_user, as long as Christian is okay with having an unused (reserved) flag member. > > + f = fdget(pidfd); > > + if (!f.file) > > + return -EBADF; > > + > > + pid = pidfd_pid(f.file); > > + if (IS_ERR(pid)) { > > + ret = PTR_ERR(pid); > > + goto out; > > + } > > + > > + ret = pidfd_getfd(pid, fd); > > + > > +out: > > + fdput(f); > > + return ret; > > +} > > -- > > 2.20.1 > > -- > Aleksa Sarai > Senior Software Engineer (Containers) > SUSE Linux GmbH >