Re: [PATCH 6/6] autofs - add strictexpire mount option

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

 



Hi Ian,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.20-rc2]
[cannot apply to next-20181115]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Ian-Kent/autofs-improve-ioctl-sbi-checks/20181114-021150
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

>> fs/autofs/init.c:19:25: warning: symbol 'autofs_fs_type' was not declared. Should it be static?
--
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
>> fs/autofs/inode.c:372:35: error: cannot dereference this type
   fs/autofs/inode.c:373:35: error: cannot dereference this type
>> fs/autofs/inode.c:372:35: warning: unknown expression (8 46)
   fs/autofs/inode.c:373:35: warning: unknown expression (8 46)
   fs/autofs/inode.c: In function 'autofs_fill_super':
   fs/autofs/inode.c:372:28: error: invalid type argument of '->' (have 'struct autofs_fs_params')
     root_inode->i_uid = params->uid;
                               ^~
   fs/autofs/inode.c:373:28: error: invalid type argument of '->' (have 'struct autofs_fs_params')
     root_inode->i_gid = params->gid;
                               ^~

vim +372 fs/autofs/inode.c

e35160168 Ian Kent 2018-11-13  324  
e35160168 Ian Kent 2018-11-13  325  int autofs_fill_super(struct super_block *s, void *data, int silent)
e35160168 Ian Kent 2018-11-13  326  {
e35160168 Ian Kent 2018-11-13  327  	struct inode *root_inode;
e35160168 Ian Kent 2018-11-13  328  	struct dentry *root;
f4507adde Ian Kent 2018-11-13  329  	struct autofs_fs_params params;
e35160168 Ian Kent 2018-11-13  330  	struct autofs_sb_info *sbi;
e35160168 Ian Kent 2018-11-13  331  	struct autofs_info *ino;
e35160168 Ian Kent 2018-11-13  332  	int ret = -EINVAL;
e35160168 Ian Kent 2018-11-13  333  
e35160168 Ian Kent 2018-11-13  334  	sbi = autofs_alloc_sbi(s);
e35160168 Ian Kent 2018-11-13  335  	if (!sbi)
e35160168 Ian Kent 2018-11-13  336  		return -ENOMEM;
e35160168 Ian Kent 2018-11-13  337  
e35160168 Ian Kent 2018-11-13  338  	pr_debug("starting up, sbi = %p\n", sbi);
e35160168 Ian Kent 2018-11-13  339  
e35160168 Ian Kent 2018-11-13  340  	s->s_fs_info = sbi;
ebc921ca9 Ian Kent 2018-06-07  341  	s->s_blocksize = 1024;
ebc921ca9 Ian Kent 2018-06-07  342  	s->s_blocksize_bits = 10;
ebc921ca9 Ian Kent 2018-06-07  343  	s->s_magic = AUTOFS_SUPER_MAGIC;
ebc921ca9 Ian Kent 2018-06-07  344  	s->s_op = &autofs_sops;
ebc921ca9 Ian Kent 2018-06-07  345  	s->s_d_op = &autofs_dentry_operations;
ebc921ca9 Ian Kent 2018-06-07  346  	s->s_time_gran = 1;
ebc921ca9 Ian Kent 2018-06-07  347  
ebc921ca9 Ian Kent 2018-06-07  348  	/*
ebc921ca9 Ian Kent 2018-06-07  349  	 * Get the root inode and dentry, but defer checking for errors.
ebc921ca9 Ian Kent 2018-06-07  350  	 */
ebc921ca9 Ian Kent 2018-06-07  351  	ino = autofs_new_ino(sbi);
ebc921ca9 Ian Kent 2018-06-07  352  	if (!ino) {
ebc921ca9 Ian Kent 2018-06-07  353  		ret = -ENOMEM;
ebc921ca9 Ian Kent 2018-06-07  354  		goto fail_free;
ebc921ca9 Ian Kent 2018-06-07  355  	}
ebc921ca9 Ian Kent 2018-06-07  356  	root_inode = autofs_get_inode(s, S_IFDIR | 0755);
eef302f31 Ian Kent 2018-11-13  357  	if (!root_inode) {
eef302f31 Ian Kent 2018-11-13  358  		ret = -ENOMEM;
eef302f31 Ian Kent 2018-11-13  359  		goto fail_ino;
eef302f31 Ian Kent 2018-11-13  360  	}
ebc921ca9 Ian Kent 2018-06-07  361  	root = d_make_root(root_inode);
ebc921ca9 Ian Kent 2018-06-07  362  	if (!root)
eef302f31 Ian Kent 2018-11-13  363  		goto fail_iput;
ebc921ca9 Ian Kent 2018-06-07  364  
ebc921ca9 Ian Kent 2018-06-07  365  	root->d_fsdata = ino;
ebc921ca9 Ian Kent 2018-06-07  366  
f4507adde Ian Kent 2018-11-13  367  	memset(&params, 0, sizeof(struct autofs_fs_params));
f4507adde Ian Kent 2018-11-13  368  	if (autofs_parse_options(data, &params)) {
ebc921ca9 Ian Kent 2018-06-07  369  		pr_err("called with bogus options\n");
ebc921ca9 Ian Kent 2018-06-07  370  		goto fail_dput;
ebc921ca9 Ian Kent 2018-06-07  371  	}
f4507adde Ian Kent 2018-11-13 @372  	root_inode->i_uid = params->uid;
f4507adde Ian Kent 2018-11-13  373  	root_inode->i_gid = params->gid;
ebc921ca9 Ian Kent 2018-06-07  374  
f4507adde Ian Kent 2018-11-13  375  	ret = autofs_apply_sbi_options(sbi, &params);
f4507adde Ian Kent 2018-11-13  376  	if (ret)
ebc921ca9 Ian Kent 2018-06-07  377  		goto fail_dput;
ebc921ca9 Ian Kent 2018-06-07  378  
ebc921ca9 Ian Kent 2018-06-07  379  	if (autofs_type_trigger(sbi->type))
ebc921ca9 Ian Kent 2018-06-07  380  		__managed_dentry_set_managed(root);
ebc921ca9 Ian Kent 2018-06-07  381  
ebc921ca9 Ian Kent 2018-06-07  382  	root_inode->i_fop = &autofs_root_operations;
ebc921ca9 Ian Kent 2018-06-07  383  	root_inode->i_op = &autofs_dir_inode_operations;
ebc921ca9 Ian Kent 2018-06-07  384  
ebc921ca9 Ian Kent 2018-06-07  385  	/*
ebc921ca9 Ian Kent 2018-06-07  386  	 * Success! Install the root dentry now to indicate completion.
ebc921ca9 Ian Kent 2018-06-07  387  	 */
ebc921ca9 Ian Kent 2018-06-07  388  	s->s_root = root;
ebc921ca9 Ian Kent 2018-06-07  389  	return 0;
ebc921ca9 Ian Kent 2018-06-07  390  
ebc921ca9 Ian Kent 2018-06-07  391  	/*
ebc921ca9 Ian Kent 2018-06-07  392  	 * Failure ... clean up.
ebc921ca9 Ian Kent 2018-06-07  393  	 */
ebc921ca9 Ian Kent 2018-06-07  394  fail_dput:
ebc921ca9 Ian Kent 2018-06-07  395  	dput(root);
ebc921ca9 Ian Kent 2018-06-07  396  	goto fail_free;
eef302f31 Ian Kent 2018-11-13  397  fail_iput:
eef302f31 Ian Kent 2018-11-13  398  	iput(root_inode);
ebc921ca9 Ian Kent 2018-06-07  399  fail_ino:
ebc921ca9 Ian Kent 2018-06-07  400  	autofs_free_ino(ino);
ebc921ca9 Ian Kent 2018-06-07  401  fail_free:
ebc921ca9 Ian Kent 2018-06-07  402  	kfree(sbi);
ebc921ca9 Ian Kent 2018-06-07  403  	s->s_fs_info = NULL;
ebc921ca9 Ian Kent 2018-06-07  404  	return ret;
ebc921ca9 Ian Kent 2018-06-07  405  }
ebc921ca9 Ian Kent 2018-06-07  406  

:::::: The code at line 372 was first introduced by commit
:::::: f4507adde6ebc94c273ccc2c18f2afb0fea20cf9 autofs - use struct for mount params

:::::: TO: Ian Kent <raven@xxxxxxxxxx>
:::::: CC: 0day robot <lkp@xxxxxxxxx>

---
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