xfs
[Top] [All Lists]

Re: [PATCH v23 08/22] richacl: Compute maximum file masks from an acl

To: Frank Filz <ffilzlnx@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v23 08/22] richacl: Compute maximum file masks from an acl
From: Andreas Gruenbacher <agruenba@xxxxxxxxxx>
Date: Wed, 13 Jul 2016 14:34:31 +0200
Cc: Jeff Layton <jlayton@xxxxxxxxxx>, Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, "Theodore Ts'o" <tytso@xxxxxxx>, Andreas Dilger <adilger.kernel@xxxxxxxxx>, "J. Bruce Fields" <bfields@xxxxxxxxxxxx>, Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>, Anna Schumaker <anna.schumaker@xxxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, linux-ext4 <linux-ext4@xxxxxxxxxxxxxxx>, XFS Developers <xfs@xxxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, Linux NFS Mailing List <linux-nfs@xxxxxxxxxxxxxxx>, linux-cifs@xxxxxxxxxxxxxxx, Linux API <linux-api@xxxxxxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <014101d1d6df$e059fd20$a10df760$@mindspring.com>
References: <1467294433-3222-1-git-send-email-agruenba@xxxxxxxxxx> <1467294433-3222-9-git-send-email-agruenba@xxxxxxxxxx> <1467728537.3800.32.camel@xxxxxxxxxx> <014101d1d6df$e059fd20$a10df760$@mindspring.com>
Frank,

On Tue, Jul 5, 2016 at 7:08 PM, Frank Filz <ffilzlnx@xxxxxxxxxxxxxx> wrote:
>> > + * Note: functions like richacl_allowed_to_who(),
>> > +richacl_group_class_allowed(),
>> > + * and richacl_compute_max_masks() iterate through the entire acl in
>> > +reverse
>> > + * order as an optimization.
>> > + *
>> > + * In the standard algorithm, aces are considered in forward order.
>> > +When a
>> > + * process matches an ace, the permissions in the ace are either
>> > +allowed or
>> > + * denied depending on the ace type.  Once a permission has been
>> > +allowed or
>> > + * denied, it is no longer considered in further aces.
>> > + *
>> > + * By iterating through the acl in reverse order, we can compute the
>> > +same
>> > + * result without having to keep track of which permissions have been
>> > +allowed
>> > + * and denied already.
>> > + */
>> >
>>
>> Clever!
>
> Hmm, but does that result in examining the whole ACL for most access checks, 
> at least for files where most of the accesses are by the owner, or a member 
> of a specific group (with perhaps a ton of special case users added on the 
> end)?

I don't understand -- what does this algorithm have to do with access checks?

Thanks,
Andreas

<Prev in Thread] Current Thread [Next in Thread>