public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: nspmangalore@gmail.com, linux-cifs@vger.kernel.org,
	smfrench@gmail.com, pc@manguebit.org, bharathsm@microsoft.com
Cc: oe-kbuild-all@lists.linux.dev,
	Shyam Prasad N <sprasad@microsoft.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH 2/2] cifs: Fix locking usage for tcon fields
Date: Sat, 31 Jan 2026 23:50:48 +0800	[thread overview]
Message-ID: <202601312343.JPu2GSIi-lkp@intel.com> (raw)
In-Reply-To: <20260131080239.943483-2-sprasad@microsoft.com>

Hi,

kernel test robot noticed the following build errors:

[auto build test ERROR on cifs/for-next]
[also build test ERROR on linus/master v6.19-rc7 next-20260130]
[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/nspmangalore-gmail-com/cifs-Fix-locking-usage-for-tcon-fields/20260131-160419
base:   git://git.samba.org/sfrench/cifs-2.6.git for-next
patch link:    https://lore.kernel.org/r/20260131080239.943483-2-sprasad%40microsoft.com
patch subject: [PATCH 2/2] cifs: Fix locking usage for tcon fields
config: microblaze-defconfig (https://download.01.org/0day-ci/archive/20260131/202601312343.JPu2GSIi-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260131/202601312343.JPu2GSIi-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/202601312343.JPu2GSIi-lkp@intel.com/

All errors (new ones prefixed by >>):

   fs/smb/client/smb2ops.c: In function 'smb2_get_dfs_refer':
>> fs/smb/client/smb2ops.c:3178:17: error: too few arguments to function 'cifs_put_tcon'; expected 2, have 1
    3178 |                 cifs_put_tcon(tcon);
         |                 ^~~~~~~~~~~~~
   In file included from fs/smb/client/smb2ops.c:20:
   fs/smb/client/cifsproto.h:273:6: note: declared here
     273 | void cifs_put_tcon(struct cifs_tcon *tcon, enum smb3_tcon_ref_trace trace);
         |      ^~~~~~~~~~~~~


vim +/cifs_put_tcon +3178 fs/smb/client/smb2ops.c

  3078	
  3079	static int
  3080	smb2_get_dfs_refer(const unsigned int xid, struct cifs_ses *ses,
  3081			   const char *search_name,
  3082			   struct dfs_info3_param **target_nodes,
  3083			   unsigned int *num_of_nodes,
  3084			   const struct nls_table *nls_codepage, int remap)
  3085	{
  3086		int rc;
  3087		__le16 *utf16_path = NULL;
  3088		int utf16_path_len = 0;
  3089		struct cifs_tcon *tcon;
  3090		struct fsctl_get_dfs_referral_req *dfs_req = NULL;
  3091		struct get_dfs_referral_rsp *dfs_rsp = NULL;
  3092		u32 dfs_req_size = 0, dfs_rsp_size = 0;
  3093		int retry_once = 0;
  3094	
  3095		cifs_dbg(FYI, "%s: path: %s\n", __func__, search_name);
  3096	
  3097		/*
  3098		 * Try to use the IPC tcon, otherwise just use any
  3099		 */
  3100		tcon = ses->tcon_ipc;
  3101		if (tcon == NULL) {
  3102			spin_lock(&cifs_tcp_ses_lock);
  3103			tcon = list_first_entry_or_null(&ses->tcon_list,
  3104							struct cifs_tcon,
  3105							tcon_list);
  3106			if (tcon) {
  3107				spin_lock(&tcon->tc_lock);
  3108				tcon->tc_count++;
  3109				spin_unlock(&tcon->tc_lock);
  3110				trace_smb3_tcon_ref(tcon->debug_id, tcon->tc_count,
  3111						    netfs_trace_tcon_ref_get_dfs_refer);
  3112			}
  3113			spin_unlock(&cifs_tcp_ses_lock);
  3114		}
  3115	
  3116		if (tcon == NULL) {
  3117			cifs_dbg(VFS, "session %p has no tcon available for a dfs referral request\n",
  3118				 ses);
  3119			rc = -ENOTCONN;
  3120			goto out;
  3121		}
  3122	
  3123		utf16_path = cifs_strndup_to_utf16(search_name, PATH_MAX,
  3124						   &utf16_path_len,
  3125						   nls_codepage, remap);
  3126		if (!utf16_path) {
  3127			rc = -ENOMEM;
  3128			goto out;
  3129		}
  3130	
  3131		dfs_req_size = sizeof(*dfs_req) + utf16_path_len;
  3132		dfs_req = kzalloc(dfs_req_size, GFP_KERNEL);
  3133		if (!dfs_req) {
  3134			rc = -ENOMEM;
  3135			goto out;
  3136		}
  3137	
  3138		/* Highest DFS referral version understood */
  3139		dfs_req->MaxReferralLevel = DFS_VERSION;
  3140	
  3141		/* Path to resolve in an UTF-16 null-terminated string */
  3142		memcpy(dfs_req->RequestFileName, utf16_path, utf16_path_len);
  3143	
  3144		for (;;) {
  3145			rc = SMB2_ioctl(xid, tcon, NO_FILE_ID, NO_FILE_ID,
  3146					FSCTL_DFS_GET_REFERRALS,
  3147					(char *)dfs_req, dfs_req_size, CIFSMaxBufSize,
  3148					(char **)&dfs_rsp, &dfs_rsp_size);
  3149			if (fatal_signal_pending(current)) {
  3150				rc = -EINTR;
  3151				break;
  3152			}
  3153			if (!is_retryable_error(rc) || retry_once++)
  3154				break;
  3155			usleep_range(512, 2048);
  3156		}
  3157	
  3158		if (!rc && !dfs_rsp)
  3159			rc = smb_EIO(smb_eio_trace_dfsref_no_rsp);
  3160		if (rc) {
  3161			if (!is_retryable_error(rc) && rc != -ENOENT && rc != -EOPNOTSUPP)
  3162				cifs_tcon_dbg(FYI, "%s: ioctl error: rc=%d\n", __func__, rc);
  3163			goto out;
  3164		}
  3165	
  3166		rc = parse_dfs_referrals(dfs_rsp, dfs_rsp_size,
  3167					 num_of_nodes, target_nodes,
  3168					 nls_codepage, remap, search_name,
  3169					 true /* is_unicode */);
  3170		if (rc && rc != -ENOENT) {
  3171			cifs_tcon_dbg(VFS, "%s: failed to parse DFS referral %s: %d\n",
  3172				      __func__, search_name, rc);
  3173		}
  3174	
  3175	 out:
  3176		if (tcon && !tcon->ipc) {
  3177			/* ipc tcons are not refcounted */
> 3178			cifs_put_tcon(tcon);
  3179			trace_smb3_tcon_ref(tcon->debug_id, tcon->tc_count,
  3180					    netfs_trace_tcon_ref_dec_dfs_refer);
  3181		}
  3182		kfree(utf16_path);
  3183		kfree(dfs_req);
  3184		kfree(dfs_rsp);
  3185		return rc;
  3186	}
  3187	

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

  parent reply	other threads:[~2026-01-31 15:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20260131080239.943483-1-sprasad@microsoft.com>
2026-01-31  8:02 ` [PATCH 2/2] cifs: Fix locking usage for tcon fields nspmangalore
2026-01-31 10:07   ` Shyam Prasad N
2026-01-31 14:58   ` kernel test robot
2026-01-31 15:50   ` kernel test robot [this message]
2026-01-31 15:54   ` 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=202601312343.JPu2GSIi-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=bharathsm@microsoft.com \
    --cc=linux-cifs@vger.kernel.org \
    --cc=nspmangalore@gmail.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pc@manguebit.org \
    --cc=smfrench@gmail.com \
    --cc=sprasad@microsoft.com \
    --cc=stable@vger.kernel.org \
    /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