diff mbox

[RFC,v7,25/41] richacl: Isolate the owner and group classes

Message ID 1443180341-22911-1-git-send-email-agruenba@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Andreas Gruenbacher Sept. 25, 2015, 11:25 a.m. UTC
Here is another minor improvement that produces deny aces with fewer
permissions in them and avoids creating unnecessary deny aces in some
cases.

Andreas

---
 fs/richacl_compat.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

J. Bruce Fields Sept. 25, 2015, 8:17 p.m. UTC | #1
On Fri, Sep 25, 2015 at 01:25:41PM +0200, Andreas Gruenbacher wrote:
> Here is another minor improvement that produces deny aces with fewer
> permissions in them and avoids creating unnecessary deny aces in some
> cases.

Looks good.--b.

> 
> Andreas
> 
> ---
>  fs/richacl_compat.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/richacl_compat.c b/fs/richacl_compat.c
> index 2f53394..bc0bcfe 100644
> --- a/fs/richacl_compat.c
> +++ b/fs/richacl_compat.c
> @@ -605,14 +605,13 @@ __richacl_isolate_who(struct richacl_alloc *alloc, struct richace *who,
>  	int n;
>  
>  	/*
> -	 * Compute the permissions already denied to @who.  There are no
> +	 * Compute the permissions already defined for @who.  There are no
>  	 * everyone@ deny aces left in the acl at this stage.
>  	 */
>  	richacl_for_each_entry(ace, acl) {
>  		if (richace_is_inherit_only(ace))
>  			continue;
> -		if (richace_is_same_identifier(acl, ace, who) &&
> -		    richace_is_deny(ace))
> +		if (richace_is_same_identifier(acl, ace, who))
>  			deny &= ~ace->e_mask;
>  	}
>  	if (!deny)
> -- 
> 2.4.3
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/richacl_compat.c b/fs/richacl_compat.c
index 2f53394..bc0bcfe 100644
--- a/fs/richacl_compat.c
+++ b/fs/richacl_compat.c
@@ -605,14 +605,13 @@  __richacl_isolate_who(struct richacl_alloc *alloc, struct richace *who,
 	int n;
 
 	/*
-	 * Compute the permissions already denied to @who.  There are no
+	 * Compute the permissions already defined for @who.  There are no
 	 * everyone@ deny aces left in the acl at this stage.
 	 */
 	richacl_for_each_entry(ace, acl) {
 		if (richace_is_inherit_only(ace))
 			continue;
-		if (richace_is_same_identifier(acl, ace, who) &&
-		    richace_is_deny(ace))
+		if (richace_is_same_identifier(acl, ace, who))
 			deny &= ~ace->e_mask;
 	}
 	if (!deny)