Messages in this thread | | | Date | Thu, 18 Jun 2020 20:12:12 +0200 (CEST) | From | Julia Lawall <> | Subject | Re: [EXTERNAL] fs/cifs/transport.c:1284:2-8: preceding lock on line 1277 (fwd) |
| |
On Thu, 18 Jun 2020, Steven French wrote:
> Wasn't this fixed last year by:
It looks like it. I received the message today from kbuild, but I didn't look further than that. Perhaps it is an old tree somehow.
julia
> > commit 8bd3754cff3aa6e80e73cb56042cdc6f76d6510e > Author: Dan Carpenter <dan.carpenter@oracle.com> > Date: Fri Oct 25 13:35:08 2019 +0300 > > cifs: rename a variable in SendReceive() > > Smatch gets confused because we sometimes refer to "server->srv_mutex" > and > sometimes to "sess->server->srv_mutex". They refer to the same lock so > let's just make this consistent. > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > Signed-off-by: Steve French <stfrench@microsoft.com> > > diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c > index ca3de62688d6..f27842fb9f75 100644 > --- a/fs/cifs/transport.c > +++ b/fs/cifs/transport.c > @@ -1287,7 +1287,7 @@ SendReceive(const unsigned int xid, struct cifs_ses > *ses, > > rc = allocate_mid(ses, in_buf, &midQ); > if (rc) { > - mutex_unlock(&ses->server->srv_mutex); > + mutex_unlock(&server->srv_mutex); > /* Update # of requests on wire to server */ > add_credits(server, &credits, 0); > return rc; > > ____________________________________________________________________________ > From: Julia Lawall <julia.lawall@inria.fr> > Sent: Thursday, June 18, 2020 10:08 AM > To: Ronnie Sahlberg <lsahlber@redhat.com> > Cc: Steven French <Steven.French@microsoft.com>; > linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; > kbuild-all@lists.01.org <kbuild-all@lists.01.org> > Subject: [EXTERNAL] fs/cifs/transport.c:1284:2-8: preceding lock on line > 1277 (fwd) > 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 <lkp@intel.com> > To: kbuild@lists.01.org > Cc: lkp@intel.com, Julia Lawall <julia.lawall@lip6.fr> > Subject: fs/cifs/transport.c:1284:2-8: preceding lock on line 1277 > > CC: kbuild-all@lists.01.org > CC: linux-kernel@vger.kernel.org > TO: Ronnie Sahlberg <lsahlber@redhat.com> > CC: Steve French <stfrench@microsoft.com> > > tree: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kerne > l.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git&data=0 > 2%7C01%7CSteven.French%40microsoft.com%7C206f157b15804da9dad408d81399862d% > 7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637280897690591644&sdata= > rglSnjoPRmT8g0Fj9k2jeCz11jZmXeUmB8W5vnD3LO4%3D&reserved=0 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 <lkp@intel.com> > Reported-by: Julia Lawall <julia.lawall@lip6.fr> > > > coccinelle warnings: (new ones prefixed by >>) > > >> fs/cifs/transport.c:1284:2-8: preceding lock on line 1277 > > #https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kerne > l.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git%2Fcommit%2 > F%3Fid%3Dafe6f65353b644f55875d42d812ffe87f1887d68&data=02%7C01%7CSteve > n.French%40microsoft.com%7C206f157b15804da9dad408d81399862d%7C72f988bf86f1 > 41af91ab2d7cd011db47%7C1%7C0%7C637280897690591644&sdata=AeeIaHJgLjCns9 > aksXdMxnYone5UZVM3n2DREKL6N6c%3D&reserved=0 > git remote add linushttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kerne > l.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git&data=0 > 2%7C01%7CSteven.French%40microsoft.com%7C206f157b15804da9dad408d81399862d% > 7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637280897690601647&sdata= > K6zcUzaXsw9IkszPgZX66llW8857a9ApKU9e2Z9rDFY%3D&reserved=0 > 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 <jra@samba.com> > :::::: CC: Steve French <sfrench@us.ibm.com> > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01. > org%2Fhyperkitty%2Flist%2Fkbuild-all%40lists.01.org&data=02%7C01%7CSte > ven.French%40microsoft.com%7C206f157b15804da9dad408d81399862d%7C72f988bf86 > f141af91ab2d7cd011db47%7C1%7C0%7C637280897690601647&sdata=8ooAqMhFsu0W > PNZHTqniPgiydgShTnlvnHtQMieY3Ao%3D&reserved=0 > >
| |