From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v2 2/8] xen: clean up grant_table.h Date: Wed, 6 Sep 2017 08:37:39 +0000 Message-ID: <684c7acdb6094e33832bba27a83f01b4@AMSPEX02CL03.citrite.net> References: <20170906082632.6494-1-jgross@suse.com> <20170906082632.6494-3-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170906082632.6494-3-jgross@suse.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: 'Juergen Gross' , "xen-devel@lists.xen.org" Cc: "sstabellini@kernel.org" , Wei Liu , Andrew Cooper , "Tim (Xen.org)" , George Dunlap , "jbeulich@suse.com" , Ian Jackson List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBYZW4tZGV2ZWwgW21haWx0bzp4 ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnXSBPbiBCZWhhbGYgT2YNCj4gSnVlcmdlbiBH cm9zcw0KPiBTZW50OiAwNiBTZXB0ZW1iZXIgMjAxNyAwOToyNg0KPiBUbzogeGVuLWRldmVsQGxp c3RzLnhlbi5vcmcNCj4gQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT47IHNzdGFi ZWxsaW5pQGtlcm5lbC5vcmc7IFdlaSBMaXUNCj4gPHdlaS5saXUyQGNpdHJpeC5jb20+OyBHZW9y Z2UgRHVubGFwIDxHZW9yZ2UuRHVubGFwQGNpdHJpeC5jb20+Ow0KPiBBbmRyZXcgQ29vcGVyIDxB bmRyZXcuQ29vcGVyM0BjaXRyaXguY29tPjsgSWFuIEphY2tzb24NCj4gPElhbi5KYWNrc29uQGNp dHJpeC5jb20+OyBUaW0gKFhlbi5vcmcpIDx0aW1AeGVuLm9yZz47DQo+IGpiZXVsaWNoQHN1c2Uu Y29tDQo+IFN1YmplY3Q6IFtYZW4tZGV2ZWxdIFtQQVRDSCB2MiAyLzhdIHhlbjogY2xlYW4gdXAg Z3JhbnRfdGFibGUuaA0KPiANCj4gTWFueSBkZWZpbml0aW9ucyBjYW4gYmUgbW92ZWQgZnJvbSB4 ZW4vZ3JhbnRfdGFibGUuaCB0bw0KPiBjb21tb24vZ3JhbnRfdGFibGUuYyBub3csIGFzIHRoZXkg YXJlIG5vIGxvbmdlciB1c2VkIGluIG90aGVyIHNvdXJjZXMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5 OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNClJldmlld2VkLWJ5OiBQYXVsIER1 cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPg0KDQo+IC0tLQ0KPiAgeGVuL2NvbW1vbi9n cmFudF90YWJsZS5jICAgICAgfCA4MQ0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLQ0KPiAgeGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmggfCA4NCAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAyIGZpbGVzIGNoYW5nZWQs IDc5IGluc2VydGlvbnMoKyksIDg2IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3hl bi9jb21tb24vZ3JhbnRfdGFibGUuYyBiL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYw0KPiBpbmRl eCA0YzJlOWU0MGE1Li5hOTRkZmRkYTdiIDEwMDY0NA0KPiAtLS0gYS94ZW4vY29tbW9uL2dyYW50 X3RhYmxlLmMNCj4gKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jDQo+IEBAIC00MCw2ICs0 MCw0MiBAQA0KPiAgI2luY2x1ZGUgPHhzbS94c20uaD4NCj4gICNpbmNsdWRlIDxhc20vZmx1c2h0 bGIuaD4NCj4gDQo+ICsvKiBQZXItZG9tYWluIGdyYW50IGluZm9ybWF0aW9uLiAqLw0KPiArc3Ry dWN0IGdyYW50X3RhYmxlIHsNCj4gKyAgICAvKg0KPiArICAgICAqIExvY2sgcHJvdGVjdGluZyB1 cGRhdGVzIHRvIGdyYW50IHRhYmxlIHN0YXRlICh2ZXJzaW9uLCBhY3RpdmUNCj4gKyAgICAgKiBl bnRyeSBsaXN0LCBldGMuKQ0KPiArICAgICAqLw0KPiArICAgIHBlcmNwdV9yd2xvY2tfdCAgICAg ICBsb2NrOw0KPiArICAgIC8qIFRhYmxlIHNpemUuIE51bWJlciBvZiBmcmFtZXMgc2hhcmVkIHdp dGggZ3Vlc3QgKi8NCj4gKyAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgbnJfZ3JhbnRfZnJhbWVz Ow0KPiArICAgIC8qIFNoYXJlZCBncmFudCB0YWJsZSAoc2VlIGluY2x1ZGUvcHVibGljL2dyYW50 X3RhYmxlLmgpLiAqLw0KPiArICAgIHVuaW9uIHsNCj4gKyAgICAgICAgdm9pZCAqKnNoYXJlZF9y YXc7DQo+ICsgICAgICAgIHN0cnVjdCBncmFudF9lbnRyeV92MSAqKnNoYXJlZF92MTsNCj4gKyAg ICAgICAgdW5pb24gZ3JhbnRfZW50cnlfdjIgKipzaGFyZWRfdjI7DQo+ICsgICAgfTsNCj4gKyAg ICAvKiBOdW1iZXIgb2YgZ3JhbnQgc3RhdHVzIGZyYW1lcyBzaGFyZWQgd2l0aCBndWVzdCAoZm9y IHZlcnNpb24gMikgKi8NCj4gKyAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgbnJfc3RhdHVzX2Zy YW1lczsNCj4gKyAgICAvKiBTdGF0ZSBncmFudCB0YWJsZSAoc2VlIGluY2x1ZGUvcHVibGljL2dy YW50X3RhYmxlLmgpLiAqLw0KPiArICAgIGdyYW50X3N0YXR1c190ICAgICAgICoqc3RhdHVzOw0K PiArICAgIC8qIEFjdGl2ZSBncmFudCB0YWJsZS4gKi8NCj4gKyAgICBzdHJ1Y3QgYWN0aXZlX2dy YW50X2VudHJ5ICoqYWN0aXZlOw0KPiArICAgIC8qIE1hcHBpbmcgdHJhY2tpbmcgdGFibGUgcGVy IHZjcHUuICovDQo+ICsgICAgc3RydWN0IGdyYW50X21hcHBpbmcgKiptYXB0cmFjazsNCj4gKyAg ICB1bnNpZ25lZCBpbnQgICAgICAgICAgbWFwdHJhY2tfbGltaXQ7DQo+ICsgICAgLyogTG9jayBw cm90ZWN0aW5nIHRoZSBtYXB0cmFjayBsaW1pdCAqLw0KPiArICAgIHNwaW5sb2NrX3QgICAgICAg ICAgICBtYXB0cmFja19sb2NrOw0KPiArICAgIC8qIFRoZSBkZWZpbmVkIHZlcnNpb25zIGFyZSAx IGFuZCAyLiAgU2V0IHRvIDAgaWYgd2UgZG9uJ3Qga25vdw0KPiArICAgICAgIHdoYXQgdmVyc2lv biB0byB1c2UgeWV0LiAqLw0KPiArICAgIHVuc2lnbmVkICAgICAgICAgICAgICBndF92ZXJzaW9u Ow0KPiArfTsNCj4gKw0KPiArI2lmbmRlZiBERUZBVUxUX01BWF9OUl9HUkFOVF9GUkFNRVMgLyog dG8gYWxsb3cgYXJjaCB0byBvdmVycmlkZQ0KPiAqLw0KPiArLyogRGVmYXVsdCBtYXhpbXVtIHNp emUgb2YgYSBncmFudCB0YWJsZS4gW1BPTElDWV0gKi8NCj4gKyNkZWZpbmUgREVGQVVMVF9NQVhf TlJfR1JBTlRfRlJBTUVTICAgMzINCj4gKyNlbmRpZg0KPiArDQo+ICB1bnNpZ25lZCBpbnQgX19y ZWFkX21vc3RseSBtYXhfZ3JhbnRfZnJhbWVzOw0KPiAgaW50ZWdlcl9wYXJhbSgiZ250dGFiX21h eF9mcmFtZXMiLCBtYXhfZ3JhbnRfZnJhbWVzKTsNCj4gDQo+IEBAIC0xMTgsNiArMTU0LDE4IEBA IHN0cnVjdCBncmFudF9tYXBwaW5nIHsNCj4gICAgICB1aW50MzJfdCBwYWQ7ICAgICAgICAgICAv KiByb3VuZCBzaXplIHRvIGEgcG93ZXIgb2YgMiAqLw0KPiAgfTsNCj4gDQo+ICsvKiBOdW1iZXIg b2YgZ3JhbnQgdGFibGUgZnJhbWVzLiBDYWxsZXIgbXVzdCBob2xkIGQncyBncmFudCB0YWJsZSBs b2NrLiAqLw0KPiArc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgbnJfZ3JhbnRfZnJhbWVzKGNv bnN0IHN0cnVjdCBncmFudF90YWJsZSAqZ3QpDQo+ICt7DQo+ICsgICAgcmV0dXJuIGd0LT5ucl9n cmFudF9mcmFtZXM7DQo+ICt9DQo+ICsNCj4gKy8qIE51bWJlciBvZiBzdGF0dXMgZ3JhbnQgdGFi bGUgZnJhbWVzLiBDYWxsZXIgbXVzdCBob2xkIGQncyBnci4gdGFibGUgbG9jay4qLw0KPiArc3Rh dGljIGlubGluZSB1bnNpZ25lZCBpbnQgbnJfc3RhdHVzX2ZyYW1lcyhjb25zdCBzdHJ1Y3QgZ3Jh bnRfdGFibGUgKmd0KQ0KPiArew0KPiArICAgIHJldHVybiBndC0+bnJfc3RhdHVzX2ZyYW1lczsN Cj4gK30NCj4gKw0KPiAgI2RlZmluZSBNQVBUUkFDS19QRVJfUEFHRSAoUEFHRV9TSVpFIC8gc2l6 ZW9mKHN0cnVjdCBncmFudF9tYXBwaW5nKSkNCj4gICNkZWZpbmUgbWFwdHJhY2tfZW50cnkodCwg ZSkgXA0KPiAgICAgICgodCktPm1hcHRyYWNrWyhlKS9NQVBUUkFDS19QRVJfUEFHRV1bKGUpJU1B UFRSQUNLX1BFUl9QQUdFXSkNCj4gQEAgLTE5Nyw3ICsyNDUsMjcgQEAgc3RhdGljIGlubGluZSB2 b2lkIGFjdF9zZXRfZ2ZuKHN0cnVjdA0KPiBhY3RpdmVfZ3JhbnRfZW50cnkgKmFjdCwgZ2ZuX3Qg Z2ZuKQ0KPiAgI2VuZGlmDQo+ICB9DQo+IA0KPiAtREVGSU5FX1BFUkNQVV9SV0xPQ0tfR0xPQkFM KGdyYW50X3J3bG9jayk7DQo+ICtzdGF0aWMgREVGSU5FX1BFUkNQVV9SV0xPQ0tfR0xPQkFMKGdy YW50X3J3bG9jayk7DQo+ICsNCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBncmFudF9yZWFkX2xvY2so c3RydWN0IGdyYW50X3RhYmxlICpndCkNCj4gK3sNCj4gKyAgICBwZXJjcHVfcmVhZF9sb2NrKGdy YW50X3J3bG9jaywgJmd0LT5sb2NrKTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGlubGluZSB2b2lk IGdyYW50X3JlYWRfdW5sb2NrKHN0cnVjdCBncmFudF90YWJsZSAqZ3QpDQo+ICt7DQo+ICsgICAg cGVyY3B1X3JlYWRfdW5sb2NrKGdyYW50X3J3bG9jaywgJmd0LT5sb2NrKTsNCj4gK30NCj4gKw0K PiArc3RhdGljIGlubGluZSB2b2lkIGdyYW50X3dyaXRlX2xvY2soc3RydWN0IGdyYW50X3RhYmxl ICpndCkNCj4gK3sNCj4gKyAgICBwZXJjcHVfd3JpdGVfbG9jayhncmFudF9yd2xvY2ssICZndC0+ bG9jayk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBncmFudF93cml0ZV91bmxv Y2soc3RydWN0IGdyYW50X3RhYmxlICpndCkNCj4gK3sNCj4gKyAgICBwZXJjcHVfd3JpdGVfdW5s b2NrKGdyYW50X3J3bG9jaywgJmd0LT5sb2NrKTsNCj4gK30NCj4gDQo+ICBzdGF0aWMgaW5saW5l IHZvaWQgZ250dGFiX2ZsdXNoX3RsYihjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQ0KPiAgew0KPiBA QCAtMjUwLDYgKzMxOCwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYWN0aXZlX2VudHJ5X3JlbGVh c2Uoc3RydWN0DQo+IGFjdGl2ZV9ncmFudF9lbnRyeSAqYWN0KQ0KPiAgICAgIHNwaW5fdW5sb2Nr KCZhY3QtPmxvY2spOw0KPiAgfQ0KPiANCj4gKyNkZWZpbmUgR1JBTlRfU1RBVFVTX1BFUl9QQUdF IChQQUdFX1NJWkUgLyBzaXplb2YoZ3JhbnRfc3RhdHVzX3QpKQ0KPiArI2RlZmluZSBHUkFOVF9Q RVJfUEFHRSAoUEFHRV9TSVpFIC8gc2l6ZW9mKGdyYW50X2VudHJ5X3YyX3QpKQ0KPiArLyogTnVt YmVyIG9mIGdyYW50IHRhYmxlIHN0YXR1cyBlbnRyaWVzLiBDYWxsZXIgbXVzdCBob2xkIGQncyBn ci4gdGFibGUgbG9jay4qLw0KPiArc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ3JhbnRfdG9f c3RhdHVzX2ZyYW1lcyh1bnNpZ25lZCBpbnQNCj4gZ3JhbnRfZnJhbWVzKQ0KPiArew0KPiArICAg IHJldHVybiAoZ3JhbnRfZnJhbWVzICogR1JBTlRfUEVSX1BBR0UgKyBHUkFOVF9TVEFUVVNfUEVS X1BBR0UNCj4gLSAxKSAvDQo+ICsgICAgICAgIEdSQU5UX1NUQVRVU19QRVJfUEFHRTsNCj4gK30N Cj4gKw0KPiAgLyogQ2hlY2sgaWYgdGhlIHBhZ2UgaGFzIGJlZW4gcGFnZWQgb3V0LCBvciBuZWVk cyB1bnNoYXJpbmcuDQo+ICAgICBJZiByYyA9PSBHTlRTVF9va2F5LCAqcGFnZSBjb250YWlucyB0 aGUgcGFnZSBzdHJ1Y3Qgd2l0aCBhIHJlZiB0YWtlbi4NCj4gICAgIENhbGxlciBtdXN0IGRvIHB1 dF9wYWdlKCpwYWdlKS4NCj4gQEAgLTE1ODAsNyArMTY1Nyw3IEBAIGdudHRhYl91bnBvcHVsYXRl X3N0YXR1c19mcmFtZXMoc3RydWN0IGRvbWFpbg0KPiAqZCwgc3RydWN0IGdyYW50X3RhYmxlICpn dCkNCj4gICAqIEdyb3cgdGhlIGdyYW50IHRhYmxlLiBUaGUgY2FsbGVyIG11c3QgaG9sZCB0aGUg Z3JhbnQgdGFibGUncw0KPiAgICogd3JpdGUgbG9jayBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0 aW9uLg0KPiAgICovDQo+IC1pbnQNCj4gK3N0YXRpYyBpbnQNCj4gIGdudHRhYl9ncm93X3RhYmxl KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCByZXFfbnJfZnJhbWVzKQ0KPiAgew0KPiAg ICAgIHN0cnVjdCBncmFudF90YWJsZSAqZ3QgPSBkLT5ncmFudF90YWJsZTsNCj4gZGlmZiAtLWdp dCBhL3hlbi9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5oIGIveGVuL2luY2x1ZGUveGVuL2dyYW50 X3RhYmxlLmgNCj4gaW5kZXggNDNlYzZjNGQ4MC4uNDNiMDdlNjBjNSAxMDA2NDQNCj4gLS0tIGEv eGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgNCj4gKysrIGIveGVuL2luY2x1ZGUveGVuL2dy YW50X3RhYmxlLmgNCj4gQEAgLTI5LDY2ICsyOSw5IEBADQo+ICAjaW5jbHVkZSA8YXNtL3BhZ2Uu aD4NCj4gICNpbmNsdWRlIDxhc20vZ3JhbnRfdGFibGUuaD4NCj4gDQo+IC0jaWZuZGVmIERFRkFV TFRfTUFYX05SX0dSQU5UX0ZSQU1FUyAvKiB0byBhbGxvdyBhcmNoIHRvIG92ZXJyaWRlICovDQo+ IC0vKiBEZWZhdWx0IG1heGltdW0gc2l6ZSBvZiBhIGdyYW50IHRhYmxlLiBbUE9MSUNZXSAqLw0K PiAtI2RlZmluZSBERUZBVUxUX01BWF9OUl9HUkFOVF9GUkFNRVMgICAzMg0KPiAtI2VuZGlmDQo+ ICAvKiBUaGUgbWF4aW11bSBzaXplIG9mIGEgZ3JhbnQgdGFibGUuICovDQo+ICBleHRlcm4gdW5z aWduZWQgaW50IG1heF9ncmFudF9mcmFtZXM7DQo+IA0KPiAtREVDTEFSRV9QRVJDUFVfUldMT0NL X0dMT0JBTChncmFudF9yd2xvY2spOw0KPiAtDQo+IC0vKiBQZXItZG9tYWluIGdyYW50IGluZm9y bWF0aW9uLiAqLw0KPiAtc3RydWN0IGdyYW50X3RhYmxlIHsNCj4gLSAgICAvKg0KPiAtICAgICAq IExvY2sgcHJvdGVjdGluZyB1cGRhdGVzIHRvIGdyYW50IHRhYmxlIHN0YXRlICh2ZXJzaW9uLCBh Y3RpdmUNCj4gLSAgICAgKiBlbnRyeSBsaXN0LCBldGMuKQ0KPiAtICAgICAqLw0KPiAtICAgIHBl cmNwdV9yd2xvY2tfdCAgICAgICBsb2NrOw0KPiAtICAgIC8qIFRhYmxlIHNpemUuIE51bWJlciBv ZiBmcmFtZXMgc2hhcmVkIHdpdGggZ3Vlc3QgKi8NCj4gLSAgICB1bnNpZ25lZCBpbnQgICAgICAg ICAgbnJfZ3JhbnRfZnJhbWVzOw0KPiAtICAgIC8qIFNoYXJlZCBncmFudCB0YWJsZSAoc2VlIGlu Y2x1ZGUvcHVibGljL2dyYW50X3RhYmxlLmgpLiAqLw0KPiAtICAgIHVuaW9uIHsNCj4gLSAgICAg ICAgdm9pZCAqKnNoYXJlZF9yYXc7DQo+IC0gICAgICAgIHN0cnVjdCBncmFudF9lbnRyeV92MSAq KnNoYXJlZF92MTsNCj4gLSAgICAgICAgdW5pb24gZ3JhbnRfZW50cnlfdjIgKipzaGFyZWRfdjI7 DQo+IC0gICAgfTsNCj4gLSAgICAvKiBOdW1iZXIgb2YgZ3JhbnQgc3RhdHVzIGZyYW1lcyBzaGFy ZWQgd2l0aCBndWVzdCAoZm9yIHZlcnNpb24gMikgKi8NCj4gLSAgICB1bnNpZ25lZCBpbnQgICAg ICAgICAgbnJfc3RhdHVzX2ZyYW1lczsNCj4gLSAgICAvKiBTdGF0ZSBncmFudCB0YWJsZSAoc2Vl IGluY2x1ZGUvcHVibGljL2dyYW50X3RhYmxlLmgpLiAqLw0KPiAtICAgIGdyYW50X3N0YXR1c190 ICAgICAgICoqc3RhdHVzOw0KPiAtICAgIC8qIEFjdGl2ZSBncmFudCB0YWJsZS4gKi8NCj4gLSAg ICBzdHJ1Y3QgYWN0aXZlX2dyYW50X2VudHJ5ICoqYWN0aXZlOw0KPiAtICAgIC8qIE1hcHBpbmcg dHJhY2tpbmcgdGFibGUgcGVyIHZjcHUuICovDQo+IC0gICAgc3RydWN0IGdyYW50X21hcHBpbmcg KiptYXB0cmFjazsNCj4gLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgbWFwdHJhY2tfbGltaXQ7 DQo+IC0gICAgLyogTG9jayBwcm90ZWN0aW5nIHRoZSBtYXB0cmFjayBsaW1pdCAqLw0KPiAtICAg IHNwaW5sb2NrX3QgICAgICAgICAgICBtYXB0cmFja19sb2NrOw0KPiAtICAgIC8qIFRoZSBkZWZp bmVkIHZlcnNpb25zIGFyZSAxIGFuZCAyLiAgU2V0IHRvIDAgaWYgd2UgZG9uJ3Qga25vdw0KPiAt ICAgICAgIHdoYXQgdmVyc2lvbiB0byB1c2UgeWV0LiAqLw0KPiAtICAgIHVuc2lnbmVkICAgICAg ICAgICAgICBndF92ZXJzaW9uOw0KPiAtfTsNCj4gLQ0KPiAtc3RhdGljIGlubGluZSB2b2lkIGdy YW50X3JlYWRfbG9jayhzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0KQ0KPiAtew0KPiAtICAgIHBlcmNw dV9yZWFkX2xvY2soZ3JhbnRfcndsb2NrLCAmZ3QtPmxvY2spOw0KPiAtfQ0KPiAtDQo+IC1zdGF0 aWMgaW5saW5lIHZvaWQgZ3JhbnRfcmVhZF91bmxvY2soc3RydWN0IGdyYW50X3RhYmxlICpndCkN Cj4gLXsNCj4gLSAgICBwZXJjcHVfcmVhZF91bmxvY2soZ3JhbnRfcndsb2NrLCAmZ3QtPmxvY2sp Ow0KPiAtfQ0KPiAtDQo+IC1zdGF0aWMgaW5saW5lIHZvaWQgZ3JhbnRfd3JpdGVfbG9jayhzdHJ1 Y3QgZ3JhbnRfdGFibGUgKmd0KQ0KPiAtew0KPiAtICAgIHBlcmNwdV93cml0ZV9sb2NrKGdyYW50 X3J3bG9jaywgJmd0LT5sb2NrKTsNCj4gLX0NCj4gLQ0KPiAtc3RhdGljIGlubGluZSB2b2lkIGdy YW50X3dyaXRlX3VubG9jayhzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0KQ0KPiAtew0KPiAtICAgIHBl cmNwdV93cml0ZV91bmxvY2soZ3JhbnRfcndsb2NrLCAmZ3QtPmxvY2spOw0KPiAtfQ0KPiAtDQo+ ICAvKiBDcmVhdGUvZGVzdHJveSBwZXItZG9tYWluIGdyYW50IHRhYmxlIGNvbnRleHQuICovDQo+ ICBpbnQgZ3JhbnRfdGFibGVfY3JlYXRlKA0KPiAgICAgIHN0cnVjdCBkb21haW4gKmQpOw0KPiBA QCAtMTA2LDMzICs0OSw2IEBAIHZvaWQNCj4gIGdudHRhYl9yZWxlYXNlX21hcHBpbmdzKA0KPiAg ICAgIHN0cnVjdCBkb21haW4gKmQpOw0KPiANCj4gLS8qIEluY3JlYXNlIHRoZSBzaXplIG9mIGEg ZG9tYWluJ3MgZ3JhbnQgdGFibGUuDQo+IC0gKiBDYWxsZXIgbXVzdCBob2xkIGQncyBncmFudCB0 YWJsZSB3cml0ZSBsb2NrLg0KPiAtICovDQo+IC1pbnQNCj4gLWdudHRhYl9ncm93X3RhYmxlKHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCByZXFfbnJfZnJhbWVzKTsNCj4gLQ0KPiAtLyog TnVtYmVyIG9mIGdyYW50IHRhYmxlIGZyYW1lcy4gQ2FsbGVyIG11c3QgaG9sZCBkJ3MgZ3JhbnQg dGFibGUgbG9jay4gKi8NCj4gLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IG5yX2dyYW50X2Zy YW1lcyhzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0KQ0KPiAtew0KPiAtICAgIHJldHVybiBndC0+bnJf Z3JhbnRfZnJhbWVzOw0KPiAtfQ0KPiAtDQo+IC0vKiBOdW1iZXIgb2Ygc3RhdHVzIGdyYW50IHRh YmxlIGZyYW1lcy4gQ2FsbGVyIG11c3QgaG9sZCBkJ3MgZ3IuIHRhYmxlIGxvY2suKi8NCj4gLXN0 YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IG5yX3N0YXR1c19mcmFtZXMoc3RydWN0IGdyYW50X3Rh YmxlICpndCkNCj4gLXsNCj4gLSAgICByZXR1cm4gZ3QtPm5yX3N0YXR1c19mcmFtZXM7DQo+IC19 DQo+IC0NCj4gLSNkZWZpbmUgR1JBTlRfU1RBVFVTX1BFUl9QQUdFIChQQUdFX1NJWkUgLyBzaXpl b2YoZ3JhbnRfc3RhdHVzX3QpKQ0KPiAtI2RlZmluZSBHUkFOVF9QRVJfUEFHRSAoUEFHRV9TSVpF IC8gc2l6ZW9mKGdyYW50X2VudHJ5X3YyX3QpKQ0KPiAtLyogTnVtYmVyIG9mIGdyYW50IHRhYmxl IHN0YXR1cyBlbnRyaWVzLiBDYWxsZXIgbXVzdCBob2xkIGQncyBnci4gdGFibGUgbG9jay4qLw0K PiAtc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ3JhbnRfdG9fc3RhdHVzX2ZyYW1lcyhpbnQg Z3JhbnRfZnJhbWVzKQ0KPiAtew0KPiAtICAgIHJldHVybiAoZ3JhbnRfZnJhbWVzICogR1JBTlRf UEVSX1BBR0UgKyBHUkFOVF9TVEFUVVNfUEVSX1BBR0UNCj4gLSAxKSAvDQo+IC0gICAgICAgIEdS QU5UX1NUQVRVU19QRVJfUEFHRTsNCj4gLX0NCj4gLQ0KPiAgaW50IG1lbV9zaGFyaW5nX2dyZWZf dG9fZ2ZuKHN0cnVjdCBncmFudF90YWJsZSAqZ3QsIGdyYW50X3JlZl90IHJlZiwNCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBnZm5fdCAqZ2ZuLCB1aW50MTZfdCAqc3RhdHVzKTsNCj4g DQo+IC0tDQo+IDIuMTIuMw0KPiANCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fDQo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcNCj4gaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbA0KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==