Linux-CIFS Archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Paulo Alcantara <pc@manguebit.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-cifs@vger.kernel.org,
	samba-technical@lists.samba.org,
	Steve French <stfrench@microsoft.com>
Subject: [cifs:for-next 3/6] fs/smb/client/connect.c:3647:37: error: invalid type argument of '->' (have 'struct cifs_mount_ctx')
Date: Tue, 2 Apr 2024 15:18:22 +0800	[thread overview]
Message-ID: <202404021527.ZlRkIxgv-lkp@intel.com> (raw)

tree:   git://git.samba.org/sfrench/cifs-2.6.git for-next
head:   0bc54e6a9c31ede9508fb81edbd11983494047ee
commit: 311deca30437896573ce0bf5c302095533041abb [3/6] smb: client: guarantee refcounted children from parent session
config: parisc-defconfig (https://download.01.org/0day-ci/archive/20240402/202404021527.ZlRkIxgv-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240402/202404021527.ZlRkIxgv-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404021527.ZlRkIxgv-lkp@intel.com/

All errors (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);                              \
         |                                ^


vim +3647 fs/smb/client/connect.c

  3590	
  3591	#ifdef CONFIG_CIFS_DFS_UPCALL
  3592	int cifs_mount(struct cifs_sb_info *cifs_sb, struct smb3_fs_context *ctx)
  3593	{
  3594		struct cifs_mount_ctx mnt_ctx = { .cifs_sb = cifs_sb, .fs_ctx = ctx, };
  3595		bool isdfs;
  3596		int rc;
  3597	
  3598		rc = dfs_mount_share(&mnt_ctx, &isdfs);
  3599		if (rc)
  3600			goto error;
  3601		if (!isdfs)
  3602			goto out;
  3603	
  3604		/*
  3605		 * After reconnecting to a different server, unique ids won't match anymore, so we disable
  3606		 * serverino. This prevents dentry revalidation to think the dentry are stale (ESTALE).
  3607		 */
  3608		cifs_autodisable_serverino(cifs_sb);
  3609		/*
  3610		 * Force the use of prefix path to support failover on DFS paths that resolve to targets
  3611		 * that have different prefix paths.
  3612		 */
  3613		cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_USE_PREFIX_PATH;
  3614		kfree(cifs_sb->prepath);
  3615		cifs_sb->prepath = ctx->prepath;
  3616		ctx->prepath = NULL;
  3617	
  3618	out:
  3619		cifs_try_adding_channels(mnt_ctx.ses);
  3620		rc = mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon);
  3621		if (rc)
  3622			goto error;
  3623	
  3624		free_xid(mnt_ctx.xid);
  3625		return rc;
  3626	
  3627	error:
  3628		cifs_mount_put_conns(&mnt_ctx);
  3629		return rc;
  3630	}
  3631	#else
  3632	int cifs_mount(struct cifs_sb_info *cifs_sb, struct smb3_fs_context *ctx)
  3633	{
  3634		int rc = 0;
  3635		struct cifs_mount_ctx mnt_ctx = { .cifs_sb = cifs_sb, .fs_ctx = ctx, };
  3636	
  3637		rc = cifs_mount_get_session(&mnt_ctx);
  3638		if (rc)
  3639			goto error;
  3640	
  3641		rc = cifs_mount_get_tcon(&mnt_ctx);
  3642		if (!rc) {
  3643			/*
  3644			 * Prevent superblock from being created with any missing
  3645			 * connections.
  3646			 */
> 3647			if (WARN_ON(!mnt_ctx->server))
  3648				rc = -EHOSTDOWN;
  3649			else if (WARN_ON(!mnt_ctx->ses))
  3650				rc = -EACCES;
  3651			else if (WARN_ON(!mnt_ctx->tcon))
  3652				rc = -ENOENT;
  3653		}
  3654		if (rc)
  3655			goto error;
  3656	
  3657		rc = cifs_is_path_remote(&mnt_ctx);
  3658		if (rc == -EREMOTE)
  3659			rc = -EOPNOTSUPP;
  3660		if (rc)
  3661			goto error;
  3662	
  3663		rc = mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon);
  3664		if (rc)
  3665			goto error;
  3666	
  3667		free_xid(mnt_ctx.xid);
  3668		return rc;
  3669	
  3670	error:
  3671		cifs_mount_put_conns(&mnt_ctx);
  3672		return rc;
  3673	}
  3674	#endif
  3675	

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

             reply	other threads:[~2024-04-02  7:19 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-02  7:18 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-04-02  7:08 [cifs:for-next 3/6] fs/smb/client/connect.c:3647:37: error: invalid type argument of '->' (have 'struct cifs_mount_ctx') kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202404021527.ZlRkIxgv-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=linux-cifs@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pc@manguebit.com \
    --cc=samba-technical@lists.samba.org \
    --cc=stfrench@microsoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).