Re: [PATCH 05/11] quota: Allow to pass quotactl a mountpoint

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

 



Hi Sascha,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to v5.3-rc4 next-20190814]
[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/Sascha-Hauer/Add-quota-support-to-UBIFS/20190815-010732
config: i386-randconfig-c001-201932 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-10) 7.4.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   fs/quota/quota.c: In function 'quotactl_get_super':
>> fs/quota/quota.c:838:13: error: implicit declaration of function 'quotactl_cmd_write'; did you mean 'quotactl_cmd_onoff'? [-Werror=implicit-function-declaration]
     } else if (quotactl_cmd_write(cmd)) {
                ^~~~~~~~~~~~~~~~~~
                quotactl_cmd_onoff
   Cyclomatic Complexity 1 arch/x86/include/asm/barrier.h:array_index_mask_nospec
   Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current
   Cyclomatic Complexity 3 include/linux/string.h:memset
   Cyclomatic Complexity 1 include/linux/err.h:ERR_PTR
   Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR
   Cyclomatic Complexity 1 include/linux/err.h:IS_ERR
   Cyclomatic Complexity 1 include/linux/err.h:ERR_CAST
   Cyclomatic Complexity 1 include/linux/thread_info.h:check_object_size
   Cyclomatic Complexity 2 include/linux/thread_info.h:copy_overflow
   Cyclomatic Complexity 4 include/linux/thread_info.h:check_copy_size
   Cyclomatic Complexity 1 include/linux/uidgid.h:__kuid_val
   Cyclomatic Complexity 1 include/linux/uidgid.h:uid_eq
   Cyclomatic Complexity 1 include/linux/uidgid.h:make_kuid
   Cyclomatic Complexity 1 include/linux/uidgid.h:make_kgid
   Cyclomatic Complexity 1 include/linux/projid.h:make_kprojid
   Cyclomatic Complexity 3 include/linux/quota.h:make_kqid
   Cyclomatic Complexity 1 include/linux/quota.h:qid_has_mapping
   Cyclomatic Complexity 1 include/linux/quota.h:dquot_state_flag
   Cyclomatic Complexity 1 include/linux/fs.h:sb_rdonly
   Cyclomatic Complexity 1 include/linux/namei.h:user_path_at
   Cyclomatic Complexity 2 include/linux/uaccess.h:copy_from_user
   Cyclomatic Complexity 2 include/linux/uaccess.h:copy_to_user
   Cyclomatic Complexity 1 include/linux/security.h:security_quotactl
   Cyclomatic Complexity 1 include/linux/cred.h:current_user_ns
   Cyclomatic Complexity 1 include/linux/quotaops.h:sb_dqopt
   Cyclomatic Complexity 1 include/linux/quotaops.h:sb_has_quota_usage_enabled
   Cyclomatic Complexity 1 include/linux/quotaops.h:sb_has_quota_suspended
   Cyclomatic Complexity 1 include/linux/quotaops.h:sb_has_quota_loaded
   Cyclomatic Complexity 3 include/linux/quotaops.h:sb_has_quota_active
   Cyclomatic Complexity 4 fs/quota/quota.c:quota_sync_one
   Cyclomatic Complexity 3 fs/quota/quota.c:quota_getfmt
   Cyclomatic Complexity 7 fs/quota/quota.c:quota_getinfo
   Cyclomatic Complexity 9 fs/quota/quota.c:quota_setinfo
   Cyclomatic Complexity 1 fs/quota/quota.c:qbtos
   Cyclomatic Complexity 1 fs/quota/quota.c:stoqb
   Cyclomatic Complexity 1 fs/quota/quota.c:copy_to_if_dqblk
   Cyclomatic Complexity 5 fs/quota/quota.c:quota_getquota
   Cyclomatic Complexity 7 fs/quota/quota.c:copy_from_if_dqblk
   Cyclomatic Complexity 4 fs/quota/quota.c:quota_setquota
   Cyclomatic Complexity 3 fs/quota/quota.c:quota_enable
   Cyclomatic Complexity 3 fs/quota/quota.c:quota_disable
   Cyclomatic Complexity 7 fs/quota/quota.c:quota_state_to_flags
   Cyclomatic Complexity 7 fs/quota/quota.c:quota_getstate
   Cyclomatic Complexity 4 fs/quota/quota.c:quota_getxstate
   Cyclomatic Complexity 6 fs/quota/quota.c:quota_getstatev
   Cyclomatic Complexity 6 fs/quota/quota.c:quota_getxstatev
   Cyclomatic Complexity 1 fs/quota/quota.c:quota_bbtob
   Cyclomatic Complexity 1 fs/quota/quota.c:quota_btobb
   Cyclomatic Complexity 16 fs/quota/quota.c:copy_from_xfs_dqblk
   Cyclomatic Complexity 7 fs/quota/quota.c:copy_qcinfo_from_xfs_dqblk
   Cyclomatic Complexity 3 fs/quota/quota.c:copy_to_xfs_dqblk
   Cyclomatic Complexity 5 fs/quota/quota.c:quota_getxquota
   Cyclomatic Complexity 3 fs/quota/quota.c:quota_rmxquota
   Cyclomatic Complexity 3 fs/quota/quota.c:quotactl_cmd_onoff
   Cyclomatic Complexity 1 fs/quota/quota.c:quotactl_block
   Cyclomatic Complexity 1 fs/quota/quota.c:__do_sys_quotactl
   Cyclomatic Complexity 3 fs/quota/quota.c:quota_sync_all
   Cyclomatic Complexity 2 fs/quota/quota.c:quotactl_path
   Cyclomatic Complexity 8 fs/quota/quota.c:quotactl_get_super
   Cyclomatic Complexity 10 fs/quota/quota.c:check_quotactl_permission
   Cyclomatic Complexity 5 fs/quota/quota.c:quota_getnextquota
   Cyclomatic Complexity 8 fs/quota/quota.c:quota_setxquota
   Cyclomatic Complexity 5 fs/quota/quota.c:quota_getnextxquota
   Cyclomatic Complexity 4 fs/quota/quota.c:qtype_enforce_flag
   Cyclomatic Complexity 5 fs/quota/quota.c:quota_quotaon
   Cyclomatic Complexity 4 fs/quota/quota.c:quota_quotaoff
   Cyclomatic Complexity 25 fs/quota/quota.c:do_quotactl
   Cyclomatic Complexity 9 fs/quota/quota.c:kernel_quotactl
   Cyclomatic Complexity 1 fs/quota/quota.c:__se_sys_quotactl
   cc1: some warnings being treated as errors

vim +838 fs/quota/quota.c

ab9c4e200cc992 fs/quota/quota.c Sascha Hauer   2019-08-14  824  
^1da177e4c3f41 fs/quota.c       Linus Torvalds 2005-04-16  825  /*
9361401eb7619c fs/quota.c       David Howells  2006-09-30  826   * look up a superblock on which quota ops will be performed
9361401eb7619c fs/quota.c       David Howells  2006-09-30  827   * - use the name of a block device to find the superblock thereon
9361401eb7619c fs/quota.c       David Howells  2006-09-30  828   */
ab9c4e200cc992 fs/quota/quota.c Sascha Hauer   2019-08-14  829  static struct super_block *quotactl_get_super(const char __user *special, int cmd)
9361401eb7619c fs/quota.c       David Howells  2006-09-30  830  {
9361401eb7619c fs/quota.c       David Howells  2006-09-30  831  	struct super_block *sb;
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  832  	bool thawed = false, exclusive;
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  833  	int ret;
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  834  
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  835  	if (quotactl_cmd_onoff(cmd)) {
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  836  		thawed = true;
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  837  		exclusive = true;
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14 @838  	} else if (quotactl_cmd_write(cmd)) {
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  839  		thawed = true;
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  840  		exclusive = false;
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  841  	}
9361401eb7619c fs/quota.c       David Howells  2006-09-30  842  
ab9c4e200cc992 fs/quota/quota.c Sascha Hauer   2019-08-14  843  	sb = quotactl_block(special);
ab9c4e200cc992 fs/quota/quota.c Sascha Hauer   2019-08-14  844  	if (IS_ERR(sb)) {
ab9c4e200cc992 fs/quota/quota.c Sascha Hauer   2019-08-14  845  		sb = quotactl_path(special);
ab9c4e200cc992 fs/quota/quota.c Sascha Hauer   2019-08-14  846  		if (IS_ERR(sb))
ab9c4e200cc992 fs/quota/quota.c Sascha Hauer   2019-08-14  847  			return ERR_CAST(sb);
ab9c4e200cc992 fs/quota/quota.c Sascha Hauer   2019-08-14  848  	}
9361401eb7619c fs/quota.c       David Howells  2006-09-30  849  
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  850  	if (thawed) {
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  851  		ret = wait_super_thawed(sb, exclusive);
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  852  		if (ret) {
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  853  			if (exclusive)
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  854  				drop_super_exclusive(sb);
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  855  			else
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  856  				drop_super(sb);
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  857  			return ERR_PTR(ret);
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  858  		}
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  859  	}
335508f54c9cd0 fs/quota/quota.c Sascha Hauer   2019-08-14  860  
9361401eb7619c fs/quota.c       David Howells  2006-09-30  861  	return sb;
9361401eb7619c fs/quota.c       David Howells  2006-09-30  862  }
9361401eb7619c fs/quota.c       David Howells  2006-09-30  863  

:::::: The code at line 838 was first introduced by commit
:::::: 335508f54c9cd0c8589271420bee8a38cff13ed5 fs, quota: introduce wait_super_thawed() to wait until a superblock is thawed

:::::: TO: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
:::::: 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