Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp843595yba; Thu, 18 Apr 2019 10:28:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqweukvysYarvKIsxOhtwA3s9RWO9XXZeNoOOJzo/tE7M5DfebELhVbn6aXGCbwI+sthLbPe X-Received: by 2002:a17:902:441:: with SMTP id 59mr22699302ple.242.1555608495969; Thu, 18 Apr 2019 10:28:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555608495; cv=none; d=google.com; s=arc-20160816; b=eDRE7FLS56mpnfRAo5mCWRRrn3YVrnmaNgwjqNF/TIN9oASfcU0RUnWdotwUTqEhIc X0iiy/V35sPjp9LIGWuolXjpcplY6o15SucZq13VkJo+K+tHYlfaJqy4y/ahH/uyHjkl RJK0XBE3QmsudMWSUeC48s7T30O7s3/wIyp82TjR5ciIxfYq0K/GXpV5QN41gvDOI/DC HYYmxQ7lhcn+m62TFgAuiH+Y7lSU5YJr3Fc6fa24P7Z1y/LE33f2sFQtCepDNblIa/HL Uy1yWNnO/ILuWPum4enMIT5mt83+I3z/tdZU2XEvvbJeDwvIksC+A7zgVnqh7G1sK/aM q3mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:from:cc:to:subject :content-transfer-encoding:mime-version:references:in-reply-to :user-agent:date:dkim-signature; bh=NNIz2rWXRFeMJNEEzz8NY8UQcGyCTKeyrd+3gfsfP1w=; b=P0YTmqo2LpIXjIZnQI9pnqgIvc5wjh2nGoTw0cGcyolQw9ziv2YipLc311pbFRt7AW fNycDgi4ldc6ziO5p/b4O4iw9ASKM8pSh9RrKzM9WImYsvz4kT2A3xFYUs4EGWrcOjDc 6PY4XPCrE1ilTQEJnwVZWS92KJZn7GARvrIjApX3dYzoW8DvoMRNxvnz+qr/P/VXQHU0 K/O4Ukj4DEmyB1WlQsNH+S5HLnxHhZEyGzOVtXWKDfvo9xGplKegJmqyUyyysQwmfcBc IXUKMNHXY9Flx72ymJxCXzgt3GiVjWb/iqU0R5E3leDHVzMfUSmFSqvS+WQvVsokCgmH CVMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@brauner.io header.s=google header.b=c2fGamRC; 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 a73si2406102pge.358.2019.04.18.10.28.00; Thu, 18 Apr 2019 10:28:15 -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=fail header.i=@brauner.io header.s=google header.b=c2fGamRC; 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 S2389912AbfDRR0w (ORCPT + 99 others); Thu, 18 Apr 2019 13:26:52 -0400 Received: from mail-ed1-f66.google.com ([209.85.208.66]:46371 "EHLO mail-ed1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389767AbfDRR0u (ORCPT ); Thu, 18 Apr 2019 13:26:50 -0400 Received: by mail-ed1-f66.google.com with SMTP id d1so2415985edd.13 for ; Thu, 18 Apr 2019 10:26:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brauner.io; s=google; h=date:user-agent:in-reply-to:references:mime-version :content-transfer-encoding:subject:to:cc:from:message-id; bh=NNIz2rWXRFeMJNEEzz8NY8UQcGyCTKeyrd+3gfsfP1w=; b=c2fGamRCT/B1XrBkr+lT3cq1C78QuynaAiO3bygxnEa6bev81gMj3SiTJ3fFEm+vkM xSQsLDp+wXrT1IDHICdlY6lSpOZrvDyRB3zzBFRsnLbcQ0pTxmvK00XRpfOtr4i6vZgN SDzByNNsJqWhAbWDYI9vzM4TTY0t66PJS3AsKjdYXAWxjTCv/SQ/wToNu6Vr/VVQhXZ8 nUgMUsOE4RF4+wTmFhbPz8pYpwwR+f3kczcmL7wUFGkHBmStro4n1qfqDqWSzdkYbVh8 jXjwrUGBsW8/hiKugciMvjTz4gzJPy2tXM57EU8sZAPW8xle7VcUhLMCiXBAYhSk7gWo BvoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:user-agent:in-reply-to:references :mime-version:content-transfer-encoding:subject:to:cc:from :message-id; bh=NNIz2rWXRFeMJNEEzz8NY8UQcGyCTKeyrd+3gfsfP1w=; b=DYWwGXJWK2CLlVw1otpYfZy/i2eoumzM4J47YyhXxn5oue/qXjYZrw4aMr2jsPcEJ1 25KKHeupkVmT30iZS4wwglIPurGCs5WnxzwCZyveghfaWVxBfTUne0Z2tdBeUzlkD4Sg Yaw9kOp6pHYKvDI7IqKYXU9aHTrTpTEW+hmKVv0aQMrGdTaQ6yXklYOGhZiOMbBmXv9b VgvMbc5sXl0uGg2H+CND+sTxkMatBA78IubVlS+0t67RYmYLiHvK6ptFayJ77d2p8EIz 4fC38mf+qy18DIVyZ8COF0KdaLbfzADO6cMSJyEeXy34Y2bBNy2iXtPXjP4mvo70W5LV Brww== X-Gm-Message-State: APjAAAXjc3VQ4/hXdWqnL83F/dA2aREGpMk8hpl9MOvNTq9ekYa01Ou0 EWCtCrKOHMXixj/7KHG6AITHKw== X-Received: by 2002:a17:906:c793:: with SMTP id cw19mr51621145ejb.86.1555608409096; Thu, 18 Apr 2019 10:26:49 -0700 (PDT) Received: from HUAWEI-nova-2-351a175292c.fritz.box ([212.91.227.56]) by smtp.gmail.com with ESMTPSA id z3sm484874eja.32.2019.04.18.10.26.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Apr 2019 10:26:48 -0700 (PDT) Date: Thu, 18 Apr 2019 19:26:44 +0200 User-Agent: K-9 Mail for Android In-Reply-To: References: <20190411175043.31207-1-joel@joelfernandes.org> <20190416120430.GA15437@redhat.com> <20190416192051.GA184889@google.com> <20190417130940.GC32622@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH RFC 1/2] Add polling support to pidfd To: Jann Horn , Oleg Nesterov , Joel Fernandes , Florian Weimer CC: kernel list , Andy Lutomirski , Steven Rostedt , Daniel Colascione , Suren Baghdasaryan , Linus Torvalds , Alexey Dobriyan , Al Viro , Andrei Vagin , Andrew Morton , Arnd Bergmann , "Eric W. Biederman" , Kees Cook , linux-fsdevel , linux-kselftest@vger.kernel.org, Michal Hocko , Nadav Amit , Serge Hallyn , Shuah Khan , Stephen Rothwell , Taehee Yoo , Tejun Heo , Thomas Gleixner , kernel-team , Tycho Andersen From: Christian Brauner Message-ID: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On April 18, 2019 7:23:38 PM GMT+02:00, Jann Horn wrot= e: >On Wed, Apr 17, 2019 at 3:09 PM Oleg Nesterov wrote: >> On 04/16, Joel Fernandes wrote: >> > On Tue, Apr 16, 2019 at 02:04:31PM +0200, Oleg Nesterov wrote: >> > > >> > > Could you explain when it should return POLLIN? When the whole >process exits? >> > >> > It returns POLLIN when the task is dead or doesn't exist anymore, >or when it >> > is in a zombie state and there's no other thread in the thread >group=2E >> >> IOW, when the whole thread group exits, so it can't be used to >monitor sub-threads=2E >> >> just in case=2E=2E=2E speaking of this patch it doesn't modify >proc_tid_base_operations, >> so you can't poll("/proc/sub-thread-tid") anyway, but iiuc you are >going to use >> the anonymous file returned by CLONE_PIDFD ? > >I don't think procfs works that way=2E /proc/sub-thread-tid has >proc_tgid_base_operations despite not being a thread group leader=2E >(Yes, that's kinda weird=2E) AFAICS the WARN_ON_ONCE() in this code can >be hit trivially, and then the code will misbehave=2E > >@Joel: I think you'll have to either rewrite this to explicitly bail >out if you're dealing with a thread group leader, or make the code >work for threads, too=2E The latter case probably being preferred if this API is supposed to be use= able for thread management in userspace=2E