[cifs:for-next 5/6] fs/smb/client/connect.c:4045:35: error: implicit declaration of function 'dfs_get_path'

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

 



tree:   git://git.samba.org/sfrench/cifs-2.6.git for-next
head:   0bc54e6a9c31ede9508fb81edbd11983494047ee
commit: 8e09ce8ffd4bdf6f780a54f89301c646526e9d97 [5/6] smb: client: handle DFS tcons in cifs_construct_tcon()
config: parisc-defconfig (https://download.01.org/0day-ci/archive/20240402/202404021518.3Xu2VU4s-lkp@xxxxxxxxx/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240402/202404021518.3Xu2VU4s-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404021518.3Xu2VU4s-lkp@xxxxxxxxx/

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

   In file included from include/linux/bug.h:5,
                    from include/linux/thread_info.h:13,
                    from include/asm-generic/preempt.h:5,
                    from ./arch/parisc/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:79,
                    from include/linux/spinlock.h:56,
                    from include/linux/wait.h:9,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/smb/client/connect.c:8:
   fs/smb/client/connect.c: In function 'cifs_mount':
   fs/smb/client/connect.c:3647:37: error: invalid type argument of '->' (have 'struct cifs_mount_ctx')
    3647 |                 if (WARN_ON(!mnt_ctx->server))
         |                                     ^~
   arch/parisc/include/asm/bug.h:86:32: note: in definition of macro 'WARN_ON'
      86 |         int __ret_warn_on = !!(x);                              \
         |                                ^
   fs/smb/client/connect.c:3649:42: error: invalid type argument of '->' (have 'struct cifs_mount_ctx')
    3649 |                 else if (WARN_ON(!mnt_ctx->ses))
         |                                          ^~
   arch/parisc/include/asm/bug.h:86:32: note: in definition of macro 'WARN_ON'
      86 |         int __ret_warn_on = !!(x);                              \
         |                                ^
   fs/smb/client/connect.c:3651:42: error: invalid type argument of '->' (have 'struct cifs_mount_ctx')
    3651 |                 else if (WARN_ON(!mnt_ctx->tcon))
         |                                          ^~
   arch/parisc/include/asm/bug.h:86:32: note: in definition of macro 'WARN_ON'
      86 |         int __ret_warn_on = !!(x);                              \
         |                                ^
   fs/smb/client/connect.c: In function 'cifs_construct_tcon':
>> fs/smb/client/connect.c:4045:35: error: implicit declaration of function 'dfs_get_path' [-Werror=implicit-function-declaration]
    4045 |                 origin_fullpath = dfs_get_path(cifs_sb, cifs_sb->ctx->source);
         |                                   ^~~~~~~~~~~~
>> fs/smb/client/connect.c:4045:33: warning: assignment to 'char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    4045 |                 origin_fullpath = dfs_get_path(cifs_sb, cifs_sb->ctx->source);
         |                                 ^
>> fs/smb/client/connect.c:4067:36: error: 'dfscache_wq' undeclared (first use in this function); did you mean 'fscache_write'?
    4067 |                 queue_delayed_work(dfscache_wq, &tcon->dfs_cache_work,
         |                                    ^~~~~~~~~~~
         |                                    fscache_write
   fs/smb/client/connect.c:4067:36: note: each undeclared identifier is reported only once for each function it appears in
>> fs/smb/client/connect.c:4067:54: error: 'struct cifs_tcon' has no member named 'dfs_cache_work'
    4067 |                 queue_delayed_work(dfscache_wq, &tcon->dfs_cache_work,
         |                                                      ^~
>> fs/smb/client/connect.c:4068:36: error: implicit declaration of function 'dfs_cache_get_ttl'; did you mean 'fscache_get_aux'? [-Werror=implicit-function-declaration]
    4068 |                                    dfs_cache_get_ttl() * HZ);
         |                                    ^~~~~~~~~~~~~~~~~
         |                                    fscache_get_aux
   cc1: some warnings being treated as errors


vim +/dfs_get_path +4045 fs/smb/client/connect.c

  3989	
  3990	static struct cifs_tcon *
  3991	cifs_construct_tcon(struct cifs_sb_info *cifs_sb, kuid_t fsuid)
  3992	{
  3993		int rc;
  3994		struct cifs_tcon *master_tcon = cifs_sb_master_tcon(cifs_sb);
  3995		struct cifs_ses *ses;
  3996		struct cifs_tcon *tcon = NULL;
  3997		struct smb3_fs_context *ctx;
  3998		char *origin_fullpath = NULL;
  3999	
  4000		ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
  4001		if (ctx == NULL)
  4002			return ERR_PTR(-ENOMEM);
  4003	
  4004		ctx->local_nls = cifs_sb->local_nls;
  4005		ctx->linux_uid = fsuid;
  4006		ctx->cred_uid = fsuid;
  4007		ctx->UNC = master_tcon->tree_name;
  4008		ctx->retry = master_tcon->retry;
  4009		ctx->nocase = master_tcon->nocase;
  4010		ctx->nohandlecache = master_tcon->nohandlecache;
  4011		ctx->local_lease = master_tcon->local_lease;
  4012		ctx->no_lease = master_tcon->no_lease;
  4013		ctx->resilient = master_tcon->use_resilient;
  4014		ctx->persistent = master_tcon->use_persistent;
  4015		ctx->handle_timeout = master_tcon->handle_timeout;
  4016		ctx->no_linux_ext = !master_tcon->unix_ext;
  4017		ctx->linux_ext = master_tcon->posix_extensions;
  4018		ctx->sectype = master_tcon->ses->sectype;
  4019		ctx->sign = master_tcon->ses->sign;
  4020		ctx->seal = master_tcon->seal;
  4021		ctx->witness = master_tcon->use_witness;
  4022		ctx->dfs_root_ses = master_tcon->ses->dfs_root_ses;
  4023	
  4024		rc = cifs_set_vol_auth(ctx, master_tcon->ses);
  4025		if (rc) {
  4026			tcon = ERR_PTR(rc);
  4027			goto out;
  4028		}
  4029	
  4030		/* get a reference for the same TCP session */
  4031		spin_lock(&cifs_tcp_ses_lock);
  4032		++master_tcon->ses->server->srv_count;
  4033		spin_unlock(&cifs_tcp_ses_lock);
  4034	
  4035		ses = cifs_get_smb_ses(master_tcon->ses->server, ctx);
  4036		if (IS_ERR(ses)) {
  4037			tcon = (struct cifs_tcon *)ses;
  4038			cifs_put_tcp_session(master_tcon->ses->server, 0);
  4039			goto out;
  4040		}
  4041	
  4042		spin_lock(&master_tcon->tc_lock);
  4043		if (master_tcon->origin_fullpath) {
  4044			spin_unlock(&master_tcon->tc_lock);
> 4045			origin_fullpath = dfs_get_path(cifs_sb, cifs_sb->ctx->source);
  4046			if (IS_ERR(origin_fullpath)) {
  4047				tcon = ERR_CAST(origin_fullpath);
  4048				origin_fullpath = NULL;
  4049				cifs_put_smb_ses(ses);
  4050				goto out;
  4051			}
  4052		} else {
  4053			spin_unlock(&master_tcon->tc_lock);
  4054		}
  4055	
  4056		tcon = cifs_get_tcon(ses, ctx);
  4057		if (IS_ERR(tcon)) {
  4058			cifs_put_smb_ses(ses);
  4059			goto out;
  4060		}
  4061	
  4062		if (origin_fullpath) {
  4063			spin_lock(&tcon->tc_lock);
  4064			tcon->origin_fullpath = origin_fullpath;
  4065			spin_unlock(&tcon->tc_lock);
  4066			origin_fullpath = NULL;
> 4067			queue_delayed_work(dfscache_wq, &tcon->dfs_cache_work,
> 4068					   dfs_cache_get_ttl() * HZ);
  4069		}
  4070	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux