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
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]>