CC: [email protected]
TO: Steve French <[email protected]>

tree:   git://github.com/smfrench/smb3-kernel.git for-next
head:   28711a66701e3aefc5748dcde38dba1e2e79de34
commit: 46c2db2a20898662a26fc3de1fa9499271049570 [12/18] cifs: take 
cifs_tcp_ses_lock for status checks
:::::: branch date: 24 hours ago
:::::: commit date: 24 hours ago
config: i386-randconfig-c001-20211118 (attached as .config)
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
        # 
https://github.com/smfrench/smb3-kernel/commit/46c2db2a20898662a26fc3de1fa9499271049570
        git remote add smfrench-smb3 git://github.com/smfrench/smb3-kernel.git
        git fetch --no-tags smfrench-smb3 for-next
        git checkout 46c2db2a20898662a26fc3de1fa9499271049570
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 
clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


clang-analyzer warnings: (new ones prefixed by >>)
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:836:21:
 note: Assuming field 'usMclkDependencyTableOffset' is equal to 0
           if (result == 0 && powerplay_table->usMclkDependencyTableOffset != 0)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:836:2: 
note: Taking false branch
           if (result == 0 && powerplay_table->usMclkDependencyTableOffset != 0)
           ^
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:840:6: 
note: 'result' is equal to 0
           if (result == 0 && powerplay_table->usPCIETableOffset != 0)
               ^~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:840:6: 
note: Left side of '&&' is true
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:840:21:
 note: Assuming field 'usPCIETableOffset' is equal to 0
           if (result == 0 && powerplay_table->usPCIETableOffset != 0)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:840:2: 
note: Taking false branch
           if (result == 0 && powerplay_table->usPCIETableOffset != 0)
           ^
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:844:6: 
note: 'result' is equal to 0
           if (result == 0 && powerplay_table->usHardLimitTableOffset != 0)
               ^~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:844:6: 
note: Left side of '&&' is true
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:844:21:
 note: Assuming field 'usHardLimitTableOffset' is equal to 0
           if (result == 0 && powerplay_table->usHardLimitTableOffset != 0)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:844:2: 
note: Taking false branch
           if (result == 0 && powerplay_table->usHardLimitTableOffset != 0)
           ^
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:857:6: 
note: 'result' is equal to 0
           if (result == 0 && (NULL != pp_table_information->vdd_dep_on_mclk)
               ^~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:857:6: 
note: Left side of '&&' is true
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:857:22:
 note: NULL is equal to field 'vdd_dep_on_mclk'
           if (result == 0 && (NULL != pp_table_information->vdd_dep_on_mclk)
                               ^
   include/linux/stddef.h:8:14: note: expanded from macro 'NULL'
   #define NULL ((void *)0)
                ^~~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:858:3: 
note: Left side of '&&' is false
                   && (0 != pp_table_information->vdd_dep_on_mclk->count))
                   ^
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:862:6: 
note: 'result' is equal to 0
           if (result == 0 && (NULL != pp_table_information->vdd_dep_on_sclk)
               ^~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:862:6: 
note: Left side of '&&' is true
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:862:22:
 note: NULL is equal to field 'vdd_dep_on_sclk'
           if (result == 0 && (NULL != pp_table_information->vdd_dep_on_sclk)
                               ^
   include/linux/stddef.h:8:14: note: expanded from macro 'NULL'
   #define NULL ((void *)0)
                ^~~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:863:3: 
note: Left side of '&&' is false
                   && (0 != pp_table_information->vdd_dep_on_sclk->count))
                   ^
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:867:7: 
note: 'result' is 0
           if (!result && gpio_table)
                ^~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:867:6: 
note: Left side of '&&' is true
           if (!result && gpio_table)
               ^
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:867:17:
 note: Assuming 'gpio_table' is non-null
           if (!result && gpio_table)
                          ^~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:867:2: 
note: Taking true branch
           if (!result && gpio_table)
           ^
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:868:12:
 note: Calling 'get_gpio_table'
                   result = get_gpio_table(hwmgr, 
&pp_table_information->gpio_table,
                            
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:765:18:
 note: Calling 'kzalloc'
           pp_gpio_table = kzalloc(table_size, GFP_KERNEL);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:724:9: note: Calling 'kmalloc'
           return kmalloc(size, flags | __GFP_ZERO);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:578:2: note: Taking false branch
           if (__builtin_constant_p(size)) {
           ^
   include/linux/slab.h:595:2: note: Returning pointer, which participates in a 
condition later
           return __kmalloc(size, flags);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:724:9: note: Returning from 'kmalloc'
           return kmalloc(size, flags | __GFP_ZERO);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:724:2: note: Returning pointer, which participates in a 
condition later
           return kmalloc(size, flags | __GFP_ZERO);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:765:18:
 note: Returning from 'kzalloc'
           pp_gpio_table = kzalloc(table_size, GFP_KERNEL);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:766:6: 
note: Assuming 'pp_gpio_table' is non-null
           if (!pp_gpio_table)
               ^~~~~~~~~~~~~~
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:766:2: 
note: Taking false branch
           if (!pp_gpio_table)
           ^
   
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.c:769:6: 
note: Access to field 'count' results in a dereference of a null pointer 
(loaded from field 'vdd_dep_on_sclk')
           if (pp_table_information->vdd_dep_on_sclk->count <
               ^                     ~~~~~~~~~~~~~~~
   Suppressed 6 warnings (6 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.
>> fs/cifs/smb1ops.c:229:6: warning: Branch condition evaluates to a garbage 
>> value [clang-analyzer-core.uninitialized.Branch]
           if (reconnect) {
               ^~~~~~~~~
   fs/cifs/smb1ops.c:166:18: note: 'reconnect' declared without an initial value
           bool collision, reconnect;
                           ^~~~~~~~~
   fs/cifs/smb1ops.c:176:6: note: Assuming 'cur_mid' is not equal to 65535
           if (cur_mid == 0xffff)
               ^~~~~~~~~~~~~~~~~
   fs/cifs/smb1ops.c:176:2: note: Taking false branch
           if (cur_mid == 0xffff)
           ^
   fs/cifs/smb1ops.c:188:9: note: Assuming 'cur_mid' is equal to 'last_mid'
           while (cur_mid != last_mid) {
                  ^~~~~~~~~~~~~~~~~~~
   fs/cifs/smb1ops.c:188:2: note: Loop condition is false. Execution continues 
on line 227
           while (cur_mid != last_mid) {
           ^
   fs/cifs/smb1ops.c:229:6: note: Branch condition evaluates to a garbage value
           if (reconnect) {
               ^~~~~~~~~
   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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   6 warnings generated.
   drivers/staging/greybus/fw-download.c:51:19: warning: Use of memory after it 
is freed [clang-analyzer-unix.Malloc]
           release_firmware(fw_req->fw);
                            ^
   drivers/staging/greybus/fw-download.c:442:6: note: Assuming 'connection' is 
non-null
           if (!connection)
               ^~~~~~~~~~~
   drivers/staging/greybus/fw-download.c:442:2: note: Taking false branch
           if (!connection)
           ^
   drivers/staging/greybus/fw-download.c:453:2: note: Loop condition is false. 
Execution continues on line 455
           list_for_each_entry(fw_req, &fw_download->fw_requests, node)
           ^
   include/linux/list.h:630:2: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
           ^
   drivers/staging/greybus/fw-download.c:458:2: note: Loop condition is true.  
Entering loop body
           list_for_each_entry_safe(fw_req, tmp, &fw_download->fw_requests, 
node) {
           ^
   include/linux/list.h:717:2: note: expanded from macro 
'list_for_each_entry_safe'
           for (pos = list_first_entry(head, typeof(*pos), member),        \
           ^
   drivers/staging/greybus/fw-download.c:460:3: note: Calling 'free_firmware'
                   free_firmware(fw_download, fw_req);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/staging/greybus/fw-download.c:118:6: note: Assuming field 'disabled' 
is false
           if (fw_req->disabled)
               ^~~~~~~~~~~~~~~~
   drivers/staging/greybus/fw-download.c:118:2: note: Taking false branch
           if (fw_req->disabled)
           ^
   drivers/staging/greybus/fw-download.c:126:2: note: Calling 'put_fw_req'
           put_fw_req(fw_req);
           ^~~~~~~~~~~~~~~~~~
   drivers/staging/greybus/fw-download.c:88:2: note: Calling 'kref_put'
           kref_put(&fw_req->kref, fw_req_release);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/kref.h:64:2: note: Taking true branch
           if (refcount_dec_and_test(&kref->refcount)) {
           ^
   include/linux/kref.h:65:3: note: Calling 'fw_req_release'
                   release(kref);
                   ^~~~~~~~~~~~~
   drivers/staging/greybus/fw-download.c:48:2: note: Taking false branch
           dev_dbg(fw_req->fw_download->parent, "firmware %s released\n",
           ^
   include/linux/dev_printk.h:162:2: note: expanded from macro 'dev_dbg'
           if (0)                                                          \
           ^
   drivers/staging/greybus/fw-download.c:65:6: note: Assuming field 'timedout' 
is true
           if (!fw_req->timedout)
               ^~~~~~~~~~~~~~~~~
   drivers/staging/greybus/fw-download.c:65:2: note: Taking false branch
           if (!fw_req->timedout)
           ^
   drivers/staging/greybus/fw-download.c:69:2: note: Memory is released
           kfree(fw_req);

vim +229 fs/cifs/smb1ops.c

a891f0f895f4a7 Pavel Shilovsky            2012-05-23  139  
88257360605f93 Pavel Shilovsky            2012-05-23  140  /*
88257360605f93 Pavel Shilovsky            2012-05-23  141   * Find a free 
multiplex id (SMB mid). Otherwise there could be
88257360605f93 Pavel Shilovsky            2012-05-23  142   * mid collisions 
which might cause problems, demultiplexing the
88257360605f93 Pavel Shilovsky            2012-05-23  143   * wrong response to 
this request. Multiplex ids could collide if
88257360605f93 Pavel Shilovsky            2012-05-23  144   * one of a series 
requests takes much longer than the others, or
88257360605f93 Pavel Shilovsky            2012-05-23  145   * if a very large 
number of long lived requests (byte range
88257360605f93 Pavel Shilovsky            2012-05-23  146   * locks or 
FindNotify requests) are pending. No more than
88257360605f93 Pavel Shilovsky            2012-05-23  147   * 64K-1 requests 
can be outstanding at one time. If no
88257360605f93 Pavel Shilovsky            2012-05-23  148   * mids are 
available, return zero. A future optimization
88257360605f93 Pavel Shilovsky            2012-05-23  149   * could make the 
combination of mids and uid the key we use
88257360605f93 Pavel Shilovsky            2012-05-23  150   * to demultiplex on 
(rather than mid alone).
88257360605f93 Pavel Shilovsky            2012-05-23  151   * In addition to 
the above check, the cifs demultiplex
88257360605f93 Pavel Shilovsky            2012-05-23  152   * code already used 
the command code as a secondary
88257360605f93 Pavel Shilovsky            2012-05-23  153   * check of the 
frame and if signing is negotiated the
88257360605f93 Pavel Shilovsky            2012-05-23  154   * response would be 
discarded if the mid were the same
88257360605f93 Pavel Shilovsky            2012-05-23  155   * but the signature 
was wrong. Since the mid is not put in the
88257360605f93 Pavel Shilovsky            2012-05-23  156   * pending queue 
until later (when it is about to be dispatched)
88257360605f93 Pavel Shilovsky            2012-05-23  157   * we do have to 
limit the number of outstanding requests
88257360605f93 Pavel Shilovsky            2012-05-23  158   * to somewhat less 
than 64K-1 although it is hard to imagine
88257360605f93 Pavel Shilovsky            2012-05-23  159   * so many threads 
being in the vfs at one time.
88257360605f93 Pavel Shilovsky            2012-05-23  160   */
88257360605f93 Pavel Shilovsky            2012-05-23  161  static __u64
88257360605f93 Pavel Shilovsky            2012-05-23  162  
cifs_get_next_mid(struct TCP_Server_Info *server)
88257360605f93 Pavel Shilovsky            2012-05-23  163  {
88257360605f93 Pavel Shilovsky            2012-05-23  164       __u64 mid = 0;
88257360605f93 Pavel Shilovsky            2012-05-23  165       __u16 last_mid, 
cur_mid;
46c2db2a208986 Steve French               2021-11-19  166       bool collision, 
reconnect;
88257360605f93 Pavel Shilovsky            2012-05-23  167  
88257360605f93 Pavel Shilovsky            2012-05-23  168       
spin_lock(&GlobalMid_Lock);
88257360605f93 Pavel Shilovsky            2012-05-23  169  
88257360605f93 Pavel Shilovsky            2012-05-23  170       /* mid is 16 
bit only for CIFS/SMB */
88257360605f93 Pavel Shilovsky            2012-05-23  171       cur_mid = 
(__u16)((server->CurrentMid) & 0xffff);
88257360605f93 Pavel Shilovsky            2012-05-23  172       /* we do not 
want to loop forever */
88257360605f93 Pavel Shilovsky            2012-05-23  173       last_mid = 
cur_mid;
88257360605f93 Pavel Shilovsky            2012-05-23  174       cur_mid++;
03d9a9fe3f3aec Roberto Bergantinos Corpas 2019-10-14  175       /* avoid 0xFFFF 
MID */
03d9a9fe3f3aec Roberto Bergantinos Corpas 2019-10-14  176       if (cur_mid == 
0xffff)
03d9a9fe3f3aec Roberto Bergantinos Corpas 2019-10-14  177               
cur_mid++;
88257360605f93 Pavel Shilovsky            2012-05-23  178  
88257360605f93 Pavel Shilovsky            2012-05-23  179       /*
88257360605f93 Pavel Shilovsky            2012-05-23  180        * This nested 
loop looks more expensive than it is.
88257360605f93 Pavel Shilovsky            2012-05-23  181        * In practice 
the list of pending requests is short,
88257360605f93 Pavel Shilovsky            2012-05-23  182        * fewer than 
50, and the mids are likely to be unique
88257360605f93 Pavel Shilovsky            2012-05-23  183        * on the first 
pass through the loop unless some request
88257360605f93 Pavel Shilovsky            2012-05-23  184        * takes longer 
than the 64 thousand requests before it
88257360605f93 Pavel Shilovsky            2012-05-23  185        * (and it 
would also have to have been a request that
88257360605f93 Pavel Shilovsky            2012-05-23  186        * did not time 
out).
88257360605f93 Pavel Shilovsky            2012-05-23  187        */
88257360605f93 Pavel Shilovsky            2012-05-23  188       while (cur_mid 
!= last_mid) {
88257360605f93 Pavel Shilovsky            2012-05-23  189               struct 
mid_q_entry *mid_entry;
88257360605f93 Pavel Shilovsky            2012-05-23  190               
unsigned int num_mids;
88257360605f93 Pavel Shilovsky            2012-05-23  191  
88257360605f93 Pavel Shilovsky            2012-05-23  192               
collision = false;
88257360605f93 Pavel Shilovsky            2012-05-23  193               if 
(cur_mid == 0)
88257360605f93 Pavel Shilovsky            2012-05-23  194                       
cur_mid++;
88257360605f93 Pavel Shilovsky            2012-05-23  195  
88257360605f93 Pavel Shilovsky            2012-05-23  196               
num_mids = 0;
88257360605f93 Pavel Shilovsky            2012-05-23  197               
list_for_each_entry(mid_entry, &server->pending_mid_q, qhead) {
88257360605f93 Pavel Shilovsky            2012-05-23  198                       
++num_mids;
88257360605f93 Pavel Shilovsky            2012-05-23  199                       
if (mid_entry->mid == cur_mid &&
88257360605f93 Pavel Shilovsky            2012-05-23  200                       
    mid_entry->mid_state == MID_REQUEST_SUBMITTED) {
88257360605f93 Pavel Shilovsky            2012-05-23  201                       
        /* This mid is in use, try a different one */
88257360605f93 Pavel Shilovsky            2012-05-23  202                       
        collision = true;
88257360605f93 Pavel Shilovsky            2012-05-23  203                       
        break;
88257360605f93 Pavel Shilovsky            2012-05-23  204                       
}
88257360605f93 Pavel Shilovsky            2012-05-23  205               }
88257360605f93 Pavel Shilovsky            2012-05-23  206  
88257360605f93 Pavel Shilovsky            2012-05-23  207               /*
88257360605f93 Pavel Shilovsky            2012-05-23  208                * if 
we have more than 32k mids in the list, then something
88257360605f93 Pavel Shilovsky            2012-05-23  209                * is 
very wrong. Possibly a local user is trying to DoS the
88257360605f93 Pavel Shilovsky            2012-05-23  210                * box 
by issuing long-running calls and SIGKILL'ing them. If
88257360605f93 Pavel Shilovsky            2012-05-23  211                * we 
get to 2^16 mids then we're in big trouble as this
88257360605f93 Pavel Shilovsky            2012-05-23  212                * 
function could loop forever.
88257360605f93 Pavel Shilovsky            2012-05-23  213                *
88257360605f93 Pavel Shilovsky            2012-05-23  214                * Go 
ahead and assign out the mid in this situation, but force
88257360605f93 Pavel Shilovsky            2012-05-23  215                * an 
eventual reconnect to clean out the pending_mid_q.
88257360605f93 Pavel Shilovsky            2012-05-23  216                */
88257360605f93 Pavel Shilovsky            2012-05-23  217               if 
(num_mids > 32768)
46c2db2a208986 Steve French               2021-11-19  218                       
reconnect = true;
88257360605f93 Pavel Shilovsky            2012-05-23  219  
88257360605f93 Pavel Shilovsky            2012-05-23  220               if 
(!collision) {
88257360605f93 Pavel Shilovsky            2012-05-23  221                       
mid = (__u64)cur_mid;
88257360605f93 Pavel Shilovsky            2012-05-23  222                       
server->CurrentMid = mid;
88257360605f93 Pavel Shilovsky            2012-05-23  223                       
break;
88257360605f93 Pavel Shilovsky            2012-05-23  224               }
88257360605f93 Pavel Shilovsky            2012-05-23  225               
cur_mid++;
88257360605f93 Pavel Shilovsky            2012-05-23  226       }
88257360605f93 Pavel Shilovsky            2012-05-23  227       
spin_unlock(&GlobalMid_Lock);
46c2db2a208986 Steve French               2021-11-19  228  
46c2db2a208986 Steve French               2021-11-19 @229       if (reconnect) {
46c2db2a208986 Steve French               2021-11-19  230               
spin_lock(&cifs_tcp_ses_lock);
46c2db2a208986 Steve French               2021-11-19  231               
server->tcpStatus = CifsNeedReconnect;
46c2db2a208986 Steve French               2021-11-19  232               
spin_unlock(&cifs_tcp_ses_lock);
46c2db2a208986 Steve French               2021-11-19  233       }
46c2db2a208986 Steve French               2021-11-19  234  
88257360605f93 Pavel Shilovsky            2012-05-23  235       return mid;
88257360605f93 Pavel Shilovsky            2012-05-23  236  }
88257360605f93 Pavel Shilovsky            2012-05-23  237  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to