[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9ad32b90-b03b-f493-14fb-ce31a1409774@themaw.net>
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