diff options
| author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2010-03-27 18:12:00 +0000 |
|---|---|---|
| committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2010-03-27 18:12:00 +0000 |
| commit | fddc12138a1512bc235a4fcb05548716e8a26d06 (patch) | |
| tree | a1570d2160ebdcb4a3399c381417925e0199def7 /sys | |
| parent | bf876fcd34eac7f46d8bea6eeaa7291ab9337b1d (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/kern/subr_acl_nfs4.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/kern/subr_acl_nfs4.c b/sys/kern/subr_acl_nfs4.c index c3f4b65cbd5f..fbd233ba7646 100644 --- a/sys/kern/subr_acl_nfs4.c +++ b/sys/kern/subr_acl_nfs4.c @@ -82,6 +82,13 @@ _access_mask_from_accmode(accmode_t accmode) access_mask |= accmode2mask[i].mask; } + /* + * VAPPEND is just a modifier for VWRITE; if the caller asked + * for 'VAPPEND | VWRITE', we want to check for ACL_APPEND_DATA only. + */ + if (access_mask & ACL_APPEND_DATA) + access_mask &= ~ACL_WRITE_DATA; + return (access_mask); } |
