[PATCH] fs: fix utimensat to return correct error code

From: Myungho Jung
Date: Tue May 16 2017 - 20:29:12 EST


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 <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