From mboxrd@z Thu Jan 1 00:00:00 1970 From: KY Srinivasan Subject: RE: [patch] tcp: attach SYNACK messages to request sockets instead of listener Date: Fri, 30 Oct 2015 20:28:33 +0000 Message-ID: References: <1446159521.6254.4.camel@edumazet-glaptop2.roam.corp.google.com> <1446235356.6254.33.camel@edumazet-glaptop2.roam.corp.google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "edumazet@google.com" , David Miller , "netdev@vger.kernel.org" To: Eric Dumazet , Haiyang Zhang Return-path: Received: from mail-by2on0128.outbound.protection.outlook.com ([207.46.100.128]:27712 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759546AbbJ3UoG (ORCPT ); Fri, 30 Oct 2015 16:44:06 -0400 In-Reply-To: <1446235356.6254.33.camel@edumazet-glaptop2.roam.corp.google.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRXJpYyBEdW1hemV0IFtt YWlsdG86ZXJpYy5kdW1hemV0QGdtYWlsLmNvbV0NCj4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDMw LCAyMDE1IDE6MDMgUE0NCj4gVG86IEhhaXlhbmcgWmhhbmcgPGhhaXlhbmd6QG1pY3Jvc29mdC5j b20+DQo+IENjOiBlZHVtYXpldEBnb29nbGUuY29tOyBEYXZpZCBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ow0KPiBuZXRkZXZAdmdlci5rZXJuZWwub3JnOyBLWSBTcmluaXZhc2FuIDxreXNA bWljcm9zb2Z0LmNvbT4NCj4gU3ViamVjdDogUmU6IFtwYXRjaF0gdGNwOiBhdHRhY2ggU1lOQUNL IG1lc3NhZ2VzIHRvIHJlcXVlc3Qgc29ja2V0cyBpbnN0ZWFkDQo+IG9mIGxpc3RlbmVyDQo+IA0K PiBPbiBGcmksIDIwMTUtMTAtMzAgYXQgMTk6MzggKzAwMDAsIEhhaXlhbmcgWmhhbmcgd3JvdGU6 DQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBFcmlj IER1bWF6ZXQgW21haWx0bzplcmljLmR1bWF6ZXRAZ21haWwuY29tXQ0KPiA+ID4gU2VudDogVGh1 cnNkYXksIE9jdG9iZXIgMjksIDIwMTUgNjo1OSBQTQ0KPiA+ID4gVG86IEhhaXlhbmcgWmhhbmcg PGhhaXlhbmd6QG1pY3Jvc29mdC5jb20+DQo+ID4gPiBDYzogZWR1bWF6ZXRAZ29vZ2xlLmNvbTsg RGF2aWQgTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PjsNCj4gPiA+IG5ldGRldkB2Z2VyLmtl cm5lbC5vcmc7IEtZIFNyaW5pdmFzYW4gPGt5c0BtaWNyb3NvZnQuY29tPg0KPiA+ID4gU3ViamVj dDogUmU6IFtwYXRjaF0gdGNwOiBhdHRhY2ggU1lOQUNLIG1lc3NhZ2VzIHRvIHJlcXVlc3Qgc29j a2V0cw0KPiA+ID4gaW5zdGVhZCBvZiBsaXN0ZW5lcg0KPiA+ID4NCj4gPiA+DQo+ID4gPiBUaGFu a3MgZm9yIHRoaXMgcmVwb3J0Lg0KPiA+ID4NCj4gPiA+IFNvbWVob3cgSSBrbmV3IHN1Y2ggYnVn cyB3b3VsZCBzdXJmYWNlIDspDQo+ID4gPg0KPiA+ID4gUGxlYXNlIHRyeSBmb2xsb3dpbmcgZGVi dWdnaW5nIHBhdGNoID8NCj4gPiA+DQo+ID4gPiBXZSBuZWVkIHRvIGlkZW50aWZ5IHdoaWNoIHBh cnQgb2YgdGhlIGtlcm5lbCBpcyBtZXNzZWQgdXAuDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvbmV0L3NvY2suaCBiL2luY2x1ZGUvbmV0L3NvY2suaA0KPiA+ID4gaW5kZXggYWVl ZDVjOTVmM2NhLi5hNjQzNDk5ZDM3ZTIgMTAwNjQ0DQo+ID4gPiAtLS0gYS9pbmNsdWRlL25ldC9z b2NrLmgNCj4gPiA+ICsrKyBiL2luY2x1ZGUvbmV0L3NvY2suaA0KPiA+ID4gQEAgLTE5NTEsNiAr MTk1MSwxNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2tiX3NldF9oYXNoX2Zyb21fc2soc3RydWN0 DQo+ID4gPiBza19idWZmICpza2IsIHN0cnVjdCBzb2NrICpzaykNCj4gPiA+ICAJfQ0KPiA+ID4g IH0NCj4gPiA+DQo+ID4gPiArLyogVGhpcyBoZWxwZXIgY2hlY2tzIGlmIGEgc29ja2V0IGlzIGEg ZnVsbCBzb2NrZXQsDQo+ID4gPiArICogaWUgX25vdF8gYSB0aW1ld2FpdCBvciByZXF1ZXN0IHNv Y2tldC4NCj4gPiA+ICsgKi8NCj4gPiA+ICtzdGF0aWMgaW5saW5lIGJvb2wgc2tfZnVsbHNvY2so Y29uc3Qgc3RydWN0IHNvY2sgKnNrKQ0KPiA+ID4gK3sNCj4gPiA+ICsJcmV0dXJuICgxIDw8IHNr LT5za19zdGF0ZSkgJiB+KFRDUEZfVElNRV9XQUlUIHwNCj4gVENQRl9ORVdfU1lOX1JFQ1YpOw0K PiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ICAvKg0KPiA+ID4gICAqCVF1ZXVlIGEgcmVjZWl2ZWQg ZGF0YWdyYW0gaWYgaXQgd2lsbCBmaXQuIFN0cmVhbSBhbmQgc2VxdWVuY2VkDQo+ID4gPiAgICoJ cHJvdG9jb2xzIGNhbid0IG5vcm1hbGx5IHVzZSB0aGlzIGFzIHRoZXkgbmVlZCB0byBmaXQgYnVm ZmVycyBpbg0KPiA+ID4gQEAgLTE5NjIsNiArMTk3MCwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQg c2tiX3NldF9oYXNoX2Zyb21fc2soc3RydWN0DQo+ID4gPiBza19idWZmICpza2IsIHN0cnVjdCBz b2NrICpzaykNCj4gPiA+DQo+ID4gPiAgc3RhdGljIGlubGluZSB2b2lkIHNrYl9zZXRfb3duZXJf dyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgc29jayAqc2spDQo+ID4gPiAgew0KPiA+ID4g KwlpZiAoIXNrX2Z1bGxzb2NrKHNrKSkgew0KPiA+ID4gKwkJV0FSTl9PTl9PTkNFKDEpOw0KPiA+ ID4gKwkJcmV0dXJuOw0KPiA+ID4gKwl9DQo+ID4gPiAgCXNrYl9vcnBoYW4oc2tiKTsNCj4gPiA+ ICAJc2tiLT5zayA9IHNrOw0KPiA+ID4gIAlza2ItPmRlc3RydWN0b3IgPSBzb2NrX3dmcmVlOw0K PiA+ID4gQEAgLTIyMjMsMTQgKzIyMzUsNiBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBzb2NrICpz a2Jfc3RlYWxfc29jayhzdHJ1Y3QNCj4gPiA+IHNrX2J1ZmYgKnNrYikNCj4gPiA+ICAJcmV0dXJu IE5VTEw7DQo+ID4gPiAgfQ0KPiA+ID4NCj4gPiA+IC0vKiBUaGlzIGhlbHBlciBjaGVja3MgaWYg YSBzb2NrZXQgaXMgYSBmdWxsIHNvY2tldCwNCj4gPiA+IC0gKiBpZSBfbm90XyBhIHRpbWV3YWl0 IG9yIHJlcXVlc3Qgc29ja2V0Lg0KPiA+ID4gLSAqLw0KPiA+ID4gLXN0YXRpYyBpbmxpbmUgYm9v bCBza19mdWxsc29jayhjb25zdCBzdHJ1Y3Qgc29jayAqc2spDQo+ID4gPiAtew0KPiA+ID4gLQly ZXR1cm4gKDEgPDwgc2stPnNrX3N0YXRlKSAmIH4oVENQRl9USU1FX1dBSVQgfA0KPiBUQ1BGX05F V19TWU5fUkVDVik7DQo+ID4gPiAtfQ0KPiA+ID4gLQ0KPiA+ID4gIC8qIFRoaXMgaGVscGVyIGNo ZWNrcyBpZiBhIHNvY2tldCBpcyBhIExJU1RFTiBvciBORVdfU1lOX1JFQ1YNCj4gPiA+ICAgKiBT WU5BQ0sgbWVzc2FnZXMgY2FuIGJlIGF0dGFjaGVkIHRvIGVpdGhlciBvbmVzIChkZXBlbmRpbmcg b24NCj4gPiA+IFNZTkNPT0tJRSkNCj4gPiA+ICAgKi8NCj4gPiA+DQo+ID4NCj4gPiBIaSBFcmlj LA0KPiA+DQo+ID4gVGhhbmtzIGZvciB0aGUgZGVidWcgcGF0Y2guIFRoZSBwYW5pYyBkb2VzIG5v dCBoYXBwZW4gYW55bW9yZSB3aXRoDQo+ID4gdGhlIHBhdGNoLiBJIHNlZSBhIHdhcm5pbmcgY2Fs bCB0cmFjZToNCj4gPg0KPiA+IFsgIDIyMi4zMDc5NDhdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUg XS0tLS0tLS0tLS0tLQ0KPiA+IFsgIDIyMi4zMDgwMDldIFdBUk5JTkc6IENQVTogNiBQSUQ6IDAg YXQgaW5jbHVkZS9uZXQvc29jay5oOjE5NzQNCj4gaXBfZmluaXNoX291dHB1dDIrMHgzNGYvMHgz NjAoKQ0KPiA+IFsgIDIyMi4zMDgwMjddIE1vZHVsZXMgbGlua2VkIGluOiBjZmc4MDIxMSBqb3lk ZXYgY3JjdDEwZGlmX3BjbG11bA0KPiBjcmMzMl9wY2xtdWwgYWVzbmlfaW50ZWwgYWVzX3g4Nl82 NCBnbHVlX2hlbHBlciBoaWRfZ2VuZXJpYyBscncgZ2YxMjhtdWwNCj4gYWJsa19oZWxwZXIgaTJj X3BpaXg0IGhpZF9oeXBlcnYgaHlwZXJ2X2ZiIGhpZCBjcnlwdGQgaHlwZXJ2X2tleWJvYXJkDQo+ IDgyNTBfZmludGVrIG1hY19oaWQgc2VyaW9fcmF3IHBhcnBvcnRfcGMgcHBkZXYgbHAgcGFycG9y dCBhdXRvZnM0IGh2X3V0aWxzDQo+IGh2X25ldHZzYyBodl9zdG9ydnNjIHBzbW91c2UgaHZfdm1i dXMgZmxvcHB5IHBhdGFfYWNwaQ0KPiA+IFsgIDIyMi4zMDgwODhdIENQVTogNiBQSUQ6IDAgQ29t bTogc3dhcHBlci82IE5vdCB0YWludGVkIDQuMy4wLXJjNi1uZXh0LQ0KPiAyMDE1MTAyMisgIzIN Cj4gPiBbICAyMjIuMzA4MTA0XSBIYXJkd2FyZSBuYW1lOiBNaWNyb3NvZnQgQ29ycG9yYXRpb24g VmlydHVhbA0KPiBNYWNoaW5lL1ZpcnR1YWwgTWFjaGluZSwgQklPUyAwOTAwMDYgIDA1LzIzLzIw MTINCj4gPiBbICAyMjIuMzA4MTIwXSAgZmZmZmZmZmY4MWIyYWU2NiBmZmZmODgwMDdjNzgzODc4 IGZmZmZmZmZmODEzYTRjZjQNCj4gMDAwMDAwMDAwMDAwMDAwMA0KPiA+IFsgIDIyMi4zMDgxMzdd ICBmZmZmODgwMDdjNzgzOGIwIGZmZmZmZmZmODEwNzhjYzYgZmZmZjg4MDA1YmYyZGMwMA0KPiBm ZmZmODgwMDc5ZjU4MDAwDQo+ID4gWyAgMjIyLjMwODE1M10gIGZmZmY4ODAwNWJmMmMwMDAgZmZm Zjg4MDA1YmYyYzgwMCBmZmZmODgwMDUwYjI4MDAwDQo+IGZmZmY4ODAwN2M3ODM4YzANCj4gPiBb ICAyMjIuMzA4MTcxXSBDYWxsIFRyYWNlOg0KPiA+IFsgIDIyMi4zMDgxODVdICA8SVJRPiAgWzxm ZmZmZmZmZjgxM2E0Y2Y0Pl0gZHVtcF9zdGFjaysweDQ0LzB4NjANCj4gPiBbICAyMjIuMzA4MjEy XSAgWzxmZmZmZmZmZjgxMDc4Y2M2Pl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg4Ni8weGMwDQo+ ID4gWyAgMjIyLjMwODIyOF0gIFs8ZmZmZmZmZmY4MTA3OGRiYT5dIHdhcm5fc2xvd3BhdGhfbnVs bCsweDFhLzB4MjANCj4gPiBbICAyMjIuMzA4MjQ1XSAgWzxmZmZmZmZmZjgxNmQyZTZmPl0gaXBf ZmluaXNoX291dHB1dDIrMHgzNGYvMHgzNjANCj4gPiBbICAyMjIuMzA4MjYyXSAgWzxmZmZmZmZm ZjgxNmQ0NTg5Pl0gaXBfZmluaXNoX291dHB1dCsweDE0OS8weDFlMA0KPiA+IFsgIDIyMi4zMDgy ODBdICBbPGZmZmZmZmZmODE2ZDRmMmM+XSBpcF9vdXRwdXQrMHg1Yy8weGMwDQo+ID4gWyAgMjIy LjMwODMwMF0gIFs8ZmZmZmZmZmY4MTAxZTg5OT5dID8gc2NoZWRfY2xvY2srMHg5LzB4MTANCj4g PiBbICAyMjIuMzA4MzE5XSAgWzxmZmZmZmZmZjgxMGE2M2E3Pl0gPyBzY2hlZF9jbG9ja19sb2Nh bCsweDE3LzB4ODANCj4gPiBbICAyMjIuMzA4MzM1XSAgWzxmZmZmZmZmZjgxNmQ0NzI1Pl0gaXBf bG9jYWxfb3V0KzB4MzUvMHg0MA0KPiA+IFsgIDIyMi4zMDgzNTFdICBbPGZmZmZmZmZmODE2ZDQ4 N2Q+XSBpcF9idWlsZF9hbmRfc2VuZF9wa3QrMHgxNGQvMHgxYzANCj4gPiBbICAyMjIuMzA4MzY5 XSAgWzxmZmZmZmZmZjgxNmYzOWZiPl0gdGNwX3Y0X3NlbmRfc3luYWNrKzB4NWIvMHhiMA0KPiA+ IFsgIDIyMi4zMDgzODZdICBbPGZmZmZmZmZmODE2ZDhmYjk+XSA/IGluZXRfZWhhc2hfaW5zZXJ0 KzB4NTkvMHgxMzANCj4gPiBbICAyMjIuMzA4NDA0XSAgWzxmZmZmZmZmZjgxNmRhMjY2Pl0gPw0K PiBpbmV0X2Nza19yZXFza19xdWV1ZV9oYXNoX2FkZCsweDc2LzB4YTANCj4gPiBbICAyMjIuMzA4 NDI1XSAgWzxmZmZmZmZmZjgxNmUzMjIzPl0gdGNwX2Nvbm5fcmVxdWVzdCsweDliMy8weDlmMA0K PiA+IFsgIDIyMi4zMDg0NDRdICBbPGZmZmZmZmZmODE2ZjIwYmM+XSB0Y3BfdjRfY29ubl9yZXF1 ZXN0KzB4NGMvMHg1MA0KPiA+IFsgIDIyMi4zMDg0NThdICBbPGZmZmZmZmZmODE2ZTk0MGM+XSB0 Y3BfcmN2X3N0YXRlX3Byb2Nlc3MrMHgxOWMvMHhjYjANCj4gPiBbICAyMjIuMzA4NDczXSAgWzxm ZmZmZmZmZjgxNzc0NmVjPl0gPw0KPiB0Y3BfdjRfaW5ib3VuZF9tZDVfaGFzaCsweDZkLzB4MTc3 DQo+ID4gWyAgMjIyLjMwODQ4NV0gIFs8ZmZmZmZmZmY4MTZmMmY1Mz5dIHRjcF92NF9kb19yY3Yr MHg3My8weDIxMA0KPiA+IFsgIDIyMi4zMDg0OTZdICBbPGZmZmZmZmZmODE2ZjQzYjE+XSB0Y3Bf djRfcmN2KzB4ODExLzB4ODQwDQo+ID4gWyAgMjIyLjMwODUxMV0gIFs8ZmZmZmZmZmY4MTZjZGE5 YT5dID8gaXBfcm91dGVfaW5wdXRfbm9yZWYrMHhiM2EvMHhkOTANCj4gPiBbICAyMjIuMzA4NTI0 XSAgWzxmZmZmZmZmZjgxNmNmMWEzPl0gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHg1My8weGUw DQo+ID4gWyAyMjIuMzA4NTM2XSAgWzxmZmZmZmZmZjgxNmNmNjkwPl0gaXBfbG9jYWxfZGVsaXZl cisweDYwLzB4ZDANCj4gPiBbICAyMjIuMzA4NTQ5XSAgWzxmZmZmZmZmZjgxNmNmMmI3Pl0gaXBf cmN2X2ZpbmlzaCsweDg3LzB4MmIwDQo+ID4gWyAgMjIyLjMwODU2MV0gIFs8ZmZmZmZmZmY4MTZj Zjk0OT5dIGlwX3JjdisweDI0OS8weDM1MA0KPiA+IFsgIDIyMi4zMDg1NzRdICBbPGZmZmZmZmZm ODE3Njc5NmM+XSA/IHBhY2tldF9yY3YrMHg0Yy8weDNlMA0KPiA+IFsgIDIyMi4zMDg1ODldICBb PGZmZmZmZmZmODE2OTY4NTc+XQ0KPiBfX25ldGlmX3JlY2VpdmVfc2tiX2NvcmUrMHgyZDcvMHg5 ODANCj4gPiBbICAyMjIuMzA4NjAyXSAgWzxmZmZmZmZmZjgxNjk2ZjE4Pl0gX19uZXRpZl9yZWNl aXZlX3NrYisweDE4LzB4NjANCj4gPiBbICAyMjIuMzA4NjE0XSAgWzxmZmZmZmZmZjgxNjk3YjM4 Pl0gcHJvY2Vzc19iYWNrbG9nKzB4YTgvMHgxNTANCj4gPiBbICAyMjIuMzA4NjI3XSAgWzxmZmZm ZmZmZjgxNjk3M2MzPl0gbmV0X3J4X2FjdGlvbisweDFiMy8weDJjMA0KPiA+IFsgIDIyMi4zMDg2 NDFdICBbPGZmZmZmZmZmODEwN2QzMmM+XSBfX2RvX3NvZnRpcnErMHhmYy8weDI1MA0KPiA+IFsg IDIyMi4zMDg2NTNdICBbPGZmZmZmZmZmODEwN2Q1ZGU+XSBpcnFfZXhpdCsweDhlLzB4OTANCj4g PiBbICAyMjIuMzA4NjY3XSAgWzxmZmZmZmZmZjgxMDRhMWNlPl0gaHlwZXJ2X3ZlY3Rvcl9oYW5k bGVyKzB4M2UvMHg1MA0KPiA+IFsgIDIyMi4zMDg2ODBdICBbPGZmZmZmZmZmODE3ODM1YzI+XSBo eXBlcnZfY2FsbGJhY2tfdmVjdG9yKzB4ODIvMHg5MA0KPiA+IFsgIDIyMi4zMDg2OTBdICA8RU9J PiAgWzxmZmZmZmZmZjgxMDVlMjU2Pl0gPyBuYXRpdmVfc2FmZV9oYWx0KzB4Ni8weDEwDQo+ID4g WyAgMjIyLjMwODcwN10gIFs8ZmZmZmZmZmY4MTAxZjdhZT5dIGRlZmF1bHRfaWRsZSsweDFlLzB4 YTANCj4gPiBbICAyMjIuMzA4NzE4XSAgWzxmZmZmZmZmZjgxMDFmZWZmPl0gYXJjaF9jcHVfaWRs ZSsweGYvMHgyMA0KPiA+IFsgIDIyMi4zMDg3MzFdICBbPGZmZmZmZmZmODEwYjg2ZjI+XSBkZWZh dWx0X2lkbGVfY2FsbCsweDMyLzB4NDANCj4gPiBbICAyMjIuMzA4NzQzXSAgWzxmZmZmZmZmZjgx MGI4YTE4Pl0gY3B1X3N0YXJ0dXBfZW50cnkrMHgyYjgvMHgzMTANCj4gPiBbICAyMjIuMzA4NzU2 XSAgWzxmZmZmZmZmZjgxMDRjMjM4Pl0gc3RhcnRfc2Vjb25kYXJ5KzB4MTc4LzB4MWEwDQo+ID4g WyAgMjIyLjMwODc2OV0gLS0tWyBlbmQgdHJhY2UgMGM3MTQzOGQ0ZDFiNmRjYSBdLS0tDQo+IA0K PiBTbyBpdCBsb29rcyBsaWtlIHlvdSBoYXZlIGEgZGV2aWNlIHdpdGggYSB2ZXJ5IGJpZyBoaF9s ZW4NCg0KWWVzOyBvdXIgZHJpdmVyIGRvZXMgYXNrIGZvciBhZGRpdGlvbmFsIGhlYWQgcm9vbS4g V2UgY2FuIGF2b2lkIHRoaXMgcmVhbGxvYyBpZiB3ZQ0Kc2V0ICBMTF9NQVhfSEVBREVSICB0byAy MjQuDQoNCksuIFkNCj4gDQo+IE1BWF9UQ1BfSEVBREVSIGlzIG5vdCBlbm91Z2ggc3BhY2UgdG8g aG9sZCBhbGwgaGVhZGVycywgYW5kIHRoaXMgaXMgdGhlDQo+IGJ1ZyB0aGF0IG5lZWRzIHRvIGJl IGZpeGVkLiBUaGlzIGlzIHNjYXJ5IHRvIHJlYWxsb2MgYWxsIHRjcCBwYWNrZXRzICENCj4gDQo+ IENvdWxkIHlvdSBhZGQgOg0KPiANCj4gZGlmZiAtLWdpdCBhL25ldC9pcHY0L2lwX291dHB1dC5j IGIvbmV0L2lwdjQvaXBfb3V0cHV0LmMNCj4gaW5kZXggNTBlMjk3MzdiNTg0Li4xNjRkYmJiZmU2 YjEgMTAwNjQ0DQo+IC0tLSBhL25ldC9pcHY0L2lwX291dHB1dC5jDQo+ICsrKyBiL25ldC9pcHY0 L2lwX291dHB1dC5jDQo+IEBAIC0xOTAsNiArMTkwLDggQEAgc3RhdGljIGludCBpcF9maW5pc2hf b3V0cHV0MihzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdA0KPiBzb2NrICpzaywgc3RydWN0IHNrX2J1 ZmYgKnMNCj4gIAlpZiAodW5saWtlbHkoc2tiX2hlYWRyb29tKHNrYikgPCBoaF9sZW4gJiYgZGV2 LT5oZWFkZXJfb3BzKSkgew0KPiAgCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiMjsNCj4gDQo+ICsJCXBy X2Vycl9vbmNlKCJXb3cgISBoZWFkcm9vbT0ldSB3aGlsZQ0KPiBoaF9sZW4oJXMpPSV1XG4iLA0K PiArCQkJICAgIHNrYl9oZWFkcm9vbShza2IpLCBkZXYtPm5hbWUsIGhoX2xlbik7DQo+ICAJCXNr YjIgPSBza2JfcmVhbGxvY19oZWFkcm9vbShza2IsDQo+IExMX1JFU0VSVkVEX1NQQUNFKGRldikp Ow0KPiAgCQlpZiAoIXNrYjIpIHsNCj4gIAkJCWtmcmVlX3NrYihza2IpOw0KPiANCj4gDQoNCg==