vfscore defines a VAPPEND mode bit which is only used in
sys_utimensat() and which erroneously overlaps with VEXEC permission
for the group. While VAPPEND is a useful feature, it needs a proper
definition and support in all vfscore APIs. We thus remove the
broken definition for now.
Signed-off-by: Marc Rittinghaus <marc.rittinghaus@unikraft.io>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Reviewed-by: Rares Miculescu <miculescur@gmail.com>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #865
/*
* Modes.
*/
-#define VAPPEND 00010
#define VREAD 00004 /* read, write, execute permissions */
#define VWRITE 00002
#define VEXEC 00001
if (vn_access(dp->d_vnode, VWRITE)) {
return EACCES;
}
- if (times &&
- (times[0].tv_nsec != UTIME_NOW || times[1].tv_nsec != UTIME_NOW) &&
- (times[0].tv_nsec != UTIME_OMIT || times[1].tv_nsec != UTIME_OMIT) &&
- (!(dp->d_vnode->v_mode & ~VAPPEND)))
- return EPERM;
error = vn_settimes(dp->d_vnode, timespec_times);
}