All of lore.kernel.org
 help / color / mirror / Atom feed
* [cifs:for-next 9/12] fs/cifs/smb2ops.c:2677:2: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-03-23 19:33 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-03-23 19:33 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 24801 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-cifs(a)vger.kernel.org
CC: samba-technical(a)lists.samba.org
TO: Ronnie Sahlberg <lsahlber@redhat.com>
CC: Steve French <stfrench@microsoft.com>

tree:   git://git.samba.org/sfrench/cifs-2.6.git for-next
head:   cf084b6b81ac0571021fa250d942c441d7f25265
commit: c7550868b2ed88725034be3ba78e38721b5747b9 [9/12] cifs: change smb2_query_info_compound to use a cached fid, if available
:::::: branch date: 15 hours ago
:::::: commit date: 21 hours ago
config: x86_64-randconfig-c007 (https://download.01.org/0day-ci/archive/20220324/202203240346.xr6vS8U9-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 902f4708fe1d03b0de7e5315ef875006a6adc319)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git remote add cifs git://git.samba.org/sfrench/cifs-2.6.git
        git fetch --no-tags cifs for-next
        git checkout c7550868b2ed88725034be3ba78e38721b5747b9
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
           ^
   drivers/net/arcnet/arcdevice.h:79:42: note: expanded from macro 'arc_printk'
   #define arc_printk(x, dev, fmt, ...)                                    \
                                                                           ^
   drivers/net/arcnet/com20020.c:313:2: note: Taking false branch
           arc_printk(D_DEBUG, dev, "%s: %d: %s\n", __FILE__, __LINE__, __func__);
           ^
   drivers/net/arcnet/arcdevice.h:81:2: note: expanded from macro 'arc_printk'
           if (BUGLVL(x)) {                                                \
           ^
   drivers/net/arcnet/com20020.c:313:2: note: Loop condition is false.  Exiting loop
           arc_printk(D_DEBUG, dev, "%s: %d: %s\n", __FILE__, __LINE__, __func__);
           ^
   drivers/net/arcnet/arcdevice.h:79:42: note: expanded from macro 'arc_printk'
   #define arc_printk(x, dev, fmt, ...)                                    \
                                                                           ^
   drivers/net/arcnet/com20020.c:315:2: note: Calling 'com20020_copy_from_card'
           com20020_copy_from_card(dev, 0, 0, &inbyte, 1);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/arcnet/com20020.c:73:2: note: Taking false branch
           TIME(dev, "insb", count,
           ^
   drivers/net/arcnet/arcdevice.h:100:2: note: expanded from macro 'TIME'
           if (BUGLVL(D_TIMING)) {                                         \
           ^
   drivers/net/arcnet/com20020.c:74:7: note: Calling 'insb'
                arcnet_insb(ioaddr, COM20020_REG_RW_MEMDATA, buf, count));
                ^
   drivers/net/arcnet/arcdevice.h:389:2: note: expanded from macro 'arcnet_insb'
           insb((addr) + BUS_ALIGN * (offset), buffer, count)
           ^
   arch/x86/include/asm/io.h:330:14: note: expanded from macro 'insb'
   #define insb insb
                ^
   drivers/net/arcnet/arcdevice.h:110:3: note: expanded from macro 'TIME'
                   call;                                                   \
                   ^~~~
   arch/x86/include/asm/io.h:320:1: note: Taking false branch
   BUILDIO(b, b, char)
   ^
   arch/x86/include/asm/io.h:306:2: note: expanded from macro 'BUILDIO'
           if (cc_platform_has(CC_ATTR_GUEST_UNROLL_STRING_IO)) {          \
           ^
   arch/x86/include/asm/io.h:320:1: note: Returning without writing to '*addr'
   BUILDIO(b, b, char)
   ^
   arch/x86/include/asm/io.h:317:11: note: expanded from macro 'BUILDIO'
           }                                                               \
                                                                           ^
   drivers/net/arcnet/com20020.c:74:7: note: Returning from 'insb'
                arcnet_insb(ioaddr, COM20020_REG_RW_MEMDATA, buf, count));
                ^
   drivers/net/arcnet/arcdevice.h:389:2: note: expanded from macro 'arcnet_insb'
           insb((addr) + BUS_ALIGN * (offset), buffer, count)
           ^
   arch/x86/include/asm/io.h:330:14: note: expanded from macro 'insb'
   #define insb insb
                ^
   drivers/net/arcnet/arcdevice.h:110:3: note: expanded from macro 'TIME'
                   call;                                                   \
                   ^~~~
   drivers/net/arcnet/com20020.c:73:2: note: Loop condition is false.  Exiting loop
           TIME(dev, "insb", count,
           ^
   drivers/net/arcnet/arcdevice.h:98:42: note: expanded from macro 'TIME'
   #define TIME(dev, name, bytes, call)                                    \
                                                                           ^
   drivers/net/arcnet/com20020.c:75:1: note: Returning without writing to '*buf'
   }
   ^
   drivers/net/arcnet/com20020.c:315:2: note: Returning from 'com20020_copy_from_card'
           com20020_copy_from_card(dev, 0, 0, &inbyte, 1);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/arcnet/com20020.c:316:2: note: Taking false branch
           arc_printk(D_DEBUG, dev, "%s: %d: %s\n", __FILE__, __LINE__, __func__);
           ^
   drivers/net/arcnet/arcdevice.h:81:2: note: expanded from macro 'arc_printk'
           if (BUGLVL(x)) {                                                \
           ^
   drivers/net/arcnet/com20020.c:316:2: note: Loop condition is false.  Exiting loop
           arc_printk(D_DEBUG, dev, "%s: %d: %s\n", __FILE__, __LINE__, __func__);
           ^
   drivers/net/arcnet/arcdevice.h:79:42: note: expanded from macro 'arc_printk'
   #define arc_printk(x, dev, fmt, ...)                                    \
                                                                           ^
   drivers/net/arcnet/com20020.c:317:13: note: The left operand of '!=' is a garbage value
           if (inbyte != TESTvalue) {
               ~~~~~~ ^
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   12 warnings generated.
>> fs/cifs/smb2ops.c:2677:2: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores]
           rc = open_cached_dir(xid, tcon, path, cifs_sb, &cfid);
           ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/cifs/smb2ops.c:2677:2: note: Value stored to 'rc' is never read
           rc = open_cached_dir(xid, tcon, path, cifs_sb, &cfid);
           ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/cifs/smb2ops.c:4252:3: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcat(message, "R");
                   ^~~~~~
   fs/cifs/smb2ops.c:4252:3: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                   strcat(message, "R");
                   ^~~~~~
   fs/cifs/smb2ops.c:4256:3: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcat(message, "H");
                   ^~~~~~
   fs/cifs/smb2ops.c:4256:3: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                   strcat(message, "H");
                   ^~~~~~
   fs/cifs/smb2ops.c:4260:3: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcat(message, "W");
                   ^~~~~~
   fs/cifs/smb2ops.c:4260:3: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                   strcat(message, "W");
                   ^~~~~~
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   lib/mpi/mpih-div.c:202:12: warning: Division by zero [clang-analyzer-core.DivideZero]
                   return 1 / dsize;
                          ~~^~~~~~~
   lib/mpi/mpih-div.c:194:2: note: Control jumps to 'case 0:'  at line 195
           switch (dsize) {
           ^
   lib/mpi/mpih-div.c:202:12: note: Division by zero
                   return 1 / dsize;
                          ~~^~~~~~~
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   drivers/i2c/algos/i2c-algo-pcf.c:322:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = pcf_doAddress(adap, pmsg);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/i2c/algos/i2c-algo-pcf.c:322:3: note: Value stored to 'ret' is never read
                   ret = pcf_doAddress(adap, pmsg);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   net/core/skbuff.c:741:6: warning: Access to field 'head' results in a dereference of a null pointer (loaded from variable 'skb') [clang-analyzer-core.NullDereference]
           if (likely(skb->head))
               ^
   include/linux/compiler.h:77:39: note: expanded from macro 'likely'
   # define likely(x)      __builtin_expect(!!(x), 1)

vim +/rc +2677 fs/cifs/smb2ops.c

730928c8f4be88 Ronnie Sahlberg 2018-08-08  2636  
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2637  /*
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2638   * Passes the query info response back to the caller on success.
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2639   * Caller need to free this with free_rsp_buf().
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2640   */
f9793b6fcc8ede Ronnie Sahlberg 2018-11-27  2641  int
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2642  smb2_query_info_compound(const unsigned int xid, struct cifs_tcon *tcon,
8f47432b25acf5 Ronnie Sahlberg 2022-03-22  2643  			 const char *path, u32 desired_access,
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2644  			 u32 class, u32 type, u32 output_len,
f9793b6fcc8ede Ronnie Sahlberg 2018-11-27  2645  			 struct kvec *rsp, int *buftype,
f9793b6fcc8ede Ronnie Sahlberg 2018-11-27  2646  			 struct cifs_sb_info *cifs_sb)
6fc05c25ca35e6 Pavel Shilovsky 2012-09-18  2647  {
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2648  	struct cifs_ses *ses = tcon->ses;
352d96f3acc6e0 Aurelien Aptel  2020-05-31  2649  	struct TCP_Server_Info *server = cifs_pick_channel(ses);
04ad69c342fc4d Paulo Alcantara 2021-03-08  2650  	int flags = CIFS_CP_CREATE_CLOSE_OP;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2651  	struct smb_rqst rqst[3];
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2652  	int resp_buftype[3];
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2653  	struct kvec rsp_iov[3];
4d8dfafc5cb88f Ronnie Sahlberg 2018-08-21  2654  	struct kvec open_iov[SMB2_CREATE_IOV_SIZE];
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2655  	struct kvec qi_iov[1];
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2656  	struct kvec close_iov[1];
6fc05c25ca35e6 Pavel Shilovsky 2012-09-18  2657  	u8 oplock = SMB2_OPLOCK_LEVEL_NONE;
064f6047a123d6 Pavel Shilovsky 2013-07-09  2658  	struct cifs_open_parms oparms;
064f6047a123d6 Pavel Shilovsky 2013-07-09  2659  	struct cifs_fid fid;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2660  	int rc;
8f47432b25acf5 Ronnie Sahlberg 2022-03-22  2661  	__le16 *utf16_path;
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2662  	struct cached_fid *cfid = NULL;
8f47432b25acf5 Ronnie Sahlberg 2022-03-22  2663  
8f47432b25acf5 Ronnie Sahlberg 2022-03-22  2664  	if (!path)
8f47432b25acf5 Ronnie Sahlberg 2022-03-22  2665  		path = "";
8f47432b25acf5 Ronnie Sahlberg 2022-03-22  2666  	utf16_path = cifs_convert_path_to_utf16(path, cifs_sb);
8f47432b25acf5 Ronnie Sahlberg 2022-03-22  2667  	if (!utf16_path)
8f47432b25acf5 Ronnie Sahlberg 2022-03-22  2668  		return -ENOMEM;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2669  
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2670  	if (smb3_encryption_required(tcon))
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2671  		flags |= CIFS_TRANSFORM_REQ;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2672  
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2673  	memset(rqst, 0, sizeof(rqst));
c5a5f38f075cf7 Ronnie Sahlberg 2018-09-03  2674  	resp_buftype[0] = resp_buftype[1] = resp_buftype[2] = CIFS_NO_BUFFER;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2675  	memset(rsp_iov, 0, sizeof(rsp_iov));
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2676  
c7550868b2ed88 Ronnie Sahlberg 2022-03-22 @2677  	rc = open_cached_dir(xid, tcon, path, cifs_sb, &cfid);
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2678  
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2679  	memset(&open_iov, 0, sizeof(open_iov));
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2680  	rqst[0].rq_iov = open_iov;
4d8dfafc5cb88f Ronnie Sahlberg 2018-08-21  2681  	rqst[0].rq_nvec = SMB2_CREATE_IOV_SIZE;
064f6047a123d6 Pavel Shilovsky 2013-07-09  2682  
064f6047a123d6 Pavel Shilovsky 2013-07-09  2683  	oparms.tcon = tcon;
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2684  	oparms.desired_access = desired_access;
064f6047a123d6 Pavel Shilovsky 2013-07-09  2685  	oparms.disposition = FILE_OPEN;
0f060936e490c6 Amir Goldstein  2020-02-03  2686  	oparms.create_options = cifs_create_options(cifs_sb, 0);
064f6047a123d6 Pavel Shilovsky 2013-07-09  2687  	oparms.fid = &fid;
9cbc0b7339b054 Pavel Shilovsky 2013-07-09  2688  	oparms.reconnect = false;
6fc05c25ca35e6 Pavel Shilovsky 2012-09-18  2689  
352d96f3acc6e0 Aurelien Aptel  2020-05-31  2690  	rc = SMB2_open_init(tcon, server,
352d96f3acc6e0 Aurelien Aptel  2020-05-31  2691  			    &rqst[0], &oplock, &oparms, utf16_path);
6fc05c25ca35e6 Pavel Shilovsky 2012-09-18  2692  	if (rc)
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2693  		goto qic_exit;
e77fe73c7e38c3 Ronnie Sahlberg 2018-12-31  2694  	smb2_set_next_command(tcon, &rqst[0]);
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2695  
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2696  	memset(&qi_iov, 0, sizeof(qi_iov));
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2697  	rqst[1].rq_iov = qi_iov;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2698  	rqst[1].rq_nvec = 1;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2699  
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2700  	if (cfid) {
352d96f3acc6e0 Aurelien Aptel  2020-05-31  2701  		rc = SMB2_query_info_init(tcon, server,
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2702  					  &rqst[1],
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2703  					  cfid->fid->persistent_fid,
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2704  					  cfid->fid->volatile_fid,
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2705  					  class, type, 0,
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2706  					  output_len, 0,
f5b05d622a3e99 Ronnie Sahlberg 2018-10-07  2707  					  NULL);
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2708  	} else {
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2709  		rc = SMB2_query_info_init(tcon, server,
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2710  					  &rqst[1],
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2711  					  COMPOUND_FID,
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2712  					  COMPOUND_FID,
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2713  					  class, type, 0,
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2714  					  output_len, 0,
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2715  					  NULL);
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2716  	}
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2717  	if (rc)
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2718  		goto qic_exit;
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2719  	if (!cfid) {
e77fe73c7e38c3 Ronnie Sahlberg 2018-12-31  2720  		smb2_set_next_command(tcon, &rqst[1]);
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2721  		smb2_set_related(&rqst[1]);
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2722  	}
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2723  
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2724  	memset(&close_iov, 0, sizeof(close_iov));
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2725  	rqst[2].rq_iov = close_iov;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2726  	rqst[2].rq_nvec = 1;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2727  
352d96f3acc6e0 Aurelien Aptel  2020-05-31  2728  	rc = SMB2_close_init(tcon, server,
352d96f3acc6e0 Aurelien Aptel  2020-05-31  2729  			     &rqst[2], COMPOUND_FID, COMPOUND_FID, false);
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2730  	if (rc)
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2731  		goto qic_exit;
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2732  	smb2_set_related(&rqst[2]);
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2733  
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2734  	if (cfid) {
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2735  		rc = compound_send_recv(xid, ses, server,
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2736  					flags, 1, &rqst[1],
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2737  					&resp_buftype[1], &rsp_iov[1]);
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2738  	} else {
352d96f3acc6e0 Aurelien Aptel  2020-05-31  2739  		rc = compound_send_recv(xid, ses, server,
352d96f3acc6e0 Aurelien Aptel  2020-05-31  2740  					flags, 3, rqst,
730928c8f4be88 Ronnie Sahlberg 2018-08-08  2741  					resp_buftype, rsp_iov);
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2742  	}
f9793b6fcc8ede Ronnie Sahlberg 2018-11-27  2743  	if (rc) {
f9793b6fcc8ede Ronnie Sahlberg 2018-11-27  2744  		free_rsp_buf(resp_buftype[1], rsp_iov[1].iov_base);
7dcc82c2dfd5f1 Steve French    2019-09-11  2745  		if (rc == -EREMCHG) {
7dcc82c2dfd5f1 Steve French    2019-09-11  2746  			tcon->need_reconnect = true;
a0a3036b81f1f6 Joe Perches     2020-04-14  2747  			pr_warn_once("server share %s deleted\n",
7dcc82c2dfd5f1 Steve French    2019-09-11  2748  				     tcon->treeName);
7dcc82c2dfd5f1 Steve French    2019-09-11  2749  		}
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2750  		goto qic_exit;
f9793b6fcc8ede Ronnie Sahlberg 2018-11-27  2751  	}
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2752  	*rsp = rsp_iov[1];
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2753  	*buftype = resp_buftype[1];
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2754  
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2755   qic_exit:
8f47432b25acf5 Ronnie Sahlberg 2022-03-22  2756  	kfree(utf16_path);
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2757  	SMB2_open_free(&rqst[0]);
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2758  	SMB2_query_info_free(&rqst[1]);
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2759  	SMB2_close_free(&rqst[2]);
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2760  	free_rsp_buf(resp_buftype[0], rsp_iov[0].iov_base);
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2761  	free_rsp_buf(resp_buftype[2], rsp_iov[2].iov_base);
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2762  	if(cfid)
c7550868b2ed88 Ronnie Sahlberg 2022-03-22  2763  		close_cached_dir(cfid);
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2764  	return rc;
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2765  }
07d3b2e4264fb3 Ronnie Sahlberg 2018-12-20  2766  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-03-23 19:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-23 19:33 [cifs:for-next 9/12] fs/cifs/smb2ops.c:2677:2: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.