nfsd4: fix corruption on setting an ACL.
As of 06f9cc12ca
"nfsd4: don't create
unnecessary mask acl", any non-trivial ACL will be left with an
unitialized entry, and a trivial ACL may write one entry beyond what's
allocated.
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
Родитель
aa07c713ec
Коммит
5513a510fa
|
@ -590,7 +590,7 @@ posix_state_to_acl(struct posix_acl_state *state, unsigned int flags)
|
|||
add_to_mask(state, &state->groups->aces[i].perms);
|
||||
}
|
||||
|
||||
if (!state->users->n && !state->groups->n) {
|
||||
if (state->users->n || state->groups->n) {
|
||||
pace++;
|
||||
pace->e_tag = ACL_MASK;
|
||||
low_mode_from_nfs4(state->mask.allow, &pace->e_perm, flags);
|
||||
|
|
Загрузка…
Ссылка в новой задаче