From 1083ffb4cb2221ef591dd3529f479031412adf17 Mon Sep 17 00:00:00 2001 From: Goldwyn Rodrigues Date: Mon, 5 Jun 2017 09:18:27 -0500 Subject: [PATCH] utimensat: Immutable flag returns EPERM Linux kernel commit 337684a1746f "fs: return EPERM on immutable inode" changed (nd unified the return value of the utimensat(2) from -EACCES to -EPERM in case of an immutable flag. Modify the man page to reflect the same. The entire discussion of returning the correct return value is at: http://lists.linux.it/pipermail/ltp/2017-January/003424.html [mtk: The change was in Linux 4.8] Signed-off-by: Goldwyn Rodrigues Signed-off-by: Michael Kerrisk --- man2/utimensat.2 | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/man2/utimensat.2 b/man2/utimensat.2 index d61b43e96..06c0f3d03 100644 --- a/man2/utimensat.2 +++ b/man2/utimensat.2 @@ -238,10 +238,7 @@ or both .I tv_nsec values are .BR UTIME_NOW , -and either: -.RS -.IP * 3 -the effective user ID of the caller does not match +and the effective user ID of the caller does not match the owner of the file, the caller does not have write access to the file, and the caller is not privileged @@ -249,7 +246,7 @@ and the caller is not privileged .B CAP_FOWNER or the .B CAP_DAC_OVERRIDE -capability); or, +capability). .\" But Linux 2.6.22 was broken here. .\" Traditionally, utime()/utimes() gives the error EACCES for the case .\" where the timestamp pointer argument is NULL (i.e., set both timestamps @@ -271,9 +268,6 @@ capability); or, .\" and the permissions of the directory to which .\" .I fd .\" refers do not allow searches. -.IP * -the file is marked immutable (see -.BR chattr (1)). .\" EXT2_IMMUTABLE_FL and similar flags for other filesystems. .RE .TP