Received: by 10.192.165.148 with SMTP id m20csp211857imm; Thu, 3 May 2018 18:24:07 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqOsZPoXz3PpU7iNfggZ70R31tXOJNortFTf7GzbiO2N0ncRDuZsvGZimnOivRIw9a+NAVy X-Received: by 2002:a63:9357:: with SMTP id w23-v6mr20430554pgm.200.1525397047542; Thu, 03 May 2018 18:24:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525397047; cv=none; d=google.com; s=arc-20160816; b=AUo97X3AEvHNA5FlVMQu2hM/B3X+RuDK9PRciSE3eHjYK1ty1Sb9hCbQilRNfS+BRN o9OlBob1VmXzrbpJ4jnULGz45ABZqwcnSXeX9IBx8dEr/UjFNpxT3dxieTxFN1oB1Ecx WbYjNXzGSQ98jl+k2amwPoACNYnMr2j24l2D6A6HjuBONZpPZKnuQhCmKxqDBkDesyip 64+cnKy8z3KloPjA9flZ26eyeglpH0y/vGq/rHPwpygIwdVriYqUbAq0HF1QzM37EnSD X7WUnAueRRydmxp8j1itFCv7tBD4lQzq5yRK6rQVkQiisz9HVAGmNjkdk2IoOsnHr8b3 wFnA== 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:dkim-signature:arc-authentication-results; bh=+S9pP2714fpPl3RN5tMzP6AazSQ81lME4Qk2Ft2KYeY=; b=eINydMrR0vBoQZOjIOrovMHL6N2NV61DqHhaEtAwe98wHDAVKsJzOqnTmx90LtsbJ7 toGHIA4v0xxcfmMgan1idPsX/vJRbcg5dpDEI3yiikGBG9c7K5Io5s6X2y3FkYAq2AK1 dzN3CjoLAzF/Su1PCxmNbCCtjg26iXzHWrVbKxMh2hEWuyaa2l5kxc8x2YQiyH3nJuGE smCHPHgU4c30gq7WBejhXntETywYhKXcSPpZDjExV/CaW3iLkbF/8VJ/NX78dXKh/7Fw nreOPsLxy92YS0RSqCiurGFy0O9N7orpTXIW6CayLD0/OcNBpzdC2p64oueARtqGUB0N aNjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WBI6OLbo; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s66si15209331pfj.164.2018.05.03.18.23.53; Thu, 03 May 2018 18:24:07 -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=pass header.i=@gmail.com header.s=20161025 header.b=WBI6OLbo; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751302AbeEDBXo (ORCPT + 99 others); Thu, 3 May 2018 21:23:44 -0400 Received: from mail-qk0-f196.google.com ([209.85.220.196]:43683 "EHLO mail-qk0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751236AbeEDBXm (ORCPT ); Thu, 3 May 2018 21:23:42 -0400 Received: by mail-qk0-f196.google.com with SMTP id h19so15491423qkj.10; Thu, 03 May 2018 18:23:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=+S9pP2714fpPl3RN5tMzP6AazSQ81lME4Qk2Ft2KYeY=; b=WBI6OLbookYUNPoIQjuQ/CUJcNBLHF5LKWQ42itrW54AmIrENfRfCeZ+ce3l8rV2iw njy0EwQjH+jAbkV4iFZcNEttVW6qP1AWhzLCcPp6j+nSc0eZbIKMIe8LuWTG/xm/EAaK yGR6rBI2O+d0NsWd0nzktjZ+VacBHWHRKW5blWtwIaaY1ZYnc6FiduQ5JXNdqEzIjqBd D3pQER91o8+D/qHrCsdoQi5lPEGHMP4LO4+ODSkI4sLdvLo8O5W9+KA6LjrB3mUd/1FM x5WrqeYiXri6x4cCTKiO1JmeyyTqTpbZjFB/VBpx2vysjt9Y1xMcYVmA01gJRXtKFPMZ SXJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=+S9pP2714fpPl3RN5tMzP6AazSQ81lME4Qk2Ft2KYeY=; b=LkDqC+opNcd8QDkrunafGk1H13E/56k4O73G7nCab9SFW8SbC8k8W7YzdRjzhEtAAn ptWoVM08mcG/yODIRTyZx0RyErAlbTDJOIJ7vOfkUUL6oFJEJ40aDWcpdWdgwwX8bYV2 /Bl+/7oInfhSJsI8Cx6vwiAWrmLnLuLS4IyPnucaB2upO3C85N4D274LTidAQbhS9t5i 7YKQ0q6uNKnV+r6AqY9+t+QrPsNsvdlpQNuvlJ4VO+IYZKevZsoF53PJ7h+df0eUDxtD 0um5UKruiIRY5MHAdIARw6SfCAQ3IUq9OPog05e2jtaKrBe2atQIzCQ3g1s0EpHClwvI 5zMg== X-Gm-Message-State: ALQs6tBZw4N/sarq8p3g+mJwINbcRlfWhVdwdd9qffTFdj/cWFhK/n8N 1yEh3kYcZc48b3x5gobh9Gs= X-Received: by 10.55.18.203 with SMTP id 72mr21452332qks.6.1525397021176; Thu, 03 May 2018 18:23:41 -0700 (PDT) Received: from bebop ([179.185.214.193]) by smtp.gmail.com with ESMTPSA id o17sm12884578qki.60.2018.05.03.18.23.37 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 03 May 2018 18:23:40 -0700 (PDT) Date: Thu, 3 May 2018 22:23:31 -0300 From: Marcos Paulo de Souza To: Christian Brauner Cc: linux-next@vger.kernel.org, "Eric W. Biederman" , Mark Rutland , Ingo Molnar , Serge Hallyn , Seth Forshee , Linux Kernel Mailing List Subject: Re: [PATCH -next] user_namespace: Replace gotos with return statements Message-ID: <20180504012328.GA4719@bebop> References: <20180419024641.24213-1-marcos.souza.org@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.3 (2018-01-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 02, 2018 at 04:12:18PM +0200, Christian Brauner wrote: > On Wed, Apr 18, 2018 at 11:46:38PM -0300, Marcos Paulo de Souza wrote: > > Found while inspecting the code that handles the setgroups procfs file. > > This is not really improving anything so I unfortunately don't really > see why we should take this. Sorry for the late reply. My idea was to make the code more straightforward, never happened to me this would led to a worse code being generated. So, please discard the patch. Thanks, > > Christian > > > > > Signed-off-by: Marcos Paulo de Souza > > --- > > Tested locally setting up a new userns, and setting setgroups as deny and allow, > > worked as before. > > > > kernel/user_namespace.c | 20 +++++++------------- > > 1 file changed, 7 insertions(+), 13 deletions(-) > > > > diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c > > index 246d4d4ce5c7..64a01254ac6b 100644 > > --- a/kernel/user_namespace.c > > +++ b/kernel/user_namespace.c > > @@ -1142,22 +1142,18 @@ ssize_t proc_setgroups_write(struct file *file, const char __user *buf, > > struct user_namespace *ns = seq->private; > > char kbuf[8], *pos; > > bool setgroups_allowed; > > - ssize_t ret; > > > > /* Only allow a very narrow range of strings to be written */ > > - ret = -EINVAL; > > if ((*ppos != 0) || (count >= sizeof(kbuf))) > > - goto out; > > + return -EINVAL; > > > > /* What was written? */ > > - ret = -EFAULT; > > if (copy_from_user(kbuf, buf, count)) > > - goto out; > > + return -EFAULT; > > kbuf[count] = '\0'; > > pos = kbuf; > > > > /* What is being requested? */ > > - ret = -EINVAL; > > if (strncmp(pos, "allow", 5) == 0) { > > pos += 5; > > setgroups_allowed = true; > > @@ -1167,14 +1163,13 @@ ssize_t proc_setgroups_write(struct file *file, const char __user *buf, > > setgroups_allowed = false; > > } > > else > > - goto out; > > + return -EINVAL; > > > > /* Verify there is not trailing junk on the line */ > > pos = skip_spaces(pos); > > if (*pos != '\0') > > - goto out; > > + return -EINVAL; > > > > - ret = -EPERM; > > mutex_lock(&userns_state_mutex); > > if (setgroups_allowed) { > > /* Enabling setgroups after setgroups has been disabled > > @@ -1194,12 +1189,11 @@ ssize_t proc_setgroups_write(struct file *file, const char __user *buf, > > > > /* Report a successful write */ > > *ppos = count; > > - ret = count; > > -out: > > - return ret; > > + return count; > > + > > out_unlock: > > mutex_unlock(&userns_state_mutex); > > - goto out; > > + return -EPERM; > > } > > > > bool userns_may_setgroups(const struct user_namespace *ns) > > -- > > 2.14.3 > > -- Thanks, Marcos