According to man utimensat(2), EACCES should be returned if the file is immutable and time values are null or UTIME_NOW. This is found by utimesat01 testcase of LTP. Signed-off-by: Myungho Jung <mhjungk@xxxxxxxxx> --- fs/attr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/attr.c b/fs/attr.c index 1353041..4c06aae 100644 --- a/fs/attr.c +++ b/fs/attr.c @@ -222,7 +222,7 @@ int notify_change(struct dentry * dentry, struct iattr * attr, struct inode **de */ if (ia_valid & ATTR_TOUCH) { if (IS_IMMUTABLE(inode)) - return -EPERM; + return -EACCES; if (!inode_owner_or_capable(inode)) { error = inode_permission(inode, MAY_WRITE); -- 2.7.4