2014-01-31 02:28:51

by Noah Massey

[permalink] [raw]
Subject: [PATCH] nfs: fix setting of ACLs on file creation.

From: Noah Massey <[email protected]>

nfs3_get_acl() tries to skip posix equivalent ACLs, but misinterprets
the return value of posix_acl_equiv_mode(). Fix it.

This is a regression introduced by
"nfs: use generic posix ACL infrastructure for v3 Posix ACLs"

CC: Christoph Hellwig <[email protected]>
CC: [email protected]
CC: [email protected]
---
fs/nfs/nfs3acl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
index 9a5ca03..0851f85 100644
--- a/fs/nfs/nfs3acl.c
+++ b/fs/nfs/nfs3acl.c
@@ -80,7 +80,7 @@ struct posix_acl *nfs3_get_acl(struct inode *inode, int type)
}

if (res.acl_access != NULL) {
- if (posix_acl_equiv_mode(res.acl_access, NULL) ||
+ if ((posix_acl_equiv_mode(res.acl_access, NULL) == 0) ||
res.acl_access->a_count == 0) {
posix_acl_release(res.acl_access);
res.acl_access = NULL;
--
1.8.5.3



2014-02-03 07:56:21

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] nfs: fix setting of ACLs on file creation.

On Thu, Jan 30, 2014 at 09:31:12PM -0500, Noah Massey wrote:
> From: Noah Massey <[email protected]>
>
> nfs3_get_acl() tries to skip posix equivalent ACLs, but misinterprets
> the return value of posix_acl_equiv_mode(). Fix it.
>
> This is a regression introduced by
> "nfs: use generic posix ACL infrastructure for v3 Posix ACLs"

Thanks for catching this Noah!

Reviewed-by: Christoph Hellwig <[email protected]>