According to man utimensat(2), EACCES should be returned if the file is
immutable and time values are null or UTIME_NOW. Testcase is
utimesat01/LTP.

Signed-off-by: Myungho Jung <mhju...@gmail.com>
---
 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

Reply via email to