[vfs:mount-reordered 10/38] fs/namespace.c:3140:14: error: 'MOVE_MOUNT_F_SYMLINKS' undeclared; did you mean 'MOVE_MOUNT__MASK'?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git mount-reordered
head:   3a5f2189bf8730d87d69f33b0f015857f8369c85
commit: 53510f9ba9c45e59b91895216e85852d4e72605d [10/38] [RFC] fs: Add a move_mount() system call
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        git checkout 53510f9ba9c45e59b91895216e85852d4e72605d
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: the vfs/mount-reordered HEAD 3a5f2189bf8730d87d69f33b0f015857f8369c85 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   fs/namespace.c: In function '__do_sys_move_mount':
   fs/namespace.c:3132:15: error: 'MOVE_MOUNT__MASK' undeclared (first use in this function); did you mean 'MS_RMT_MASK'?
     if (flags & ~MOVE_MOUNT__MASK)
                  ^~~~~~~~~~~~~~~~
                  MS_RMT_MASK
   fs/namespace.c:3132:15: note: each undeclared identifier is reported only once for each function it appears in
>> fs/namespace.c:3140:14: error: 'MOVE_MOUNT_F_SYMLINKS' undeclared (first use in this function); did you mean 'MOVE_MOUNT__MASK'?
     if (flags & MOVE_MOUNT_F_SYMLINKS) lflags |= LOOKUP_FOLLOW;
                 ^~~~~~~~~~~~~~~~~~~~~
                 MOVE_MOUNT__MASK
>> fs/namespace.c:3141:14: error: 'MOVE_MOUNT_F_AUTOMOUNTS' undeclared (first use in this function); did you mean 'MOVE_MOUNT_F_SYMLINKS'?
     if (flags & MOVE_MOUNT_F_AUTOMOUNTS) lflags |= LOOKUP_AUTOMOUNT;
                 ^~~~~~~~~~~~~~~~~~~~~~~
                 MOVE_MOUNT_F_SYMLINKS
>> fs/namespace.c:3142:14: error: 'MOVE_MOUNT_F_EMPTY_PATH' undeclared (first use in this function); did you mean 'MOVE_MOUNT_F_AUTOMOUNTS'?
     if (flags & MOVE_MOUNT_F_EMPTY_PATH) lflags |= LOOKUP_EMPTY;
                 ^~~~~~~~~~~~~~~~~~~~~~~
                 MOVE_MOUNT_F_AUTOMOUNTS
>> fs/namespace.c:3149:14: error: 'MOVE_MOUNT_T_SYMLINKS' undeclared (first use in this function); did you mean 'MOVE_MOUNT_F_SYMLINKS'?
     if (flags & MOVE_MOUNT_T_SYMLINKS) lflags |= LOOKUP_FOLLOW;
                 ^~~~~~~~~~~~~~~~~~~~~
                 MOVE_MOUNT_F_SYMLINKS
>> fs/namespace.c:3150:14: error: 'MOVE_MOUNT_T_AUTOMOUNTS' undeclared (first use in this function); did you mean 'MOVE_MOUNT_F_AUTOMOUNTS'?
     if (flags & MOVE_MOUNT_T_AUTOMOUNTS) lflags |= LOOKUP_AUTOMOUNT;
                 ^~~~~~~~~~~~~~~~~~~~~~~
                 MOVE_MOUNT_F_AUTOMOUNTS
>> fs/namespace.c:3151:14: error: 'MOVE_MOUNT_T_EMPTY_PATH' undeclared (first use in this function); did you mean 'MOVE_MOUNT_F_EMPTY_PATH'?
     if (flags & MOVE_MOUNT_T_EMPTY_PATH) lflags |= LOOKUP_EMPTY;
                 ^~~~~~~~~~~~~~~~~~~~~~~
                 MOVE_MOUNT_F_EMPTY_PATH

vim +3140 fs/namespace.c

  3114	
  3115	/*
  3116	 * Move a mount from one place to another.
  3117	 *
  3118	 * Note the flags value is a combination of MOVE_MOUNT_* flags.
  3119	 */
  3120	SYSCALL_DEFINE5(move_mount,
  3121			int, from_dfd, const char *, from_pathname,
  3122			int, to_dfd, const char *, to_pathname,
  3123			unsigned int, flags)
  3124	{
  3125		struct path from_path, to_path;
  3126		unsigned int lflags;
  3127		int ret = 0;
  3128	
  3129		if (!may_mount())
  3130			return -EPERM;
  3131	
> 3132		if (flags & ~MOVE_MOUNT__MASK)
  3133			return -EINVAL;
  3134	
  3135		/* If someone gives a pathname, they aren't permitted to move
  3136		 * from an fd that requires unmount as we can't get at the flag
  3137		 * to clear it afterwards.
  3138		 */
  3139		lflags = 0;
> 3140		if (flags & MOVE_MOUNT_F_SYMLINKS)	lflags |= LOOKUP_FOLLOW;
> 3141		if (flags & MOVE_MOUNT_F_AUTOMOUNTS)	lflags |= LOOKUP_AUTOMOUNT;
> 3142		if (flags & MOVE_MOUNT_F_EMPTY_PATH)	lflags |= LOOKUP_EMPTY;
  3143	
  3144		ret = user_path_at(from_dfd, from_pathname, lflags, &from_path);
  3145		if (ret < 0)
  3146			return ret;
  3147	
  3148		lflags = 0;
> 3149		if (flags & MOVE_MOUNT_T_SYMLINKS)	lflags |= LOOKUP_FOLLOW;
> 3150		if (flags & MOVE_MOUNT_T_AUTOMOUNTS)	lflags |= LOOKUP_AUTOMOUNT;
> 3151		if (flags & MOVE_MOUNT_T_EMPTY_PATH)	lflags |= LOOKUP_EMPTY;
  3152	
  3153		ret = user_path_at(to_dfd, to_pathname, lflags, &to_path);
  3154		if (ret < 0)
  3155			goto out_from;
  3156	
  3157		ret = security_move_mount(&from_path, &to_path);
  3158		if (ret < 0)
  3159			goto out_to;
  3160	
  3161		ret = do_move_mount(&from_path, &to_path);
  3162	
  3163	out_to:
  3164		path_put(&to_path);
  3165	out_from:
  3166		path_put(&from_path);
  3167		return ret;
  3168	}
  3169	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux