Hello,

This is not actually a bug.  But for both tools and humans, it might be
better to refer to the lock on line 1281 in the same way that it is
referred to on line 1277.

julia

---------- Forwarded message ----------
Date: Thu, 18 Jun 2020 08:07:12 +0800
From: kernel test robot <l...@intel.com>
To: kbu...@lists.01.org
Cc: l...@intel.com, Julia Lawall <julia.law...@lip6.fr>
Subject: fs/cifs/transport.c:1284:2-8: preceding lock on line 1277

CC: kbuild-...@lists.01.org
CC: linux-kernel@vger.kernel.org
TO: Ronnie Sahlberg <lsahl...@redhat.com>
CC: Steve French <stfre...@microsoft.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   1b5044021070efa3259f3e9548dc35d1eb6aa844
commit: afe6f65353b644f55875d42d812ffe87f1887d68 cifs: add new debugging macro 
cifs_server_dbg
date:   9 months ago
:::::: branch date: 6 hours ago
:::::: commit date: 9 months ago
config: xtensa-randconfig-c024-20200617 (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Julia Lawall <julia.law...@lip6.fr>


coccinelle warnings: (new ones prefixed by >>)

>> fs/cifs/transport.c:1284:2-8: preceding lock on line 1277

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=afe6f65353b644f55875d42d812ffe87f1887d68
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout afe6f65353b644f55875d42d812ffe87f1887d68
vim +1284 fs/cifs/transport.c

738f9de5cdb917 Pavel Shilovsky 2016-11-23  1233
^1da177e4c3f41 Linus Torvalds  2005-04-16  1234  int
96daf2b09178d8 Steve French    2011-05-27  1235  SendReceive(const unsigned int 
xid, struct cifs_ses *ses,
^1da177e4c3f41 Linus Torvalds  2005-04-16  1236             struct smb_hdr 
*in_buf, struct smb_hdr *out_buf,
480b1cb9dad894 Ronnie Sahlberg 2019-03-08  1237             int 
*pbytes_returned, const int flags)
^1da177e4c3f41 Linus Torvalds  2005-04-16  1238  {
^1da177e4c3f41 Linus Torvalds  2005-04-16  1239         int rc = 0;
^1da177e4c3f41 Linus Torvalds  2005-04-16  1240         struct mid_q_entry 
*midQ;
fb2036d817584d Pavel Shilovsky 2016-11-23  1241         unsigned int len = 
be32_to_cpu(in_buf->smb_buf_length);
fb2036d817584d Pavel Shilovsky 2016-11-23  1242         struct kvec iov = { 
.iov_base = in_buf, .iov_len = len };
fb2036d817584d Pavel Shilovsky 2016-11-23  1243         struct smb_rqst rqst = 
{ .rq_iov = &iov, .rq_nvec = 1 };
34f4deb7c56c6f Pavel Shilovsky 2019-01-16  1244         struct cifs_credits 
credits = { .value = 1, .instance = 0 };
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1245         struct TCP_Server_Info 
*server = ses->server;
^1da177e4c3f41 Linus Torvalds  2005-04-16  1246
^1da177e4c3f41 Linus Torvalds  2005-04-16  1247         if (ses == NULL) {
f96637be081141 Joe Perches     2013-05-04  1248                 cifs_dbg(VFS, 
"Null smb session\n");
^1da177e4c3f41 Linus Torvalds  2005-04-16  1249                 return -EIO;
^1da177e4c3f41 Linus Torvalds  2005-04-16  1250         }
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1251         if (server == NULL) {
f96637be081141 Joe Perches     2013-05-04  1252                 cifs_dbg(VFS, 
"Null tcp session\n");
^1da177e4c3f41 Linus Torvalds  2005-04-16  1253                 return -EIO;
^1da177e4c3f41 Linus Torvalds  2005-04-16  1254         }
^1da177e4c3f41 Linus Torvalds  2005-04-16  1255
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1256         if (server->tcpStatus 
== CifsExiting)
31ca3bc3c569f9 Steve French    2005-04-28  1257                 return -ENOENT;
31ca3bc3c569f9 Steve French    2005-04-28  1258
^1da177e4c3f41 Linus Torvalds  2005-04-16  1259         /* Ensure that we do 
not send more than 50 overlapping requests
^1da177e4c3f41 Linus Torvalds  2005-04-16  1260            to the same server. 
We may make this configurable later or
^1da177e4c3f41 Linus Torvalds  2005-04-16  1261            use ses->maxReq */
^1da177e4c3f41 Linus Torvalds  2005-04-16  1262
fb2036d817584d Pavel Shilovsky 2016-11-23  1263         if (len > 
CIFSMaxBufSize + MAX_CIFS_HDR_SIZE - 4) {
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1264                 
cifs_server_dbg(VFS, "Illegal length, greater than maximum frame, %d\n",
fb2036d817584d Pavel Shilovsky 2016-11-23  1265                          len);
6d9c6d543165d1 Volker Lendecke 2008-12-08  1266                 return -EIO;
6d9c6d543165d1 Volker Lendecke 2008-12-08  1267         }
6d9c6d543165d1 Volker Lendecke 2008-12-08  1268
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1269         rc = 
wait_for_free_request(server, flags, &credits.instance);
7ee1af765dfa31 Jeremy Allison  2006-08-02  1270         if (rc)
7ee1af765dfa31 Jeremy Allison  2006-08-02  1271                 return rc;
^1da177e4c3f41 Linus Torvalds  2005-04-16  1272
^1da177e4c3f41 Linus Torvalds  2005-04-16  1273         /* make sure that we 
sign in the same order that we send on this socket
^1da177e4c3f41 Linus Torvalds  2005-04-16  1274            and avoid races 
inside tcp sendmsg code that could cause corruption
^1da177e4c3f41 Linus Torvalds  2005-04-16  1275            of smb data */
^1da177e4c3f41 Linus Torvalds  2005-04-16  1276
afe6f65353b644 Ronnie Sahlberg 2019-08-28 @1277         
mutex_lock(&server->srv_mutex);
^1da177e4c3f41 Linus Torvalds  2005-04-16  1278
7ee1af765dfa31 Jeremy Allison  2006-08-02  1279         rc = allocate_mid(ses, 
in_buf, &midQ);
7ee1af765dfa31 Jeremy Allison  2006-08-02  1280         if (rc) {
72ca545b2d83ac Jeff Layton     2008-12-01  1281                 
mutex_unlock(&ses->server->srv_mutex);
7ee1af765dfa31 Jeremy Allison  2006-08-02  1282                 /* Update # of 
requests on wire to server */
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1283                 
add_credits(server, &credits, 0);
7ee1af765dfa31 Jeremy Allison  2006-08-02 @1284                 return rc;
^1da177e4c3f41 Linus Torvalds  2005-04-16  1285         }
^1da177e4c3f41 Linus Torvalds  2005-04-16  1286
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1287         rc = 
cifs_sign_smb(in_buf, server, &midQ->sequence_number);
829049cbb1d2dd Volker Lendecke 2008-12-06  1288         if (rc) {
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1289                 
mutex_unlock(&server->srv_mutex);
829049cbb1d2dd Volker Lendecke 2008-12-06  1290                 goto out;
829049cbb1d2dd Volker Lendecke 2008-12-06  1291         }
^1da177e4c3f41 Linus Torvalds  2005-04-16  1292
7c9421e1a9ce8d Pavel Shilovsky 2012-03-23  1293         midQ->mid_state = 
MID_REQUEST_SUBMITTED;
789e66612367f9 Steve French    2011-08-09  1294
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1295         
cifs_in_send_inc(server);
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1296         rc = smb_send(server, 
in_buf, len);
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1297         
cifs_in_send_dec(server);
789e66612367f9 Steve French    2011-08-09  1298         
cifs_save_when_sent(midQ);
ad313cb86dfba2 Jeff Layton     2013-04-03  1299
ad313cb86dfba2 Jeff Layton     2013-04-03  1300         if (rc < 0)
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1301                 
server->sequence_number -= 2;
ad313cb86dfba2 Jeff Layton     2013-04-03  1302
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1303         
mutex_unlock(&server->srv_mutex);
7ee1af765dfa31 Jeremy Allison  2006-08-02  1304
7ee1af765dfa31 Jeremy Allison  2006-08-02  1305         if (rc < 0)
7ee1af765dfa31 Jeremy Allison  2006-08-02  1306                 goto out;
7ee1af765dfa31 Jeremy Allison  2006-08-02  1307
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1308         rc = 
wait_for_response(server, midQ);
1be912dde772b7 Jeff Layton     2011-01-28  1309         if (rc != 0) {
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1310                 
send_cancel(server, &rqst, midQ);
1be912dde772b7 Jeff Layton     2011-01-28  1311                 
spin_lock(&GlobalMid_Lock);
7c9421e1a9ce8d Pavel Shilovsky 2012-03-23  1312                 if 
(midQ->mid_state == MID_REQUEST_SUBMITTED) {
1be912dde772b7 Jeff Layton     2011-01-28  1313                         /* no 
longer considered to be "in-flight" */
1be912dde772b7 Jeff Layton     2011-01-28  1314                         
midQ->callback = DeleteMidQEntry;
1be912dde772b7 Jeff Layton     2011-01-28  1315                         
spin_unlock(&GlobalMid_Lock);
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1316                         
add_credits(server, &credits, 0);
1be912dde772b7 Jeff Layton     2011-01-28  1317                         return 
rc;
1be912dde772b7 Jeff Layton     2011-01-28  1318                 }
1be912dde772b7 Jeff Layton     2011-01-28  1319                 
spin_unlock(&GlobalMid_Lock);
1be912dde772b7 Jeff Layton     2011-01-28  1320         }
14a441a2b4ee1d Steve French    2006-07-16  1321
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1322         rc = 
cifs_sync_mid_result(midQ, server);
053d50344568e5 Jeff Layton     2011-01-11  1323         if (rc != 0) {
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1324                 
add_credits(server, &credits, 0);
7ee1af765dfa31 Jeremy Allison  2006-08-02  1325                 return rc;
7ee1af765dfa31 Jeremy Allison  2006-08-02  1326         }
7ee1af765dfa31 Jeremy Allison  2006-08-02  1327
2c8f981d93f830 Jeff Layton     2011-05-19  1328         if (!midQ->resp_buf || 
!out_buf ||
7c9421e1a9ce8d Pavel Shilovsky 2012-03-23  1329             midQ->mid_state != 
MID_RESPONSE_RECEIVED) {
7ee1af765dfa31 Jeremy Allison  2006-08-02  1330                 rc = -EIO;
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1331                 
cifs_server_dbg(VFS, "Bad MID state?\n");
2c8f981d93f830 Jeff Layton     2011-05-19  1332                 goto out;
7ee1af765dfa31 Jeremy Allison  2006-08-02  1333         }
7ee1af765dfa31 Jeremy Allison  2006-08-02  1334
d4e4854fd1c85a Pavel Shilovsky 2012-03-23  1335         *pbytes_returned = 
get_rfc1002_length(midQ->resp_buf);
2c8f981d93f830 Jeff Layton     2011-05-19  1336         memcpy(out_buf, 
midQ->resp_buf, *pbytes_returned + 4);
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1337         rc = 
cifs_check_receive(midQ, server, 0);
7ee1af765dfa31 Jeremy Allison  2006-08-02  1338  out:
3c1bf7e48e9e46 Pavel Shilovsky 2012-09-18  1339         cifs_delete_mid(midQ);
afe6f65353b644 Ronnie Sahlberg 2019-08-28  1340         add_credits(server, 
&credits, 0);
7ee1af765dfa31 Jeremy Allison  2006-08-02  1341
7ee1af765dfa31 Jeremy Allison  2006-08-02  1342         return rc;
7ee1af765dfa31 Jeremy Allison  2006-08-02  1343  }
7ee1af765dfa31 Jeremy Allison  2006-08-02  1344

:::::: The code at line 1284 was first introduced by commit
:::::: 7ee1af765dfa3146aef958258003245e082284e5 [CIFS]

:::::: TO: Jeremy Allison <j...@samba.com>
:::::: CC: Steve French <sfre...@us.ibm.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to