From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Lutomirski Subject: Re: [PATCH] proc: allow killing processes via file descriptors Date: Sun, 18 Nov 2018 08:17:55 -0800 Message-ID: References: <20181118111751.6142-1-christian@brauner.io> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Daniel Colascione Cc: Andrew Lutomirski , Christian Brauner , "Eric W. Biederman" , LKML , "Serge E. Hallyn" , Jann Horn , Andrew Morton , Oleg Nesterov , Aleksa Sarai , Al Viro , Linux FS Devel , Linux API , Tim Murray , Kees Cook List-Id: linux-api@vger.kernel.org On Sun, Nov 18, 2018 at 7:53 AM Daniel Colascione wrote: > > On Sun, Nov 18, 2018 at 7:38 AM, Andy Lutomirski wrote: > > I fully agree that a more comprehensive, less expensive API for > > managing processes would be nice. But I also think that this patch > > (using the directory fd and ioctl) is better from a security > > perspective than using a new file in /proc. > > That's an assertion, not an argument. And I'm not opposed to an > operation on the directory FD, now that it's clear Linus has banned > "write(2)-as-a-command" APIs. I just insist that we implement the API > with a system call instead of a less-reliable ioctl due to the > inherent namespace collision issues in ioctl command names. Linus banned it because of bugs iike the ones in the patch. > > > I have an old patch to make proc directory fds pollable: > > > > https://lore.kernel.org/patchwork/patch/345098/ > > > > That patch plus the one in this thread might make a nice addition to > > the kernel even if we expect something much better to come along > > later. > > I've always commented on that patch. You never addressed my technical > objections. Why are you bringing up this patch again as if that > discussion had never happened? To review, that patch has various race > conditions I don't think I ever saw that review. > and even if it were technically correct, it'd be an abuse > of directory objects (in what other circumstance do we poll > directories?) and not logically generalizable to a model in which we > expose process exit status via the exit-monitoring API. I agree it's weird. It might be better to have /proc/PID/exit_status and make *that* pollable.