Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5038471imu; Tue, 8 Jan 2019 10:23:20 -0800 (PST) X-Google-Smtp-Source: ALg8bN6E7a8TYtLZjKtGYqRvgRtoNar7OtI+DWpu2Z8uH77P/Xe0N6ElWCAjUAuEermZDDEjl/fi X-Received: by 2002:a17:902:8306:: with SMTP id bd6mr2827496plb.217.1546971800838; Tue, 08 Jan 2019 10:23:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546971800; cv=none; d=google.com; s=arc-20160816; b=Ln/LxuUbbh67Q3nl1TpREvQQWCSa7zs/Wydn2gHOUxZP7yMX4xO3HjqNWcmAx097sb x35LPtFp8ExEWtWzz0Rc5TavLA3+2F9ewJFaT7j1IZhk36a7T0Vr2WOCvLAedhIzuWYW MAXk/FZxzSVjxepuiiHUmwE/r8ONYBUIdvqbHr0zVyqApog1E93OZPsoFMrBCHEwdQ9j y3NUflB+5qg5Ss52TwhFaoLBsk/v1eWfc3wIw4bVCdLtqxbcho41fEX40m9G0CqJkPm0 iAZJbDY8NhOK7/Ad060KT1tacMBzo1vcLYnHC9Ijk+Y+5hrE2VLGYHQeX8Z3JMXt9Guk yKGw== 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-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=byBDfk6yl4Yyp+/u7TtlFRHQbuGvsSDfABcxOAjR1AY=; b=k5ddyiwsuxCX/uS3jZbTLmd1SD+j2V1Xynbi1fDLcfvpz1PoMUD2vk/2qmhVq+q0V/ Vfk8xpBvDZru4964Tepp9Yea+KW+brco79zwn9AN/B5+xgIjLoN8B36vG1AqkS1doq1p 6BjrkqsaPQ9TerqHit35g7qBzPk2FyxdorV/d/jdLQWmwpzQFs2f1CphN5jMK6SwasfT HqgOI1Q8xowYaaIH4CLLmOywvPJRv9eZo8yUwHiuGNn+bnFCp/PjzrcXQq8PU6XcJ1p4 tYttNaxigMwy8UTmnFLHBVxoZxWMAgA9L56FX9eZwBs/Q6bZA38M/y1JFLz2+7cUotB5 6g2A== ARC-Authentication-Results: i=1; mx.google.com; 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 m8si38254456pgd.555.2019.01.08.10.23.05; Tue, 08 Jan 2019 10:23:20 -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; 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 S1729461AbfAHSVw (ORCPT + 99 others); Tue, 8 Jan 2019 13:21:52 -0500 Received: from mail.hallyn.com ([178.63.66.53]:41078 "EHLO mail.hallyn.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728752AbfAHSVv (ORCPT ); Tue, 8 Jan 2019 13:21:51 -0500 Received: by mail.hallyn.com (Postfix, from userid 1001) id 0223D107D; Tue, 8 Jan 2019 12:21:49 -0600 (CST) Date: Tue, 8 Jan 2019 12:21:49 -0600 From: "Serge E. Hallyn" To: Tycho Andersen Cc: "Serge E. Hallyn" , Christian Brauner , linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, luto@kernel.org, arnd@arndb.de, keescook@chromium.org, akpm@linux-foundation.org, jannh@google.com, oleg@redhat.com, cyphar@cyphar.com, viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, dancol@google.com, timmurray@google.com, fweimer@redhat.com, tglx@linutronix.de, x86@kernel.org, ebiederm@xmission.com Subject: Re: [PATCH v7 2/2] selftests: add tests for pidfd_send_signal() Message-ID: <20190108182149.GA22762@mail.hallyn.com> References: <20190102161654.9093-1-christian@brauner.io> <20190102161654.9093-2-christian@brauner.io> <20190108175306.GF29009@cisco> <20190108175415.GA22353@mail.hallyn.com> <20190108175843.GA26016@cisco> <20190108181742.GA22614@mail.hallyn.com> <20190108182023.GA28330@cisco> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190108182023.GA28330@cisco> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 08, 2019 at 11:20:23AM -0700, Tycho Andersen wrote: > On Tue, Jan 08, 2019 at 12:17:42PM -0600, Serge E. Hallyn wrote: > > On Tue, Jan 08, 2019 at 10:58:43AM -0700, Tycho Andersen wrote: > > > On Tue, Jan 08, 2019 at 11:54:15AM -0600, Serge E. Hallyn wrote: > > > > On Tue, Jan 08, 2019 at 10:53:06AM -0700, Tycho Andersen wrote: > > > > > On Wed, Jan 02, 2019 at 05:16:54PM +0100, Christian Brauner wrote: > > > > > > + /* > > > > > > + * Stop the child so we can inspect whether we have > > > > > > + * recycled pid PID_RECYCLE. > > > > > > + */ > > > > > > + close(pipe_fds[0]); > > > > > > + ret = kill(recycled_pid, SIGSTOP); > > > > > > + close(pipe_fds[1]); > > > > > > + if (ret) { > > > > > > + (void)wait_for_pid(recycled_pid); > > > > > > + _exit(PIDFD_ERROR); > > > > > > + } > > > > > > > > > > Sorry for being late to the party, but I wonder if this whole thing > > > > > couldn't be simplified with /proc/sys/kenrel/ns_last_pid? > > > > > > > > no, bc it's not namespaced :) > > > > > > Huh? It looks like it is... > > > > > > static int pid_ns_ctl_handler(struct ctl_table *table, int write, > > > void __user *buffer, size_t *lenp, loff_t *ppos) > > > { > > > struct pid_namespace *pid_ns = task_active_pid_ns(current); > > > struct ctl_table tmp = *table; > > > int ret, next; > > > > > > if (write && !ns_capable(pid_ns->user_ns, CAP_SYS_ADMIN)) > > > return -EPERM; > > > > > > ... > > > > Oh - hah, but that's ns_last_pid. You'd want pid_max. And that one > > is not namespaced. > > Perhaps I'm misunderstanding, but isn't the point of all this code to > get the same pid again? So can't we just fork(), kill(), then set > ns_last_pid to pid-1, and fork() again to re-use? Oh yeah that would work :) I was stuck on the idea of just limiting the range of pids.