mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
nfsd: Fix sort_pacl in fs/nfsd/nf4acl.c to actually sort groups
commit aba24d7158 upstream.
We have been doing some extensive testing of Linux support for ACLs on
NFDS v4. We have noticed that the server rejects ACLs where the groups
are out of order, for example, the following ACL is rejected:
A::OWNER@:rwaxtTcCy
A::user101@domain:rwaxtcy
A::GROUP@:rwaxtcy
A:g:group102@domain:rwaxtcy
A:g:group101@domain:rwaxtcy
A::EVERYONE@:rwaxtcy
Examining the server code, I found that after converting an NFS v4 ACL
to POSIX, sort_pacl is called to sort the user ACEs and group ACEs.
Unfortunately, a minor bug causes the group sort to be skipped.
Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
a9238ce3bb
commit
34911bf203
@@ -389,7 +389,7 @@ sort_pacl(struct posix_acl *pacl)
|
||||
sort_pacl_range(pacl, 1, i-1);
|
||||
|
||||
BUG_ON(pacl->a_entries[i].e_tag != ACL_GROUP_OBJ);
|
||||
j = i++;
|
||||
j = ++i;
|
||||
while (pacl->a_entries[j].e_tag == ACL_GROUP)
|
||||
j++;
|
||||
sort_pacl_range(pacl, i, j-1);
|
||||
|
||||
Reference in New Issue
Block a user