• A
    move mount_capable() further out · c3aabf07
    Al Viro 提交于
    Call graph of vfs_get_tree():
    	vfs_fsconfig_locked()	# neither kernmount, nor submount
    	do_new_mount()		# neither kernmount, nor submount
    	fc_mount()
    		afs_mntpt_do_automount()	# submount
    		mount_one_hugetlbfs()		# kernmount
    		pid_ns_prepare_proc()		# kernmount
    		mq_create_mount()		# kernmount
    		vfs_kern_mount()
    			simple_pin_fs()		# kernmount
    			vfs_submount()		# submount
    			kern_mount()		# kernmount
    			init_mount_tree()
    			btrfs_mount()
    			nfs_do_root_mount()
    
    	The first two need the check (unconditionally).
    init_mount_tree() is setting rootfs up; any capability
    checks make zero sense for that one.  And btrfs_mount()/
    nfs_do_root_mount() have the checks already done in their
    callers.
    
    	IOW, we can shift mount_capable() handling into
    the two callers - one in the normal case of mount(2),
    another - in fsconfig(2) handling of FSCONFIG_CMD_CREATE.
    I.e. the syscalls that set a new filesystem up.
    Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
    c3aabf07
namespace.c 96.2 KB