Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp2415594pxu; Fri, 18 Dec 2020 12:42:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJwVL8ptL6dBTCpigxcNLqIrW7/lde5WHvQ8LRbTfbfFuRFghG1w79+fMlMmy7kC/88zVIZx X-Received: by 2002:a17:906:32d6:: with SMTP id k22mr5801755ejk.457.1608324149086; Fri, 18 Dec 2020 12:42:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608324149; cv=none; d=google.com; s=arc-20160816; b=vUqD9D6uK3qoGl/Jltuq6OOR9wpq4orHDrLeJqPalKC4yBxzL1+l4qGSSEJBNIEehM mOzjVW2Y/73z0lBzHIJ7k1ZKcnN0kr20taKr1/rEmWSGri0KrWQYR5TR8QK+Gcee+HrO KcC432p0ouQQZu8pa9HXvTpZW8rgLZT4BjA3EDyEn1oRoJ/NNrK17qmTAO4NNBjcPSED wuj8496PXIkyVt/b0PuNQaQiGyPbxi6lmOqX5kOGoTooxOBjF6uJTzUKIwc8XrvRKpkJ FxnfFvfRPcjXEyM8hoh7/7uHnfocA/haOfv0h+3E6AU2fdCAGl1J28dqks39DFqUyicN KvTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=Z7jR72gvgMysEEXgqv4JPyd7bohxMk2wY0hLM59Aeus=; b=xk1wB70qmBeh5JRGe7dRhTUX0I/h44vV4pMdQWy3y5O1bhjeQGCW6X/ZEa8imaXchs dzFUp+QAB3+O/IfYbjlbWD6aiY4J++ZtaTao1XXIDxEh+t/8afB7yENIa1/PppT+qFNa Rt+0lB9OPYbA5PdWM272zwIaLtVB6CtFaeX+m4bfKWzMkBVAIirkpNTRpyRhi/UExLWy 7PKTsvo+PQYEnyqJYFLhBC/I/s7sAm+WYwNw/suXQ7+jUtpPpLliE4ZimQpuP+rXjTVI GymO33UPMpG5/KBNMxJHogcLhgv51oKYOp0gfDZAFQ+Ssjoj6XTfo3r7o0RR9UGOXAI5 58Uw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=FbdHY15z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id n11si4957670eja.511.2020.12.18.12.42.06; Fri, 18 Dec 2020 12:42:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=FbdHY15z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1726187AbgLRSky (ORCPT + 99 others); Fri, 18 Dec 2020 13:40:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42150 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726059AbgLRSkx (ORCPT ); Fri, 18 Dec 2020 13:40:53 -0500 Received: from mail-yb1-xb33.google.com (mail-yb1-xb33.google.com [IPv6:2607:f8b0:4864:20::b33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67FBBC0617A7; Fri, 18 Dec 2020 10:40:13 -0800 (PST) Received: by mail-yb1-xb33.google.com with SMTP id x2so2756325ybt.11; Fri, 18 Dec 2020 10:40:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Z7jR72gvgMysEEXgqv4JPyd7bohxMk2wY0hLM59Aeus=; b=FbdHY15z3Rb6j6g4JE9QsSsUHjp04iGmeSA2XUtD/zSlOrxzA0WTS085aKrkesD2cM k1xONlEUTEHBpPOitWhRhFLKgFsd94UpbK1/tLqafJnk/Qam1eErX9UpCnMDR0fQA7nR DtRFjRL3HuYlImSZoTInMYeMtOD8tMo48iBdK4OlHV3gF9fZ/iRw/kVm2ZAVYD1IXRI5 YLv8VIxudez75O9+1zj8Txu7pV4lTJvqqyD6LgeakopuhoygseBTHuYAklUQcYkBIXfT GRS777gR4TEHQvfsqaKlFV3SBgA7jxYg5R43klgLl7Sljif0Ix/J2cMsdYEO1RBHseLk m2IA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Z7jR72gvgMysEEXgqv4JPyd7bohxMk2wY0hLM59Aeus=; b=aQIwFM0B44phLrw6f4h1lVtbCZ9GwnlWfps30rSrF6Ug8r86/3VpvT/kuQw1hbYL9e vEBBdIB8ASDf5PKaJt+yG7hlSN6w6tf0vnGjUwrtB8MIRrhMahNshropeO5D6DVdFNV1 b9fGgb+ENtbDdmC/EfAQCY9zEmqRYOr0b6K/hosOjpxZNRQJKOFndgMVJCar72vABkse Wq4djUrwb2floxHM/p9HElY3kdN8zOgmJsEfI/6mtZoiVJPk6q15ccshke4opwdW9CI4 0pXn2Gtrr3+TtZzO4p5m6kQCiQaIshm5NpHKt+ILkr2KPK3UTXESQPjTMQA/ZATimw0p SxrA== X-Gm-Message-State: AOAM533UJRteSsabW5ZDJ8Y30F0cW4D0mfheM43KW3NtMmhQzbwbeEK8 7c2Z5slCyWvdSv8Jsz5tpxb/RsncBnwtHlgM5kk= X-Received: by 2002:a05:6902:602:: with SMTP id d2mr7418313ybt.205.1608316812748; Fri, 18 Dec 2020 10:40:12 -0800 (PST) MIME-Version: 1.0 References: <20201027204226.26906-1-pboris@amazon.com> <20201217205808.14756-1-pboris@amazon.com> In-Reply-To: From: Boris Protopopov Date: Fri, 18 Dec 2020 13:40:01 -0500 Message-ID: Subject: Re: [PATCH 2/2] Add SMB 2 support for getting and setting SACLs To: Shyam Prasad N Cc: Boris Protopopov , Steven French , CIFS , samba-technical , LKML , samjonas@amazon.com Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org No objections on my part as far as adding 'if (info & SACL_SECINFO) return'. I had originally those flags sent from the caller, but that was confusing at the top level (e.g. in cifsacl.c), so I have opted to passing only "extra" flags ("additional" was already taken). ------------- ... > > --- a/fs/cifs/smb2ops.c > > +++ b/fs/cifs/smb2ops.c > > @@ -3315,9 +3315,9 @@ get_smb2_acl(struct cifs_sb_info *cifs_sb, > > struct cifs_ntsd *pntsd = NULL; > > struct cifsFileInfo *open_file = NULL; > > > > - if (inode) > > + if (inode && !(info & SACL_SECINFO)) > > open_file = find_readable_file(CIFS_I(inode), true); > > - if (!open_file) > > + if (!open_file || (info & SACL_SECINFO)) > > return get_smb2_acl_by_path(cifs_sb, path, pacllen, info); > > > > pntsd = get_smb2_acl_by_fid(cifs_sb, &open_file->fid, pacllen, info); > Why not have an if (info & SACL_SECINFO) return > get_smb2_acl_by_path... right at the beginning? > Looks cleaner that way IMO. > ... > > diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c > > index 0aeb63694306..b207e1eb6803 100644 > > --- a/fs/cifs/smb2pdu.c > > +++ b/fs/cifs/smb2pdu.c > > @@ -3472,8 +3472,10 @@ SMB311_posix_query_info(const unsigned int xid, struct cifs_tcon *tcon, > > int > > SMB2_query_acl(const unsigned int xid, struct cifs_tcon *tcon, > > u64 persistent_fid, u64 volatile_fid, > > - void **data, u32 *plen, u32 additional_info) > > + void **data, u32 *plen, u32 extra_info) > > { > > + __u32 additional_info = OWNER_SECINFO | GROUP_SECINFO | DACL_SECINFO | > > + extra_info; > I still prefer having these flags set by the caller. That way, the > caller has the flexibility to query only the subset needed. > -- > -Shyam