On Sat, Jan 08, 2022 at 09:08:57AM +0200, Amir Goldstein wrote: > > +#define S_KERNEL_FILE (1 << 17) /* File is in use by the kernel (eg. fs/cachefiles) */ > > Trying to brand this flag as a generic "in use by kernel" is misleading. > Modules other than cachefiles cannot set/clear this flag, because then > cachefiles won't know that it is allowed to set/clear the flag. Huh? If some other kernel module sets it, cachefiles will try to set it, see it's already set, and fail. Presumably cachefiles does not go round randomly "unusing" files that it has not previously started using. I mean, yes, obviously, it's a kernel module, it can set and clear whatever flags it likes on any inode in the system, but conceptually, it's an advisory whole-file lock.