On Mon, Jan 16, 2017 at 4:46 PM, Jan Stancek <jstancek@xxxxxxxxxx> wrote: > Hi, > > we seem to have a conflict between kernel and man pages. > From utimensat man page: > > EACCES times is NULL, or both tv_nsec values are UTIME_NOW, and either: > * 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 (Linux: does not have either the CAP_FOWNER > or the CAP_DAC_OVERRIDE capability); or, > * the file is marked immutable (see chattr(1)). > > But following 2 commits gradually replaced EACCES with EPERM. > > commit 337684a1746f93ae107e05d90977b070bb7e39d8 > Author: Eryu Guan <guaneryu@xxxxxxxxx> > Date: Tue Aug 2 19:58:28 2016 +0800 > fs: return EPERM on immutable inode I agree with Eryu that consistently returning EPERM for immutable is better than sometimes returning EACCESS and sometimes EPERM. So I think the man page should be fixed. > commit f2b20f6ee842313a0d681dbbf7f87b70291a6a3b > Author: Miklos Szeredi <mszeredi@xxxxxxxxxx> > Date: Fri Sep 16 12:44:20 2016 +0200 > vfs: move permission checking into notify_change() for utimes(NULL) Actually this later commit didn't change the error value, it just moved code around. Thanks, Miklos -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html