lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sun, 19 Nov 2023 18:23:44 +0800
From:   Ian Kent <raven@...maw.net>
To:     kernel test robot <lkp@...el.com>,
        Al Viro <viro@...iv.linux.org.uk>,
        Christian Brauner <brauner@...nel.org>
Cc:     llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
        Bill O'Donnell <billodo@...hat.com>,
        Kernel Mailing List <linux-kernel@...r.kernel.org>,
        autofs mailing list <autofs@...r.kernel.org>,
        linux-fsdevel <linux-fsdevel@...r.kernel.org>,
        syzbot+662f87a8ef490f45fa64@...kaller.appspotmail.com
Subject: [PATCH] autofs: add: new_inode check in autofs_fill_super()

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/202311161909.KHau6jEj-lkp@intel.com/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/202311161909.KHau6jEj-lkp@intel.com/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<lkp@...el.com>
> | Closes:https://lore.kernel.org/oe-kbuild-all/202311161909.KHau6jEj-lkp@intel.com/
>
> 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	
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ