From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tycho Andersen Subject: Re: [PATCH v8 1/2] seccomp: add a return code to trap to userspace Date: Tue, 30 Oct 2018 11:21:43 -0600 Message-ID: <20181030172143.GD7343@cisco> References: <20181029224031.29809-1-tycho@tycho.ws> <20181029224031.29809-2-tycho@tycho.ws> <20181030150254.GB3385@redhat.com> <20181030155403.GC7343@cisco> <20181030162752.GB7643@redhat.com> <20181030163926.GC7643@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20181030163926.GC7643@redhat.com> Sender: linux-kernel-owner@vger.kernel.org To: Oleg Nesterov Cc: Kees Cook , Andy Lutomirski , "Eric W . Biederman" , "Serge E . Hallyn" , Christian Brauner , Tyler Hicks , Akihiro Suda , Aleksa Sarai , linux-kernel@vger.kernel.org, containers@lists.linux-foundation.org, linux-api@vger.kernel.org List-Id: linux-api@vger.kernel.org On Tue, Oct 30, 2018 at 05:39:26PM +0100, Oleg Nesterov wrote: > On 10/30, Oleg Nesterov wrote: > > > > On 10/30, Tycho Andersen wrote: > > > > > > @@ -828,6 +823,11 @@ static int __seccomp_filter(int this_syscall, const struct seccomp_data *sd, > > > */ > > > rmb(); > > > > > > + if (!sd) { > > > + populate_seccomp_data(&sd_local); > > > + sd = &sd_local; > > > + } > > > + > > > > To me it would be more clean to remove the "if (!sd)" check, case(SECCOMP_RET_TRACE) > > in __seccomp_filter() can simply do populate_seccomp_data(&sd_local) unconditionally > > and pass &sd_local to __seccomp_filter(). > > Ah, please ignore, emulate_vsyscall() does secure_computing(NULL). > > Btw. why __seccomp_filter() doesn't return a boolean? > > Or at least, why can't case(SECCOMP_RET_TRACE) simply do > > return __seccomp_filter(this_syscall, NULL, true); > > ? Yeah, at least the second one definitely makes sense. I can add that as a patch in the next version of this series unless Kees does it before. Thanks for your help, Oleg! Tycho