Message ID | 1498673154-30879-1-git-send-email-longli@exchange.microsoft.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
2017-06-28 11:05 GMT-07:00 Long Li <longli@exchange.microsoft.com>: > From: Long Li <longli@microsoft.com> > > In cifs_call_async, server response may return as soon as I/O is submitted. > Because mid entry is freed on the return path, do not modify it after I/O is > submitted. > > Signed-off-by: Long Li <longli@microsoft.com> > --- > fs/cifs/transport.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c > index 47a125e..ba62aaf 100644 > --- a/fs/cifs/transport.c > +++ b/fs/cifs/transport.c > @@ -537,10 +537,10 @@ cifs_call_async(struct TCP_Server_Info *server, struct smb_rqst *rqst, > spin_unlock(&GlobalMid_Lock); > > > + cifs_save_when_sent(mid); > cifs_in_send_inc(server); > rc = smb_send_rqst(server, rqst, flags); > cifs_in_send_dec(server); > - cifs_save_when_sent(mid); > > if (rc < 0) { > server->sequence_number -= 2; > -- > 2.7.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-cifs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Looks good. Could you please add an additional comment describing the behavior in the code? -- Best regards, Pavel Shilovsky -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUGF2ZWwgU2hpbG92c2t5 IFttYWlsdG86cGlhc3RyeXl5QGdtYWlsLmNvbV0NCj4gU2VudDogV2VkbmVzZGF5LCBKdW5lIDI4 LCAyMDE3IDExOjIzIEFNDQo+IFRvOiBMb25nIExpIDxsb25nbGlAbWljcm9zb2Z0LmNvbT4NCj4g Q2M6IFN0ZXZlIEZyZW5jaCA8c2ZyZW5jaEBzYW1iYS5vcmc+OyBsaW51eC1jaWZzIDxsaW51eC0N Cj4gY2lmc0B2Z2VyLmtlcm5lbC5vcmc+OyBzYW1iYS10ZWNobmljYWwgPHNhbWJhLXRlY2huaWNh bEBsaXN0cy5zYW1iYS5vcmc+Ow0KPiBLZXJuZWwgTWFpbGluZyBMaXN0IDxsaW51eC1rZXJuZWxA dmdlci5rZXJuZWwub3JnPjsgTG9uZyBMaQ0KPiA8bG9uZ2xpQG1pY3Jvc29mdC5jb20+DQo+IFN1 YmplY3Q6IFJlOiBbUEFUQ0ggcmVzZW5kXSBjaWZzOiBEbyBub3QgbW9kaWZ5IG1pZCBlbnRyeSBh ZnRlciBzdWJtaXR0aW5nDQo+IEkvTyBpbiBjaWZzX2NhbGxfYXN5bmMNCj4gDQo+IDIwMTctMDYt MjggMTE6MDUgR01ULTA3OjAwIExvbmcgTGkgPGxvbmdsaUBleGNoYW5nZS5taWNyb3NvZnQuY29t PjoNCj4gPiBGcm9tOiBMb25nIExpIDxsb25nbGlAbWljcm9zb2Z0LmNvbT4NCj4gPg0KPiA+IElu IGNpZnNfY2FsbF9hc3luYywgc2VydmVyIHJlc3BvbnNlIG1heSByZXR1cm4gYXMgc29vbiBhcyBJ L08gaXMgc3VibWl0dGVkLg0KPiA+IEJlY2F1c2UgbWlkIGVudHJ5IGlzIGZyZWVkIG9uIHRoZSBy ZXR1cm4gcGF0aCwgZG8gbm90IG1vZGlmeSBpdCBhZnRlcg0KPiA+IEkvTyBpcyBzdWJtaXR0ZWQu DQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBMb25nIExpIDxsb25nbGlAbWljcm9zb2Z0LmNvbT4N Cj4gPiAtLS0NCj4gPiAgZnMvY2lmcy90cmFuc3BvcnQuYyB8IDIgKy0NCj4gPiAgMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0 IGEvZnMvY2lmcy90cmFuc3BvcnQuYyBiL2ZzL2NpZnMvdHJhbnNwb3J0LmMgaW5kZXgNCj4gPiA0 N2ExMjVlLi5iYTYyYWFmIDEwMDY0NA0KPiA+IC0tLSBhL2ZzL2NpZnMvdHJhbnNwb3J0LmMNCj4g PiArKysgYi9mcy9jaWZzL3RyYW5zcG9ydC5jDQo+ID4gQEAgLTUzNywxMCArNTM3LDEwIEBAIGNp ZnNfY2FsbF9hc3luYyhzdHJ1Y3QgVENQX1NlcnZlcl9JbmZvICpzZXJ2ZXIsDQo+IHN0cnVjdCBz bWJfcnFzdCAqcnFzdCwNCj4gPiAgICAgICAgIHNwaW5fdW5sb2NrKCZHbG9iYWxNaWRfTG9jayk7 DQo+ID4NCj4gPg0KPiA+ICsgICAgICAgY2lmc19zYXZlX3doZW5fc2VudChtaWQpOw0KPiA+ICAg ICAgICAgY2lmc19pbl9zZW5kX2luYyhzZXJ2ZXIpOw0KPiA+ICAgICAgICAgcmMgPSBzbWJfc2Vu ZF9ycXN0KHNlcnZlciwgcnFzdCwgZmxhZ3MpOw0KPiA+ICAgICAgICAgY2lmc19pbl9zZW5kX2Rl YyhzZXJ2ZXIpOw0KPiA+IC0gICAgICAgY2lmc19zYXZlX3doZW5fc2VudChtaWQpOw0KPiA+DQo+ ID4gICAgICAgICBpZiAocmMgPCAwKSB7DQo+ID4gICAgICAgICAgICAgICAgIHNlcnZlci0+c2Vx dWVuY2VfbnVtYmVyIC09IDI7DQo+ID4gLS0NCj4gPiAyLjcuNA0KPiA+DQo+ID4gLS0NCj4gPiBU byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUg bGludXgtY2lmcyINCj4gPiBpbiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZn ZXIua2VybmVsLm9yZyBNb3JlDQo+IG1ham9yZG9tbw0KPiA+IGluZm8gYXQNCj4gPg0KPiBodHRw czovL25hMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwJTNBJTJG JTJGdmdlci5rDQo+ID4gZXJuZWwub3JnJTJGbWFqb3Jkb21vLQ0KPiBpbmZvLmh0bWwmZGF0YT0w MiU3QzAxJTdDbG9uZ2xpJTQwbWljcm9zb2Z0LmNvbSUNCj4gPg0KPiA3QzEyZTcyODg4Yzk0MDQ5 ZDU4Y2ViMDhkNGJlNTJjMjhjJTdDNzJmOTg4YmY4NmYxNDFhZjkxYWIyZDdjZDAxMWQNCj4gYjQ3 JQ0KPiA+DQo+IDdDMSU3QzAlN0M2MzYzNDI3MTAwNDI5OTQxMDMmc2RhdGE9aCUyRmtaSEJRNWJ3 dklpUzNLMEhKJTJCU2dIDQo+IDd3b0I0RUhwDQo+ID4gdCUyRnpvV0U2MjZ4M1UlM0QmcmVzZXJ2 ZWQ9MA0KPiANCj4gTG9va3MgZ29vZC4gQ291bGQgeW91IHBsZWFzZSBhZGQgYW4gYWRkaXRpb25h bCBjb21tZW50IGRlc2NyaWJpbmcgdGhlDQo+IGJlaGF2aW9yIGluIHRoZSBjb2RlPw0KDQpTdXJl LCB3aWxsIGRvLg0KDQo+IA0KPiAtLQ0KPiBCZXN0IHJlZ2FyZHMsDQo+IFBhdmVsIFNoaWxvdnNr eQ0K -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index 47a125e..ba62aaf 100644 --- a/fs/cifs/transport.c +++ b/fs/cifs/transport.c @@ -537,10 +537,10 @@ cifs_call_async(struct TCP_Server_Info *server, struct smb_rqst *rqst, spin_unlock(&GlobalMid_Lock); + cifs_save_when_sent(mid); cifs_in_send_inc(server); rc = smb_send_rqst(server, rqst, flags); cifs_in_send_dec(server); - cifs_save_when_sent(mid); if (rc < 0) { server->sequence_number -= 2;