[PATCH] autofs: add: new_inode check in autofs_fill_super()

Ian Kent <[email protected]>
Newsgroups gmane.linux.file-systems,gmane.linux.kernel,gmane.linux.kernel.autofs
Message-ID <[email protected]>
On 16/11/23 19:23, kernel test robot wrote:
> Hi Ian,
>
> kernel test robot noticed the following build warnings:

Crikey, how did this compile ... I think I need to just send a replacement

patch.


Ian

> [auto build test WARNING on brauner-vfs/vfs.all]
> [also build test WARNING on linus/master v6.7-rc1 next-20231116]
> [cannot apply to vfs-idmapping/for-next]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url:https://github.com/intel-lab-lkp/linux/commits/Ian-Kent/autofs-add-new_inode-check-in-autofs_fill_super/20231116-081017
> base:https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git  vfs.all
> patch link:https://lore.kernel.org/r/20231116000746.7359-1-raven%40themaw.net
> patch subject: [PATCH] autofs: add: new_inode check in autofs_fill_super()
> config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20231116/[email protected]/config)
> compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git  ae42196bc493ffe877a7e3dff8be32035dea4d07)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/[email protected]/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot<[email protected]>
> | Closes:https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> All warnings (new ones prefixed by >>):
>
>     fs/autofs/inode.c:330:8: error: expected identifier
>                     goto -ENOMEM;
>                          ^
>>> fs/autofs/inode.c:330:8: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
>     fs/autofs/inode.c:329:2: note: previous statement is here
>             if (!ino)
>             ^
>     fs/autofs/inode.c:349:4: error: use of undeclared identifier 'ret'
>                             ret = invalf(fc, "Could not find process group %d",
>                             ^
>     fs/autofs/inode.c:351:11: error: use of undeclared identifier 'ret'
>                             return ret;
>                                    ^
>>> fs/autofs/inode.c:330:8: warning: expression result unused [-Wunused-value]
>                     goto -ENOMEM;
>                          ^~~~~~~
>     2 warnings and 3 errors generated.
>
>
> vim +/if +330 fs/autofs/inode.c
>
>     306	
>     307	static int autofs_fill_super(struct super_block *s, struct fs_context *fc)
>     308	{
>     309		struct autofs_fs_context *ctx = fc->fs_private;
>     310		struct autofs_sb_info *sbi = s->s_fs_info;
>     311		struct inode *root_inode;
>     312		struct dentry *root;
>     313		struct autofs_info *ino;
>     314	
>     315		pr_debug("starting up, sbi = %p\n", sbi);
>     316	
>     317		sbi->sb = s;
>     318		s->s_blocksize = 1024;
>     319		s->s_blocksize_bits = 10;
>     320		s->s_magic = AUTOFS_SUPER_MAGIC;
>     321		s->s_op = &autofs_sops;
>     322		s->s_d_op = &autofs_dentry_operations;
>     323		s->s_time_gran = 1;
>     324	
>     325		/*
>     326		 * Get the root inode and dentry, but defer checking for errors.
>     327		 */
>     328		ino = autofs_new_ino(sbi);
>     329		if (!ino)
>   > 330			goto -ENOMEM;
>     331	
>     332		root_inode = autofs_get_inode(s, S_IFDIR | 0755);
>     333		if (root_inode) {
>     334			root_inode->i_uid = ctx->uid;
>     335			root_inode->i_gid = ctx->gid;
>     336			root_inode->i_fop = &autofs_root_operations;
>     337			root_inode->i_op = &autofs_dir_inode_operations;
>     338		}
>     339		s->s_root = d_make_root(root_inode);
>     340		if (unlikely(!s->s_root)) {
>     341			autofs_free_ino(ino);
>     342			return -ENOMEM;
>     343		}
>     344		s->s_root->d_fsdata = ino;
>     345	
>     346		if (ctx->pgrp_set) {
>     347			sbi->oz_pgrp = find_get_pid(ctx->pgrp);
>     348			if (!sbi->oz_pgrp) {
>     349				ret = invalf(fc, "Could not find process group %d",
>     350					     ctx->pgrp);
>     351				return ret;
>     352			}
>     353		} else {
>     354			sbi->oz_pgrp = get_task_pid(current, PIDTYPE_PGID);
>     355		}
>     356	
>     357		if (autofs_type_trigger(sbi->type))
>     358			/* s->s_root won't be contended so there's little to
>     359			 * be gained by not taking the d_lock when setting
>     360			 * d_flags, even when a lot mounts are being done.
>     361			 */
>     362			managed_dentry_set_managed(s->s_root);
>     363	
>     364		pr_debug("pipe fd = %d, pgrp = %u\n",
>     365			 sbi->pipefd, pid_nr(sbi->oz_pgrp));
>     366	
>     367		sbi->flags &= ~AUTOFS_SBI_CATATONIC;
>     368		return 0;
>     369	}
>     370	
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.