Thread (11 messages) 11 messages, 5 authors, 2019-07-17

Re: [PATCH v2 2/4] Add fchmodat4(), a new syscall

From: Al Viro <viro@zeniv.linux.org.uk>
Date: 2019-07-17 01:48:30
Also in: linux-alpha, linux-api, linux-arch, linux-fsdevel, linux-mips, linux-s390, linux-sh, lkml, sparclinux

On Tue, Jul 16, 2019 at 06:27:17PM -0700, Palmer Dabbelt wrote:
-int do_fchmodat(int dfd, const char __user *filename, umode_t mode)
+int do_fchmodat4(int dfd, const char __user *filename, umode_t mode, int flags)
 {
 	struct path path;
 	int error;
-	unsigned int lookup_flags = LOOKUP_FOLLOW;
+	unsigned int lookup_flags;
+
+	if (unlikely(flags & ~AT_SYMLINK_NOFOLLOW))
+		return -EINVAL;
+
+	lookup_flags = flags & AT_SYMLINK_NOFOLLOW ? 0 : LOOKUP_FOLLOW;
+
	Why not do that in sys_fchmodat4() itself, passing lookup_flags to
do_fchmodat() and updating old callers to pass it 0 as extra argument?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help