From mboxrd@z Thu Jan 1 00:00:00 1970 From: Long Li Subject: RE: [Patch v5 19/21] CIFS: SMBD: Read correct returned data length for RDMA write (SMB read) I/O Date: Wed, 1 Nov 2017 18:48:15 +0000 Message-ID: References: <20171018230920.21042-1-longli@exchange.microsoft.com> <20171018230920.21042-20-longli@exchange.microsoft.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Sender: linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Pavel Shilovsky Cc: Steve French , linux-cifs , samba-technical , Kernel Mailing List , "linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Tom Talpey , Matthew Wilcox , Stephen Hemminger List-Id: linux-rdma@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQYXZlbCBTaGlsb3Zza3kgW21h aWx0bzpwaWFzdHJ5eXlAZ21haWwuY29tXQ0KPiBTZW50OiBXZWRuZXNkYXksIE5vdmVtYmVyIDEs IDIwMTcgOTo1MCBBTQ0KPiBUbzogTG9uZyBMaSA8bG9uZ2xpQG1pY3Jvc29mdC5jb20+DQo+IENj OiBTdGV2ZSBGcmVuY2ggPHNmcmVuY2hAc2FtYmEub3JnPjsgbGludXgtY2lmcyA8bGludXgtDQo+ IGNpZnNAdmdlci5rZXJuZWwub3JnPjsgc2FtYmEtdGVjaG5pY2FsIDxzYW1iYS10ZWNobmljYWxA bGlzdHMuc2FtYmEub3JnPjsNCj4gS2VybmVsIE1haWxpbmcgTGlzdCA8bGludXgta2VybmVsQHZn ZXIua2VybmVsLm9yZz47IGxpbnV4LQ0KPiByZG1hQHZnZXIua2VybmVsLm9yZzsgVG9tIFRhbHBl eSA8dHRhbHBleUBtaWNyb3NvZnQuY29tPjsgTWF0dGhldw0KPiBXaWxjb3ggPG1hd2lsY294QG1p Y3Jvc29mdC5jb20+OyBTdGVwaGVuIEhlbW1pbmdlcg0KPiA8c3RoZW1taW5AbWljcm9zb2Z0LmNv bT47IExvbmcgTGkgPGxvbmdsaUBtaWNyb3NvZnQuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BhdGNo IHY1IDE5LzIxXSBDSUZTOiBTTUJEOiBSZWFkIGNvcnJlY3QgcmV0dXJuZWQgZGF0YSBsZW5ndGgN Cj4gZm9yIFJETUEgd3JpdGUgKFNNQiByZWFkKSBJL08NCj4gDQo+IDIwMTctMTAtMTggMTY6MDkg R01ULTA3OjAwIExvbmcgTGkgPGxvbmdsaUBleGNoYW5nZS5taWNyb3NvZnQuY29tPjoNCj4gPiBG cm9tOiBMb25nIExpIDxsb25nbGlAbWljcm9zb2Z0LmNvbT4NCj4gPg0KPiA+IFRoaXMgcGF0Y2gg aXMgZm9yIHByZXBhcmluZyB1cHBlciBsYXllciBkb2luZyBTTUIgcmVhZCB2aWEgUkRNQSB3cml0 ZS4NCj4gPg0KPiA+IFdoZW4gUkRNQSB3cml0ZSBpcyB1c2VkIGZvciBTTUIgcmVhZCwgdGhlIHJl dHVybmVkIGRhdGEgbGVuZ3RoIGlzIGluDQo+ID4gRGF0YVJlbWFpbmluZyBpbiB0aGUgcmVzcG9u c2UgcGFja2V0LiBSZWFkaW5nIGl0IHByb3Blcmx5IGJ5IGFkZGluZyBhDQo+ID4gcGFyYW1ldGVy IHRvIHNwZWNpZml5IHdoZXJlIHRoZSByZXR1cm5lZCBkYXRhIGxlbmd0aCBpcy4NCj4gPg0KPiA+ IEFkZCB0aGUgZGVmaXRpb24gZm9yIG1lbW9yeSByZWdpc3RyYXRpb24gdG8gd2RhdGEgYW5kIHJl dHVybiB0aGUNCj4gPiBjb3JyZWN0IGxlbmd0aCBiYXNlZCBvbiBpZiBSRE1BIHdyaXRlIGlzIHVz ZWQuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBMb25nIExpIDxsb25nbGlAbWljcm9zb2Z0LmNv bT4NCj4gPiAtLS0NCj4gPiAgZnMvY2lmcy9jaWZzZ2xvYi5oIHwgMTMgKysrKysrKysrKystLSAg ZnMvY2lmcy9jaWZzc21iLmMgIHwgIDcNCj4gPiArKysrKystICBmcy9jaWZzL3NtYjFvcHMuYyAg fCAgNiArKysrKy0gIGZzL2NpZnMvc21iMm9wcy5jICB8IDEyDQo+ID4gKysrKysrKysrKy0tDQo+ ID4gIDQgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCj4g Pg0KPiA+IGRpZmYgLS1naXQgYS9mcy9jaWZzL2NpZnNnbG9iLmggYi9mcy9jaWZzL2NpZnNnbG9i LmggaW5kZXgNCj4gPiAyYWU3ZDAyLi5kZGY4M2Q4IDEwMDY0NA0KPiA+IC0tLSBhL2ZzL2NpZnMv Y2lmc2dsb2IuaA0KPiA+ICsrKyBiL2ZzL2NpZnMvY2lmc2dsb2IuaA0KPiA+IEBAIC0yMjgsOCAr MjI4LDE0IEBAIHN0cnVjdCBzbWJfdmVyc2lvbl9vcGVyYXRpb25zIHsNCj4gPiAgICAgICAgIF9f dTY0ICgqZ2V0X25leHRfbWlkKShzdHJ1Y3QgVENQX1NlcnZlcl9JbmZvICopOw0KPiA+ICAgICAg ICAgLyogZGF0YSBvZmZzZXQgZnJvbSByZWFkIHJlc3BvbnNlIG1lc3NhZ2UgKi8NCj4gPiAgICAg ICAgIHVuc2lnbmVkIGludCAoKnJlYWRfZGF0YV9vZmZzZXQpKGNoYXIgKik7DQo+ID4gLSAgICAg ICAvKiBkYXRhIGxlbmd0aCBmcm9tIHJlYWQgcmVzcG9uc2UgbWVzc2FnZSAqLw0KPiA+IC0gICAg ICAgdW5zaWduZWQgaW50ICgqcmVhZF9kYXRhX2xlbmd0aCkoY2hhciAqKTsNCj4gPiArICAgICAg IC8qDQo+ID4gKyAgICAgICAgKiBEYXRhIGxlbmd0aCBmcm9tIHJlYWQgcmVzcG9uc2UgbWVzc2Fn ZQ0KPiA+ICsgICAgICAgICogV2hlbiBpbl9yZW1haW5pbmcgaXMgdHJ1ZSwgdGhlIHJldHVybmVk IGRhdGEgbGVuZ3RoIGlzIGluDQo+ID4gKyAgICAgICAgKiBtZXNzYWdlIGZpZWxkIERhdGFSZW1h aW5pbmcgZm9yIG91dC1vZi1iYW5kIGRhdGEgcmVhZCAoZS5nDQo+IHRocm91Z2gNCj4gPiArICAg ICAgICAqIE1lbW9yeSBSZWdpc3RyYXRpb24gUkRNQSB3cml0ZSBpbiBTTUJEKS4NCj4gPiArICAg ICAgICAqIE90aGVyd2lzZSwgdGhlIHJldHVybmVkIGRhdGEgbGVuZ3RoIGlzIGluIG1lc3NhZ2Ug ZmllbGQgRGF0YUxlbmd0aC4NCj4gPiArICAgICAgICAqLw0KPiA+ICsgICAgICAgdW5zaWduZWQg aW50ICgqcmVhZF9kYXRhX2xlbmd0aCkoY2hhciAqLCBib29sIGluX3JlbWFpbmluZyk7DQo+ID4g ICAgICAgICAvKiBtYXAgc21iIHRvIGxpbnV4IGVycm9yICovDQo+ID4gICAgICAgICBpbnQgKCpt YXBfZXJyb3IpKGNoYXIgKiwgYm9vbCk7DQo+ID4gICAgICAgICAvKiBmaW5kIG1pZCBjb3JyZXNw b25kaW5nIHRvIHRoZSByZXNwb25zZSBtZXNzYWdlICovIEBADQo+ID4gLTExNDgsNiArMTE1NCw5 IEBAIHN0cnVjdCBjaWZzX3JlYWRkYXRhIHsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBjaWZzX3JlYWRkYXRhICpyZGF0YSwNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBpb3ZfaXRlciAqaXRlcik7DQo+ID4gICAgICAgICBzdHJ1 Y3Qga3ZlYyAgICAgICAgICAgICAgICAgICAgIGlvdlsyXTsNCj4gPiArI2lmZGVmIENPTkZJR19D SUZTX1NNQl9ESVJFQ1QNCj4gPiArICAgICAgIHN0cnVjdCBzbWJkX21yICAgICAgICAgICAgICAg ICAgKm1yOw0KPiA+ICsjZW5kaWYNCj4gPiAgICAgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAg ICAgICAgICAgcGFnZXN6Ow0KPiA+ICAgICAgICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAg ICAgICB0YWlsc3o7DQo+ID4gICAgICAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgICAgICAgICAg IGNyZWRpdHM7DQo+ID4gZGlmZiAtLWdpdCBhL2ZzL2NpZnMvY2lmc3NtYi5jIGIvZnMvY2lmcy9j aWZzc21iLmMgaW5kZXgNCj4gPiAwOGZmNTZhLi5hMzQzZGI0IDEwMDY0NA0KPiA+IC0tLSBhL2Zz L2NpZnMvY2lmc3NtYi5jDQo+ID4gKysrIGIvZnMvY2lmcy9jaWZzc21iLmMNCj4gPiBAQCAtMTUz Myw4ICsxNTMzLDEzIEBAIGNpZnNfcmVhZHZfcmVjZWl2ZShzdHJ1Y3QgVENQX1NlcnZlcl9JbmZv DQo+ICpzZXJ2ZXIsIHN0cnVjdCBtaWRfcV9lbnRyeSAqbWlkKQ0KPiA+ICAgICAgICAgICAgICAg ICAgcmRhdGEtPmlvdlswXS5pb3ZfYmFzZSwgc2VydmVyLT50b3RhbF9yZWFkKTsNCj4gPg0KPiA+ ICAgICAgICAgLyogaG93IG11Y2ggZGF0YSBpcyBpbiB0aGUgcmVzcG9uc2U/ICovDQo+ID4gLSAg ICAgICBkYXRhX2xlbiA9IHNlcnZlci0+b3BzLT5yZWFkX2RhdGFfbGVuZ3RoKGJ1Zik7DQo+ID4g KyNpZmRlZiBDT05GSUdfQ0lGU19TTUJfRElSRUNUDQo+ID4gKyAgICAgICBkYXRhX2xlbiA9IHNl cnZlci0+b3BzLT5yZWFkX2RhdGFfbGVuZ3RoKGJ1ZiwgcmRhdGEtPm1yKTsNCj4gPiArICAgICAg IGlmICghcmRhdGEtPm1yICYmIChkYXRhX29mZnNldCArIGRhdGFfbGVuID4gYnVmbGVuKSkgeyAj ZWxzZQ0KPiA+ICsgICAgICAgZGF0YV9sZW4gPSBzZXJ2ZXItPm9wcy0+cmVhZF9kYXRhX2xlbmd0 aChidWYsIGZhbHNlKTsNCj4gPiAgICAgICAgIGlmIChkYXRhX29mZnNldCArIGRhdGFfbGVuID4g YnVmbGVuKSB7DQo+ID4gKyNlbmRpZg0KPiA+ICAgICAgICAgICAgICAgICAvKiBkYXRhX2xlbiBp cyBjb3JydXB0IC0tIGRpc2NhcmQgZnJhbWUgKi8NCj4gPiAgICAgICAgICAgICAgICAgcmRhdGEt PnJlc3VsdCA9IC1FSU87DQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiBjaWZzX3JlYWR2X2Rp c2NhcmQoc2VydmVyLCBtaWQpOyBkaWZmIC0tZ2l0DQo+ID4gYS9mcy9jaWZzL3NtYjFvcHMuYyBi L2ZzL2NpZnMvc21iMW9wcy5jIGluZGV4IGE3MjNkZjMuLmI3MThiYjggMTAwNjQ0DQo+ID4gLS0t IGEvZnMvY2lmcy9zbWIxb3BzLmMNCj4gPiArKysgYi9mcy9jaWZzL3NtYjFvcHMuYw0KPiA+IEBA IC04Nyw5ICs4NywxMyBAQCBjaWZzX3JlYWRfZGF0YV9vZmZzZXQoY2hhciAqYnVmKSAgfQ0KPiA+ DQo+ID4gIHN0YXRpYyB1bnNpZ25lZCBpbnQNCj4gPiAtY2lmc19yZWFkX2RhdGFfbGVuZ3RoKGNo YXIgKmJ1ZikNCj4gPiArY2lmc19yZWFkX2RhdGFfbGVuZ3RoKGNoYXIgKmJ1ZiwgYm9vbCBpbl9y ZW1haW5pbmcpDQo+ID4gIHsNCj4gPiAgICAgICAgIFJFQURfUlNQICpyc3AgPSAoUkVBRF9SU1Ag KilidWY7DQo+ID4gKyAgICAgICBpZiAoaW5fcmVtYWluaW5nKSB7DQo+ID4gKyAgICAgICAgICAg ICAgIGNpZnNfZGJnKFZGUywgIkludmFsaWQgU01CMSBjYWxsaW5nIHBhdGgsIGNoZWNrDQo+ID4g KyBjb2RlXG4iKTsNCj4gDQo+IEkgd291bGQgc3VnZ2VzdCB0byBkbyBXQVJOX09OKDEpIGluc3Rl YWQuDQoNCkkgd2lsbCBtYWtlIHRoZSBjaGFuZ2UuDQoNCj4gDQo+ID4gKyAgICAgICAgICAgICAg IHJldHVybiAwOw0KPiA+ICsgICAgICAgfQ0KPiA+ICAgICAgICAgcmV0dXJuIChsZTE2X3RvX2Nw dShyc3AtPkRhdGFMZW5ndGhIaWdoKSA8PCAxNikgKw0KPiA+ICAgICAgICAgICAgICAgIGxlMTZf dG9fY3B1KHJzcC0+RGF0YUxlbmd0aCk7ICB9DQo+IA0KPiANCj4gLS0NCj4gQmVzdCByZWdhcmRz LA0KPiBQYXZlbCBTaGlsb3Zza3kNCg== -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933088AbdKASsV (ORCPT ); Wed, 1 Nov 2017 14:48:21 -0400 Received: from mail-by2nam03on0107.outbound.protection.outlook.com ([104.47.42.107]:4192 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751576AbdKASsS (ORCPT ); Wed, 1 Nov 2017 14:48:18 -0400 From: Long Li To: Pavel Shilovsky CC: Steve French , linux-cifs , samba-technical , Kernel Mailing List , "linux-rdma@vger.kernel.org" , Tom Talpey , "Matthew Wilcox" , Stephen Hemminger Subject: RE: [Patch v5 19/21] CIFS: SMBD: Read correct returned data length for RDMA write (SMB read) I/O Thread-Topic: [Patch v5 19/21] CIFS: SMBD: Read correct returned data length for RDMA write (SMB read) I/O Thread-Index: AQHTSGZjA6/XcNQv+kiSId49XvH5RqL/0iMAgAAg17A= Date: Wed, 1 Nov 2017 18:48:15 +0000 Message-ID: References: <20171018230920.21042-1-longli@exchange.microsoft.com> <20171018230920.21042-20-longli@exchange.microsoft.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [2001:4898:80e8:7::388] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;MWHPR21MB0752;6:SUdvMvLHuPI4NA8yZMHHxEwus7vQFCB9c348l7kLEkjoFBx8SwRlVTnnx0TYpmAlq3FPSyEDHC12rhjsKgo351EiuytPvrRuSomrFZgm+4Y0PoIAwHLQhSD4ej0tZ5DKeieWILikeAYWIcqRARqtQ5TNnjhFGEJq789JaZ7DWEKfEwofn8VLYQWYrorM31Oxgfy7L6kIhNrz5UYmCmeGNyCbWaeBkuo3FSLWEozZd7lGxYXevGN8w4COjVpq/n1WRqH6PaMGAm2gREGAL6Uyd2lYQWAMwrbL6TeAVrWMhWxGg41uciOjq51uH/SpuPtIGNr+OcLd+cV+yCy+Cm/npreadVKA13g2acZWbLg4vi4=;5:IszuPEVNAV56rjgXN+jzzH0QbC2C/KsQssbSTYvpNhfLe3DoZYRQ13X/1SfvzO97x8YUGRsNZ7rPX+59+olwW/7OcjLaUQ+j44c4LY4HzJAhkFh+OJDMwPMdOpNU7v9JwCptYBGQ1GjR6bCAO/65GK3P+ljik2G1chS/K6EfsRc=;24:+7d1Pu8zD7EbiyDevHiAVS4sQrkEW1FALOfFduGk20ud1MMT+BK4/8SVzJo2wpCB2wMxDeOPQKhQ7m3iz0uINNnE2XlksFSpiSVoEjKnhR0=;7:kfgDhuD9o2iNfrIbtk2bllXTfEMJsHKS76tatE/1CVDD/y0t6FSUgYOx2RpWvcXTjrYeSn4zUrxJIRa6D1pd7A5DOKP6GOPWiEIHAQdnRMfn/Wtv41UQ8Ztygyo6ljtG7kfYm8j/r1da25T9HY6/DisRm4s6oSxT52Fect1aF1HneWH9jWVlydhGuXTH/2CVDuQKFel0Yy8d+u4Ac2eghdyb1RBpZtBnjZpYBwMU9zB0CUMX5eAqKEtDg0E4wPXm x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI;SCL:-1;SFV:NSPM;SFS:(10019020)(6009001)(346002)(376002)(39860400002)(47760400005)(199003)(189002)(377424004)(13464003)(25786009)(101416001)(6506006)(3660700001)(2900100001)(3280700002)(54356999)(76176999)(68736007)(50986999)(8936002)(1411001)(6436002)(316002)(105586002)(229853002)(54906003)(33656002)(106356001)(99286004)(53546010)(22452003)(77096006)(189998001)(2906002)(14454004)(55016002)(10290500003)(10090500001)(8676002)(8990500004)(102836003)(6116002)(74316002)(7696004)(53936002)(39060400002)(305945005)(2950100002)(107886003)(4001150100001)(97736004)(6916009)(86362001)(6246003)(478600001)(9686003)(81166006)(4326008)(7736002)(81156014)(5660300001)(86612001);DIR:OUT;SFP:1102;SCL:1;SRVR:MWHPR21MB0752;H:MWHPR21MB0190.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; x-ms-office365-filtering-correlation-id: a81e00df-e111-406e-6ef9-08d521591c41 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(4534020)(4602075)(2017052603238);SRVR:MWHPR21MB0752; x-ms-traffictypediagnostic: MWHPR21MB0752: x-exchange-antispam-report-test: UriScan:(89211679590171)(9452136761055)(140211028294663); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(61425038)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(100000703101)(100105400095)(3002001)(3231020)(10201501046)(6055026)(61426038)(61427038)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR21MB0752;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR21MB0752; x-forefront-prvs: 0478C23FE0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=longli@microsoft.com; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: a81e00df-e111-406e-6ef9-08d521591c41 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Nov 2017 18:48:15.1868 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0752 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id vA1IncrJ023407 > -----Original Message----- > From: Pavel Shilovsky [mailto:piastryyy@gmail.com] > Sent: Wednesday, November 1, 2017 9:50 AM > To: Long Li > Cc: Steve French ; linux-cifs cifs@vger.kernel.org>; samba-technical ; > Kernel Mailing List ; linux- > rdma@vger.kernel.org; Tom Talpey ; Matthew > Wilcox ; Stephen Hemminger > ; Long Li > Subject: Re: [Patch v5 19/21] CIFS: SMBD: Read correct returned data length > for RDMA write (SMB read) I/O > > 2017-10-18 16:09 GMT-07:00 Long Li : > > From: Long Li > > > > This patch is for preparing upper layer doing SMB read via RDMA write. > > > > When RDMA write is used for SMB read, the returned data length is in > > DataRemaining in the response packet. Reading it properly by adding a > > parameter to specifiy where the returned data length is. > > > > Add the defition for memory registration to wdata and return the > > correct length based on if RDMA write is used. > > > > Signed-off-by: Long Li > > --- > > fs/cifs/cifsglob.h | 13 +++++++++++-- fs/cifs/cifssmb.c | 7 > > ++++++- fs/cifs/smb1ops.c | 6 +++++- fs/cifs/smb2ops.c | 12 > > ++++++++++-- > > 4 files changed, 32 insertions(+), 6 deletions(-) > > > > diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index > > 2ae7d02..ddf83d8 100644 > > --- a/fs/cifs/cifsglob.h > > +++ b/fs/cifs/cifsglob.h > > @@ -228,8 +228,14 @@ struct smb_version_operations { > > __u64 (*get_next_mid)(struct TCP_Server_Info *); > > /* data offset from read response message */ > > unsigned int (*read_data_offset)(char *); > > - /* data length from read response message */ > > - unsigned int (*read_data_length)(char *); > > + /* > > + * Data length from read response message > > + * When in_remaining is true, the returned data length is in > > + * message field DataRemaining for out-of-band data read (e.g > through > > + * Memory Registration RDMA write in SMBD). > > + * Otherwise, the returned data length is in message field DataLength. > > + */ > > + unsigned int (*read_data_length)(char *, bool in_remaining); > > /* map smb to linux error */ > > int (*map_error)(char *, bool); > > /* find mid corresponding to the response message */ @@ > > -1148,6 +1154,9 @@ struct cifs_readdata { > > struct cifs_readdata *rdata, > > struct iov_iter *iter); > > struct kvec iov[2]; > > +#ifdef CONFIG_CIFS_SMB_DIRECT > > + struct smbd_mr *mr; > > +#endif > > unsigned int pagesz; > > unsigned int tailsz; > > unsigned int credits; > > diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index > > 08ff56a..a343db4 100644 > > --- a/fs/cifs/cifssmb.c > > +++ b/fs/cifs/cifssmb.c > > @@ -1533,8 +1533,13 @@ cifs_readv_receive(struct TCP_Server_Info > *server, struct mid_q_entry *mid) > > rdata->iov[0].iov_base, server->total_read); > > > > /* how much data is in the response? */ > > - data_len = server->ops->read_data_length(buf); > > +#ifdef CONFIG_CIFS_SMB_DIRECT > > + data_len = server->ops->read_data_length(buf, rdata->mr); > > + if (!rdata->mr && (data_offset + data_len > buflen)) { #else > > + data_len = server->ops->read_data_length(buf, false); > > if (data_offset + data_len > buflen) { > > +#endif > > /* data_len is corrupt -- discard frame */ > > rdata->result = -EIO; > > return cifs_readv_discard(server, mid); diff --git > > a/fs/cifs/smb1ops.c b/fs/cifs/smb1ops.c index a723df3..b718bb8 100644 > > --- a/fs/cifs/smb1ops.c > > +++ b/fs/cifs/smb1ops.c > > @@ -87,9 +87,13 @@ cifs_read_data_offset(char *buf) } > > > > static unsigned int > > -cifs_read_data_length(char *buf) > > +cifs_read_data_length(char *buf, bool in_remaining) > > { > > READ_RSP *rsp = (READ_RSP *)buf; > > + if (in_remaining) { > > + cifs_dbg(VFS, "Invalid SMB1 calling path, check > > + code\n"); > > I would suggest to do WARN_ON(1) instead. I will make the change. > > > + return 0; > > + } > > return (le16_to_cpu(rsp->DataLengthHigh) << 16) + > > le16_to_cpu(rsp->DataLength); } > > > -- > Best regards, > Pavel Shilovsky