Date: Thu, 6 Jun 2019 15:34:47 +0000 From: "Scheffenegger, Richard" <Richard.Scheffenegger@netapp.com> To: Yu He <yuhe@vmware.com>, Gopakumar Pillai <gpillai@vmware.com> Cc: Lars Eggert <lars@eggert.org>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, "freebsd-transport@freebsd.org" <freebsd-transport@freebsd.org>, "Cui, Cheng" <Cheng.Cui@netapp.com>, "Yoon, Suyoung" <Suyoung.Yoon@netapp.com> Subject: RE: Some question about DCTCP implementation in FreeBSD Message-ID: <SN4PR0601MB3728854E07F4A14F58EA923486170@SN4PR0601MB3728.namprd06.prod.outlook.com> In-Reply-To: <60507CB3-52A6-482B-BF96-36CFEEDA4B0B@eggert.org> References: <2F719086-68CA-46CB-AE01-40E2AAB6E964@vmware.com> <60507CB3-52A6-482B-BF96-36CFEEDA4B0B@eggert.org>
next in thread | previous in thread | raw e-mail | index | archive | help
DQpIaSBZdSBIZSwNCg0KVGhpcyBjb2RlIGlzIHNpbXBseSB1c2luZyBpbnRlZ2VyIGFyaXRobWV0 aWNzIChmbG9hdCBpcyBub3QgcmVhbGx5IHBvc3NpYmxlIGluIHRoZSBrZXJuZWwpLCBsZWZ0LXNo aWZ0aW5nIHRoZSBmcmFjdGlvbmFsIHZhbHVlIG9mIGcgYnkgMTAyNCAoMTAgYml0cykuDQoNCk1h eF9hbHBoYV92YWx1ZSA9IDEwMjQgaXMg4oCcMeKAnSBzaGlmdGVkIGxlZnQgYnkgMTAuDQoNCkFn cmVlZCB0aGF0IHRoaXMgaXMgbm90IGNsZWFybHkgZG9jdW1lbnRlZCwgYW5kIEkgYmVsaWV2ZSB0 aGUgc3lzY3RsIGhhbmRsZXIgYWxzbyBpcyBub3QgcHJvcGVybHkgaW1wbGVtZW50ZWQgdG8gYWRq dXN0IHRoaXMgdmFsdWUuDQoNCkkgdGhvdWdodCBJIGhhZCBiZWVuIHdvcmtpbmcgb24gdGhpc+KA pg0KDQpBaCwgaGVyZSBpcyBpdC4gSSB3YXMgdHJ5aW5nIHRvIGltcGxlbWVudCB0aGUgRmx1aWQt bW9kZWwgRENUQ1AgZm9yIG11Y2ggYmV0dGVyIFJUVCBmYWlybmVzcywgYnV0IGFwcGFyZW50bHkg Z290IGRpc3RyYWN0ZWQgYmVmb3JlIHB1dHRpbmcgb24gYSBEaWZmLg0KRmx1aWQtbW9kZWwgRENU Q1Agd2FzIGFuYWx5emVkIGJ5IHRoZSBvcmlnaW5hbCBhdXRob3JzIG9mIERDVENQLCBhbmQgYmFz aWNhbGx5IGFkanVzdHMgY3duZCBmcmFjdGlvbmFsbHkgaW1tZWRpYXRlbHkgYWZ0ZXIgYSBDRSBp cyByZWNlaXZlZCwgaW5zdGVhZCBvZiBvbmNlIGF0IHRoZSBlbmQgb2YgYSB3aW5kb3cuIFRoZSB1 cGRhdGUgdG8gQWxwaGEgaXMga2VwdCB0byBvbmNlIHBlciB3aW5kb3csIHRvIGtlZXAgdGhlIGJv b2trZWVwaW5nIGVhc3kgYW5kIHN0cmFpZ2h0IGZvcndhcmQuDQoNCkZvciByZWZlcmVuY2UsIGhl cmUgaXMgdGhlIHBhcnRpYWwgY29kZSBJIGNhbWUgdXAgd2l0aC4NCg0KSeKAmWxsIGJyZWFrIHRo aXMgaW50byBhbiBpbml0aWFsIERpZmYgdG8gZml4IHRoZSBzeXNjdGwgdHVuYWJsZXMsIGFzIHNv b24gYXMgSSBjYW4uIFdvdWxkIGFwcHJlY2lhdGUgYW55IGhlbHAgaW4gZ2V0dGluZyB0aGUgZmx1 aWQtbW9kZWwgaW1wcm92ZW1lbnQgZnVsbHkgdGVzdGVkIHRob3VnaC4NCg0KDQpbcm9vdEBmcmVl YnNkIH4vbmV0aW5ldC9jY10jIGdpdCBkaWZmIG1hc3RlciBjY19kY3RjcC5jDQpkaWZmIC0tZ2l0 IGEvc3lzL25ldGluZXQvY2MvY2NfZGN0Y3AuYyBiL3N5cy9uZXRpbmV0L2NjL2NjX2RjdGNwLmMN CmluZGV4IDlhZmZkMGRhMmIzLi43NzhmZjdhODQ3NyAxMDA2NDQNCi0tLSBhL3N5cy9uZXRpbmV0 L2NjL2NjX2RjdGNwLmMNCisrKyBiL3N5cy9uZXRpbmV0L2NjL2NjX2RjdGNwLmMNCkBAIC01Niw3 ICs1NiwzOCBAQCBfX0ZCU0RJRCgiJEZyZWVCU0QkIik7DQojaW5jbHVkZSA8bmV0aW5ldC9jYy9j Yy5oPg0KI2luY2x1ZGUgPG5ldGluZXQvY2MvY2NfbW9kdWxlLmg+DQoNCi0jZGVmaW5lIE1BWF9B TFBIQV9WQUxVRSAxMDI0DQorI2RlZmluZSBEQ1RDUF9TSElGVCAxMA0KKyNkZWZpbmUgTUFYX0FM UEhBX1ZBTFVFIDE8PERDVENQX1NISUZUDQpWTkVUX0RFRklORV9TVEFUSUModWludDMyX3QsIGRj dGNwX2FscGhhKSA9IDA7DQojZGVmaW5lIFZfZGN0Y3BfYWxwaGEgICAgICBWTkVUKGRjdGNwX2Fs cGhhKQ0KVk5FVF9ERUZJTkVfU1RBVElDKHVpbnQzMl90LCBkY3RjcF9zaGlmdF9nKSA9IDQ7DQpA QCAtNjUsMTQgKzk2LDE1IEBAIFZORVRfREVGSU5FX1NUQVRJQyh1aW50MzJfdCwgZGN0Y3Bfc2xv d3N0YXJ0KSA9IDA7DQojZGVmaW5lICAgICAgICBWX2RjdGNwX3Nsb3dzdGFydCAgIFZORVQoZGN0 Y3Bfc2xvd3N0YXJ0KQ0KDQpzdHJ1Y3QgZGN0Y3Agew0KLSAgICAgICBpbnQgICAgIGJ5dGVzX2Vj bjsgICAgICAvKiAjIG9mIG1hcmtlZCBieXRlcyBkdXJpbmcgYSBSVFQgKi8NCi0gICAgICAgaW50 ICAgICBieXRlc190b3RhbDsgICAgLyogIyBvZiBhY2tlZCBieXRlcyBkdXJpbmcgYSBSVFQgKi8N Ci0gICAgICAgaW50ICAgICBhbHBoYTsgICAgICAgICAgLyogdGhlIGZyYWN0aW9uIG9mIG1hcmtl ZCBieXRlcyAqLw0KLSAgICAgICBpbnQgICAgIGNlX3ByZXY7ICAgICAgICAvKiBDRSBzdGF0ZSBv ZiB0aGUgbGFzdCBzZWdtZW50ICovDQotICAgICAgIGludCAgICAgc2F2ZV9zbmRueHQ7ICAgIC8q IGVuZCBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgd2luZG93ICovDQotICAgICAgIGlu dCAgICAgZWNlX2N1cnI7ICAgICAgIC8qIEVDRSBmbGFnIGluIHRoaXMgc2VnbWVudCAqLw0KLSAg ICAgICBpbnQgICAgIGVjZV9wcmV2OyAgICAgICAvKiBFQ0UgZmxhZyBpbiB0aGUgbGFzdCBzZWdt ZW50ICovDQotICAgICAgIHVpbnQzMl90ICAgIG51bV9jb25nX2V2ZW50czsgLyogIyBvZiBjb25n ZXN0aW9uIGV2ZW50cyAqLw0KKyAgICAgICB1aW50MzJfdCBieXRlc19lY247ICAgICAvKiAjIG9m IG1hcmtlZCBieXRlcyBkdXJpbmcgYSBSVFQgKi8NCisgICAgICAgdWludDMyX3QgYnl0ZXNfdG90 YWw7ICAgLyogIyBvZiBhY2tlZCBieXRlcyBkdXJpbmcgYSBSVFQgKi8NCisgICAgICAgaW50ICAg ICAgYWxwaGE7ICAgICAgICAgLyogdGhlIGZyYWN0aW9uIG9mIG1hcmtlZCBieXRlcyAqLw0KKyAg ICAgICBpbnQgICAgICBjZV9wcmV2OyAgICAgICAvKiBDRSBzdGF0ZSBvZiB0aGUgbGFzdCBzZWdt ZW50ICovDQorICAgICAgIHRjcF9zZXEgIHNhdmVfc25kbnh0OyAgIC8qIGVuZCBzZXF1ZW5jZSBu dW1iZXIgb2YgdGhlIGN1cnJlbnQgd2luZG93ICovDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8vIFhYUk1TOiBjYW4ndCBhIHJ0dF93aW5kb3cgbWFya2VyIGluIHRjcGNiIGJlIHJl dXNlZD8NCisgICAgICAgaW50ICAgICAgZWNlX2N1cnI7ICAgICAgLyogRUNFIGZsYWcgaW4gdGhp cyBzZWdtZW50ICovDQorICAgICAgIGludCAgICAgIGVjZV9wcmV2OyAgICAgIC8qIEVDRSBmbGFn IGluIHRoZSBsYXN0IHNlZ21lbnQgKi8NCisgICAgICAgdWludDMyX3QgbnVtX2NvbmdfZXZlbnRz OyAvKiAjIG9mIGNvbmdlc3Rpb24gZXZlbnRzICovDQp9Ow0KDQpzdGF0aWMgTUFMTE9DX0RFRklO RShNX2RjdGNwLCAiZGN0Y3AgZGF0YSIsDQpAQCAtMTA3LDYgKzEzOSw4IEBAIGRjdGNwX2Fja19y ZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IHR5cGUpDQogICAgICAgIGludCBi eXRlc19hY2tlZCA9IDA7DQoNCiAgICAgICAgZGN0Y3BfZGF0YSA9IGNjdi0+Y2NfZGF0YTsNCg0K ICAgICAgICBpZiAoQ0NWKGNjdiwgdF9mbGFncykgJiBURl9FQ05fUEVSTUlUKSB7DQogICAgICAg ICAgICAgICAgLyoNCkBAIC0xMjIsNyArMTU2LDcgQEAgZGN0Y3BfYWNrX3JlY2VpdmVkKHN0cnVj dCBjY192YXIgKmNjdiwgdWludDE2X3QgdHlwZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIG5l d3Jlbm9fY2NfYWxnby5hY2tfcmVjZWl2ZWQoY2N2LCB0eXBlKTsNCg0KICAgICAgICAgICAgICAg IGlmICh0eXBlID09IENDX0RVUEFDSykNCi0gICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzX2Fj a2VkID0gQ0NWKGNjdiwgdF9tYXhzZWcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXNf YWNrZWQgPSBDQ1YoY2N2LCB0X21heHNlZyk7IC8vWFhSTVM6IHRvZG8sIHVzZSBzYWNrZWQgZGF0 YT8NCg0KICAgICAgICAgICAgICAgIGlmICh0eXBlID09IENDX0FDSykNCiAgICAgICAgICAgICAg ICAgICAgICAgIGJ5dGVzX2Fja2VkID0gY2N2LT5ieXRlc190aGlzX2FjazsNCkBAIC0xMzIsNiAr MTY2LDcgQEAgZGN0Y3BfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDE2X3Qg dHlwZSkNCg0KICAgICAgICAgICAgICAgIC8qIFVwZGF0ZSB0b3RhbCBtYXJrZWQgYnl0ZXMuICov DQogICAgICAgICAgICAgICAgaWYgKGRjdGNwX2RhdGEtPmVjZV9jdXJyKSB7DQorICAgICAgICAg ICAgICAgICAgICAgICAvLyBGbHVpZC1tb2RlbCBvZiBEQ1RDUCBmb3IgUlRUIGZhaXJuZXNzIGhl cmUgKGFkanVzdCBjd25kIG9uIGVhY2ggQUNLLCByYXRoZXIgdGhhbiBvbmNlIHBlciB3aW5kb3cp DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWRjdGNwX2RhdGEtPmVjZV9wcmV2DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgJiYgYnl0ZXNfYWNrZWQgPiBDQ1YoY2N2LCB0X21heHNl ZykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+Ynl0ZXNf ZWNuICs9DQpAQCAtMTQzLDEwICsxNzgsMTMgQEAgZGN0Y3BfYWNrX3JlY2VpdmVkKHN0cnVjdCBj Y192YXIgKmNjdiwgdWludDE2X3QgdHlwZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChk Y3RjcF9kYXRhLT5lY2VfcHJldg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGJ5dGVz X2Fja2VkID4gQ0NWKGNjdiwgdF9tYXhzZWcpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkY3RjcF9kYXRhLT5ieXRlc19lY24gKz0gQ0NWKGNjdiwgdF9tYXhzZWcpOw0KKy8vICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ5dGVzX2Fja2VkIC0gQ0NWKGNjdiwgdF9t YXhzZWcpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmVjZV9wcmV2ID0g MDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+ZWNlX2N1 cnIgPSAwOw0KDQogICAgICAgICAgICAgICAgLyoNCiAgICAgICAgICAgICAgICAgKiBVcGRhdGUg dGhlIGZyYWN0aW9uIG9mIG1hcmtlZCBieXRlcyBhdCB0aGUgZW5kIG9mDQogICAgICAgICAgICAg ICAgICogY3VycmVudCB3aW5kb3cgc2l6ZS4NCg0Kc3RhdGljIHZvaWQNCkBAIC0xNjUsMTggKzIw NSwyMSBAQCBkY3RjcF9hZnRlcl9pZGxlKHN0cnVjdCBjY192YXIgKmNjdikNCnsNCiAgICAgICAg c3RydWN0IGRjdGNwICpkY3RjcF9kYXRhOw0KDQotICAgICAgIGRjdGNwX2RhdGEgPSBjY3YtPmNj X2RhdGE7DQorICAgICAgIGlmIChDQ1YoY2N2LCB0X2ZsYWdzKSAmIFRGX0VDTl9QRVJNSVQpIHsN Cg0KLSAgICAgICAvKiBJbml0aWFsaXplIGludGVybmFsIHBhcmFtZXRlcnMgYWZ0ZXIgaWRsZSB0 aW1lICovDQotICAgICAgIGRjdGNwX2RhdGEtPmJ5dGVzX2VjbiA9IDA7DQotICAgICAgIGRjdGNw X2RhdGEtPmJ5dGVzX3RvdGFsID0gMDsNCi0gICAgICAgZGN0Y3BfZGF0YS0+c2F2ZV9zbmRueHQg PSBDQ1YoY2N2LCBzbmRfbnh0KTsNCi0gICAgICAgZGN0Y3BfZGF0YS0+YWxwaGEgPSBWX2RjdGNw X2FscGhhOw0KLSAgICAgICBkY3RjcF9kYXRhLT5lY2VfY3VyciA9IDA7DQotICAgICAgIGRjdGNw X2RhdGEtPmVjZV9wcmV2ID0gMDsNCi0gICAgICAgZGN0Y3BfZGF0YS0+bnVtX2NvbmdfZXZlbnRz ID0gMDsNCisgICAgICAgICAgICAgICBkY3RjcF9kYXRhID0gY2N2LT5jY19kYXRhOw0KDQotICAg ICAgIGRjdGNwX2NjX2FsZ28uYWZ0ZXJfaWRsZSA9IG5ld3Jlbm9fY2NfYWxnby5hZnRlcl9pZGxl Ow0KKyAgICAgICAgICAgICAgIC8qIEluaXRpYWxpemUgaW50ZXJuYWwgcGFyYW1ldGVycyBhZnRl ciBpZGxlIHRpbWUgKi8NCisgICAgICAgICAgICAgICBkY3RjcF9kYXRhLT5ieXRlc19lY24gPSAw Ow0KKyAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmJ5dGVzX3RvdGFsID0gMDsNCisgICAgICAg ICAgICAgICBkY3RjcF9kYXRhLT5zYXZlX3NuZG54dCA9IENDVihjY3YsIHNuZF9ueHQpOw0KKyAg ICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmFscGhhID0gVl9kY3RjcF9hbHBoYSA8PCBEQ1RDUF9T SElGVDsNCisgICAgICAgICAgICAgICBkY3RjcF9kYXRhLT5lY2VfY3VyciA9IDA7DQorICAgICAg ICAgICAgICAgZGN0Y3BfZGF0YS0+ZWNlX3ByZXYgPSAwOw0KKyAgICAgICAgICAgICAgIGRjdGNw X2RhdGEtPm51bV9jb25nX2V2ZW50cyA9IDA7DQorICAgICAgIH0NCisNCisgICAgICAgbmV3cmVu b19jY19hbGdvLmFmdGVyX2lkbGUoY2N2KTsNCn0NCg0Kc3RhdGljIHZvaWQNCkBAIC0yMDksNyAr MjUyLDcgQEAgZGN0Y3BfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YpDQogICAgICAgICAqIE5v dGU6IERDVENQIGRyYWZ0IHN1Z2dlc3RzIGluaXRpYWwgYWxwaGEgdG8gYmUgMSBidXQgd2UndmUg ZGVjaWRlZCB0bw0KICAgICAgICAgKiBrZWVwIGl0IDAgYXMgZGVmYXVsdC4NCiAgICAgICAgICov DQotICAgICAgIGRjdGNwX2RhdGEtPmFscGhhID0gVl9kY3RjcF9hbHBoYTsNCisgICAgICAgZGN0 Y3BfZGF0YS0+YWxwaGEgPSBWX2RjdGNwX2FscGhhIDw8IERDVENQX1NISUZUOw0KICAgICAgICBk Y3RjcF9kYXRhLT5zYXZlX3NuZG54dCA9IDA7DQogICAgICAgIGRjdGNwX2RhdGEtPmNlX3ByZXYg PSAwOw0KICAgICAgICBkY3RjcF9kYXRhLT5lY2VfY3VyciA9IDA7DQpAQCAtMjI3LDYzICsyNzAs NzMgQEAgc3RhdGljIHZvaWQNCmRjdGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwg dWludDMyX3QgdHlwZSkNCnsNCiAgICAgICAgc3RydWN0IGRjdGNwICpkY3RjcF9kYXRhOw0KLSAg ICAgICB1X2ludCB3aW4sIG1zczsNCisgICAgICAgdV9pbnQgY3duZCwgbXNzOw0KDQotICAgICAg IGRjdGNwX2RhdGEgPSBjY3YtPmNjX2RhdGE7DQotICAgICAgIHdpbiA9IENDVihjY3YsIHNuZF9j d25kKTsNCi0gICAgICAgbXNzID0gQ0NWKGNjdiwgdF9tYXhzZWcpOw0KKyAgICAgICBpZiAoQ0NW KGNjdiwgdF9mbGFncykgJiBURl9FQ05fUEVSTUlUKSB7DQoNCi0gICAgICAgc3dpdGNoICh0eXBl KSB7DQotICAgICAgIGNhc2UgQ0NfTkRVUEFDSzoNCi0gICAgICAgICAgICAgICBpZiAoIUlOX0ZB U1RSRUNPVkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSkpIHsNCisgICAgICAgICAgICAgICBkY3RjcF9k YXRhID0gY2N2LT5jY19kYXRhOw0KKyAgICAgICAgICAgICAgIGN3bmQgPSBDQ1YoY2N2LCBzbmRf Y3duZCk7DQorICAgICAgICAgICAgICAgbXNzID0gQ0NWKGNjdiwgdF9tYXhzZWcpOw0KKw0KKyAg ICAgICAgICAgICAgIC8vWFhSTVM6IGNoZWNrIGlmIHNlc3Npb24gaXMgRUNOLWVuYWJsZWQsIGVs c2UgZG8gbmV3cmVubw0KKw0KKyAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZSkgew0KKyAgICAg ICAgICAgICAgIGNhc2UgQ0NfTkRVUEFDSzoNCisgICAgICAgICAgICAgICAgICAgICAgIGlmICgh SU5fRkFTVFJFQ09WRVJZKENDVihjY3YsIHRfZmxhZ3MpKSkgew0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAoIUlOX0NPTkdSRUNPVkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSkpIHsN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfc3N0 aHJlc2gpID0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4 KGN3bmQgLyAyLCAyICogbXNzKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkY3RjcF9kYXRhLT5udW1fY29uZ19ldmVudHMrKzsNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvKiBjd25kIGhhcyBhbHJlYWR5IHVwZGF0ZWQgYXMgY29uZ2VzdGlvbg0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHJlY292ZXJ5LiBSZXZlcnNlIGN3bmQg dmFsdWUgdXNpbmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBz bmRfY3duZF9wcmV2IGFuZCByZWNhbGN1bGF0ZSBzbmRfc3N0aHJlc2gNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjd25kID0gQ0NWKGNjdiwgc25kX2N3bmRfcHJldik7DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNjdiwgc25kX3NzdGhyZXNoKSA9DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heChjd25kIC8gMiwg MiAqIG1zcyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRU5URVJfUkVDT1ZFUlkoQ0NWKGNjdiwgdF9mbGFncykpOw0K KyAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7 DQorICAgICAgICAgICAgICAgY2FzZSBDQ19FQ046DQorICAgICAgICAgICAgICAgICAgICAgICAv Kg0KKyAgICAgICAgICAgICAgICAgICAgICAgICogU2F2ZSBjdXJyZW50IHNuZF9jd25kIHdoZW4g dGhlIGhvc3QgZW5jb3VudGVycyBib3RoDQorICAgICAgICAgICAgICAgICAgICAgICAgKiBjb25n ZXN0aW9uIHJlY292ZXJ5IGFuZCBmYXN0IHJlY292ZXJ5Lg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICovDQorICAgICAgICAgICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfY3duZF9wcmV2KSA9 IGN3bmQ7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUlOX0NPTkdSRUNPVkVSWShDQ1Yo Y2N2LCB0X2ZsYWdzKSkpIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNj diwgc25kX3NzdGhyZXNoKSA9IG1zcyAqDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYXgod2luIC8gMiAvIG1zcywgMik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmIChWX2RjdGNwX3Nsb3dzdGFydCAmJg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGN0Y3BfZGF0YS0+bnVtX2NvbmdfZXZlbnRzKysgPT0gMCkgew0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENDVihjY3YsIHNuZF9zc3RocmVzaCkgPQ0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgoY3duZCAvIDIs IDIgKiBtc3MpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNw X2RhdGEtPmFscGhhID0gTUFYX0FMUEhBX1ZBTFVFOw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmJ5dGVzX2VjbiA9IDA7DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+Ynl0ZXNfdG90YWwgPSAwOw0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPnNhdmVf c25kbnh0ID0gQ0NWKGNjdiwgc25kX254dCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0gZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENDVihj Y3YsIHNuZF9zc3RocmVzaCkgPQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYXgoKGN3bmQgLSAoKCh1aW50NjRfdCljd25kICoNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+YWxwaGEpID4+IERDVENQX1NI SUZUKS8yKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAq IG1zcyk7IC8vWFhSTVM6IGRlZmluZSBtYWdpYyBudW1iZXIgZm9yIHNoaWZ0DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENDVihjY3YsIHNuZF9jd25kKSA9IENDVihjY3YsIHNuZF9z c3RocmVzaCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVOVEVSX0NPTkdSRUNP VkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSk7DQorICAgICAgICAgICAgICAgICAgICAgICB9DQorICAg ICAgICAgICAgICAgICAgICAgICBkY3RjcF9kYXRhLT5lY2VfY3VyciA9IDE7DQorICAgICAgICAg ICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICBjYXNlIENDX1JUTzoNCisgICAg ICAgICAgICAgICAgICAgICAgIGlmIChDQ1YoY2N2LCB0X2ZsYWdzKSAmIFRGX0VDTl9QRVJNSVQp IHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNjdiwgdF9mbGFncykgfD0g VEZfRUNOX1NORF9DV1I7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX3Vw ZGF0ZV9hbHBoYShjY3YpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkY3RjcF9k YXRhLT5zYXZlX3NuZG54dCArPSBDQ1YoY2N2LCB0X21heHNlZyk7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPm51bV9jb25nX2V2ZW50cysrOw0KLSAgICAgICAg ICAgICAgICAgICAgICAgfSBlbHNlIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LyogY3duZCBoYXMgYWxyZWFkeSB1cGRhdGVkIGFzIGNvbmdlc3Rpb24NCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICogcmVjb3ZlcnkuIFJldmVyc2UgY3duZCB2YWx1ZSB1c2luZw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBzbmRfY3duZF9wcmV2IGFuZCByZWNh bGN1bGF0ZSBzbmRfc3N0aHJlc2gNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICov DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbiA9IENDVihjY3YsIHNuZF9jd25k X3ByZXYpOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfc3N0 aHJlc2gpID0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heCh3aW4gLyAy IC8gbXNzLCAyKSAqIG1zczsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAg ICAgICAgICAgICAgIEVOVEVSX1JFQ09WRVJZKENDVihjY3YsIHRfZmxhZ3MpKTsNCi0gICAgICAg ICAgICAgICB9DQotICAgICAgICAgICAgICAgYnJlYWs7DQotICAgICAgIGNhc2UgQ0NfRUNOOg0K LSAgICAgICAgICAgICAgIC8qDQotICAgICAgICAgICAgICAgICogU2F2ZSBjdXJyZW50IHNuZF9j d25kIHdoZW4gdGhlIGhvc3QgZW5jb3VudGVycyBib3RoDQotICAgICAgICAgICAgICAgICogY29u Z2VzdGlvbiByZWNvdmVyeSBhbmQgZmFzdCByZWNvdmVyeS4NCi0gICAgICAgICAgICAgICAgKi8N Ci0gICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfY3duZF9wcmV2KSA9IHdpbjsNCi0gICAgICAg ICAgICAgICBpZiAoIUlOX0NPTkdSRUNPVkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSkpIHsNCi0gICAg ICAgICAgICAgICAgICAgICAgIGlmIChWX2RjdGNwX3Nsb3dzdGFydCAmJg0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPm51bV9jb25nX2V2ZW50cysrID09IDApIHsNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNjdiwgc25kX3NzdGhyZXNoKSA9DQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc3MgKiBtYXgod2luIC8gMiAvIG1z cywgMik7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmFscGhh ID0gTUFYX0FMUEhBX1ZBTFVFOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkY3Rj cF9kYXRhLT5ieXRlc19lY24gPSAwOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk Y3RjcF9kYXRhLT5ieXRlc190b3RhbCA9IDA7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRjdGNwX2RhdGEtPnNhdmVfc25kbnh0ID0gQ0NWKGNjdiwgc25kX254dCk7DQotICAgICAg ICAgICAgICAgICAgICAgICB9IGVsc2UNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q0NWKGNjdiwgc25kX3NzdGhyZXNoKSA9IG1heCgod2luIC0gKCh3aW4gKg0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+YWxwaGEpID4+IDExKSkgLyBtc3Ms IDIpICogbXNzOw0KLSAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNjdiwgc25kX2N3bmQpID0g Q0NWKGNjdiwgc25kX3NzdGhyZXNoKTsNCi0gICAgICAgICAgICAgICAgICAgICAgIEVOVEVSX0NP TkdSRUNPVkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSk7DQotICAgICAgICAgICAgICAgfQ0KLSAgICAg ICAgICAgICAgIGRjdGNwX2RhdGEtPmVjZV9jdXJyID0gMTsNCi0gICAgICAgICAgICAgICBicmVh azsNCi0gICAgICAgY2FzZSBDQ19SVE86DQotICAgICAgICAgICAgICAgaWYgKENDVihjY3YsIHRf ZmxhZ3MpICYgVEZfRUNOX1BFUk1JVCkgew0KLSAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNj diwgdF9mbGFncykgfD0gVEZfRUNOX1NORF9DV1I7DQotICAgICAgICAgICAgICAgICAgICAgICBk Y3RjcF91cGRhdGVfYWxwaGEoY2N2KTsNCi0gICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX2Rh dGEtPnNhdmVfc25kbnh0ICs9IENDVihjY3YsIHRfbWF4c2VnKTsNCi0gICAgICAgICAgICAgICAg ICAgICAgIGRjdGNwX2RhdGEtPm51bV9jb25nX2V2ZW50cysrOw0KKyAgICAgICAgICAgICAgICAg ICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgIGJyZWFrOw0K LSAgICAgICB9DQorICAgICAgIH0gZWxzZQ0KKyAgICAgICAgICAgICAgIG5ld3Jlbm9fY2NfYWxn by5uZXdyZW5vX2Nvbmdfc2lnbmFsKGNjdiwgdHlwZSk7DQp9DQoNCnN0YXRpYyB2b2lkDQpAQCAt MzAzLDcgKzM1Niw3IEBAIGRjdGNwX2Nvbm5faW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YpDQpzdGF0 aWMgdm9pZA0KZGN0Y3BfcG9zdF9yZWNvdmVyeShzdHJ1Y3QgY2NfdmFyICpjY3YpDQp7DQotICAg ICAgIGRjdGNwX2NjX2FsZ28ucG9zdF9yZWNvdmVyeSA9IG5ld3Jlbm9fY2NfYWxnby5wb3N0X3Jl Y292ZXJ5Ow0KKyAgICAgICBuZXdyZW5vX2NjX2FsZ28ucG9zdF9yZWNvdmVyeShjY3YpOw0KDQog ICAgICAgIGlmIChDQ1YoY2N2LCB0X2ZsYWdzKSAmIFRGX0VDTl9QRVJNSVQpDQogICAgICAgICAg ICAgICAgZGN0Y3BfdXBkYXRlX2FscGhhKGNjdik7DQpAQCAtMzI4LDkgKzM4MSwxMiBAQCBkY3Rj cF9lY25wa3RfaGFuZGxlcihzdHJ1Y3QgY2NfdmFyICpjY3YpDQogICAgICAgIGNjZmxhZyA9IGNj di0+ZmxhZ3M7DQogICAgICAgIGRlbGF5X2FjayA9IDE7DQoNCiAgICAgICAgLyoNCi0gICAgICAg ICogRENUQ1AgcmVzcG9uc2VzIGFuIEFDSyBpbW1lZGlhdGVseSB3aGVuIHRoZSBDRSBzdGF0ZQ0K LSAgICAgICAgKiBpbiBiZXR3ZWVuIHRoaXMgc2VnbWVudCBhbmQgdGhlIGxhc3Qgc2VnbWVudCBp cyBub3Qgc2FtZS4NCisgICAgICAgICogRENUQ1AgcmVzcG9uZHMgd2l0aCBhbiBBQ0sgaW1tZWRp YXRlbHkgd2hlbiB0aGUgQ0Ugc3RhdGUNCisgICAgICAgICogaW4gYmV0d2VlbiB0aGlzIHNlZ21l bnQgYW5kIHRoZSBsYXN0IHNlZ21lbnQgaGFzIGNoYW5nZWQuDQogICAgICAgICAqLw0KICAgICAg ICBpZiAoY2NmbGFnICYgQ0NGX0lQSERSX0NFKSB7DQogICAgICAgICAgICAgICAgaWYgKCFkY3Rj cF9kYXRhLT5jZV9wcmV2ICYmIChjY2ZsYWcgJiBDQ0ZfREVMQUNLKSkNCkBAIC0zNTAsOCArNDA2 LDExIEBAIGRjdGNwX2VjbnBrdF9oYW5kbGVyKHN0cnVjdCBjY192YXIgKmNjdikNCg0KICAgICAg ICBpZiAoZGVsYXlfYWNrID09IDApDQogICAgICAgICAgICAgICAgY2N2LT5mbGFncyB8PSBDQ0Zf QUNLTk9XOw0KLSAgICAgICBlbHNlDQotICAgICAgICAgICAgICAgY2N2LT5mbGFncyAmPSB+Q0NG X0FDS05PVzsNCisvLyAgICAgZWxzZQ0KKy8vICAgICAgICAgICAgIGNjdi0+ZmxhZ3MgJj0gfkND Rl9BQ0tOT1c7IC8vWFhSTVM6IHNob3VsZG4ndCB3ZSBsZWF2ZSB0aGlzIGFsb25lIGhlcmU/DQp9 DQoNCi8qDQpAQCAtMzY2LDcgKzQyNSw4IEBAIGRjdGNwX3VwZGF0ZV9hbHBoYShzdHJ1Y3QgY2Nf dmFyICpjY3YpDQoNCiAgICAgICAgZGN0Y3BfZGF0YSA9IGNjdi0+Y2NfZGF0YTsNCiAgICAgICAg YWxwaGFfcHJldiA9IGRjdGNwX2RhdGEtPmFscGhhOw0KLSAgICAgICBkY3RjcF9kYXRhLT5ieXRl c190b3RhbCA9IG1heChkY3RjcF9kYXRhLT5ieXRlc190b3RhbCwgMSk7DQorICAgICAgIGlmIChk Y3RjcF9kYXRhLT5ieXRlc190b3RhbCA8IDEpDQorICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+ Ynl0ZXNfdG90YWwgPSAxOw0KDQogICAgICAgIC8qDQogICAgICAgICAqIFVwZGF0ZSBhbHBoYTog YWxwaGEgPSAoMSAtIGcpICogYWxwaGEgKyBnICogRi4NCkBAIC0zNzksOCArNDM5LDggQEAgZGN0 Y3BfdXBkYXRlX2FscGhhKHN0cnVjdCBjY192YXIgKmNjdikNCiAgICAgICAgICogICAgICB1cGRh dGVkIGV2ZXJ5IFJUVA0KICAgICAgICAgKiBBbHBoYSBtdXN0IGJlIHJvdW5kIHRvIDAgLSBNQVhf QUxQSEFfVkFMVUUuDQogICAgICAgICAqLw0KLSAgICAgICBkY3RjcF9kYXRhLT5hbHBoYSA9IG1p bihhbHBoYV9wcmV2IC0gKGFscGhhX3ByZXYgPj4gVl9kY3RjcF9zaGlmdF9nKSArDQotICAgICAg ICAgICAoZGN0Y3BfZGF0YS0+Ynl0ZXNfZWNuIDw8ICgxMCAtIFZfZGN0Y3Bfc2hpZnRfZykpIC8N CisgICAgICAgZGN0Y3BfZGF0YS0+YWxwaGEgPSB1bG1pbihhbHBoYV9wcmV2IC0gKGFscGhhX3By ZXYgPj4gVl9kY3RjcF9zaGlmdF9nKSArDQorICAgICAgICAgICAoKHVpbnQ2NF90KWRjdGNwX2Rh dGEtPmJ5dGVzX2VjbiA8PCAoRENUQ1BfU0hJRlQgLSBWX2RjdGNwX3NoaWZ0X2cpKSAvDQogICAg ICAgICAgICBkY3RjcF9kYXRhLT5ieXRlc190b3RhbCwgTUFYX0FMUEhBX1ZBTFVFKTsNCg0KICAg ICAgICAvKiBJbml0aWFsaXplIGludGVybmFsIHBhcmFtZXRlcnMgZm9yIG5leHQgYWxwaGEgY2Fs Y3VsYXRpb24gKi8NCkBAIC0zOTgsMTQgKzQ1OCwxMCBAQCBkY3RjcF9hbHBoYV9oYW5kbGVyKFNZ U0NUTF9IQU5ETEVSX0FSR1MpDQogICAgICAgIG5ldyA9IFZfZGN0Y3BfYWxwaGE7DQogICAgICAg IGVycm9yID0gc3lzY3RsX2hhbmRsZV9pbnQob2lkcCwgJm5ldywgMCwgcmVxKTsNCiAgICAgICAg aWYgKGVycm9yID09IDAgJiYgcmVxLT5uZXdwdHIgIT0gTlVMTCkgew0KLSAgICAgICAgICAgICAg IGlmIChuZXcgPiAxKQ0KKyAgICAgICAgICAgICAgIGlmIChuZXcgPiAxKSAvL1hYUk1TOiB0aGlz IG9ubHkgZWZmZWN0aXZlbHkgYWxsb3dzIGRjdGNwX2FscGhhIHRvIGJlIHNldCB0byAwIG9yIDE/ DQogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IEVJTlZBTDsNCi0gICAgICAgICAgICAg ICBlbHNlIHsNCi0gICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXcgPiBNQVhfQUxQSEFfVkFM VUUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZfZGN0Y3BfYWxwaGEgPSBNQVhf QUxQSEFfVkFMVUU7DQotICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFZfZGN0Y3BfYWxwaGEgPSBuZXc7DQotICAgICAgICAgICAgICAg fQ0KKyAgICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgICAgICAgIFZfZGN0Y3Bf YWxwaGEgPSBuZXc7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gKGVycm9yKTsNCkBAIC00 MjAsMTAgKzQ3NiwxNSBAQCBkY3RjcF9zaGlmdF9nX2hhbmRsZXIoU1lTQ1RMX0hBTkRMRVJfQVJH UykNCiAgICAgICAgbmV3ID0gVl9kY3RjcF9zaGlmdF9nOw0KICAgICAgICBlcnJvciA9IHN5c2N0 bF9oYW5kbGVfaW50KG9pZHAsICZuZXcsIDAsIHJlcSk7DQogICAgICAgIGlmIChlcnJvciA9PSAw ICYmIHJlcS0+bmV3cHRyICE9IE5VTEwpIHsNCi0gICAgICAgICAgICAgICBpZiAobmV3ID4gMSkN CisgICAgICAgICAgICAgICBpZiAobmV3IDwgMCkgLy9YWFJNUzogZGl0dG8NCiAgICAgICAgICAg ICAgICAgICAgICAgIGVycm9yID0gRUlOVkFMOw0KLSAgICAgICAgICAgICAgIGVsc2UNCi0gICAg ICAgICAgICAgICAgICAgICAgIFZfZGN0Y3Bfc2hpZnRfZyA9IG5ldzsNCisgICAgICAgICAgICAg ICBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXcgPiBEQ1RDUF9TSElGVCkg ew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWX2RjdGNwX3NoaWZ0X2cgPSBEQ1RD UF9TSElGVDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBFSU5WQUw7 DQorICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVl9kY3RjcF9zaGlmdF9nID0gbmV3Ow0KKyAgICAgICAgICAgICAgIH0NCiAgICAg ICAgfQ0KDQogICAgICAgIHJldHVybiAoZXJyb3IpOw0KQEAgLTQzOCw3ICs0OTksNyBAQCBkY3Rj cF9zbG93c3RhcnRfaGFuZGxlcihTWVNDVExfSEFORExFUl9BUkdTKQ0KICAgICAgICBuZXcgPSBW X2RjdGNwX3Nsb3dzdGFydDsNCiAgICAgICAgZXJyb3IgPSBzeXNjdGxfaGFuZGxlX2ludChvaWRw LCAmbmV3LCAwLCByZXEpOw0KICAgICAgICBpZiAoZXJyb3IgPT0gMCAmJiByZXEtPm5ld3B0ciAh PSBOVUxMKSB7DQotICAgICAgICAgICAgICAgaWYgKG5ldyA+IDEpDQorICAgICAgICAgICAgICAg aWYgKChuZXcgPiAxKSB8fCAobmV3IDwgMCkpDQogICAgICAgICAgICAgICAgICAgICAgICBlcnJv ciA9IEVJTlZBTDsNCiAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAg ICBWX2RjdGNwX3Nsb3dzdGFydCA9IG5ldzsNCkBAIC00NTQsNyArNTE1LDcgQEAgU1lTQ1RMX05P REUoX25ldF9pbmV0X3RjcF9jYywgT0lEX0FVVE8sIGRjdGNwLCBDVExGTEFHX1JXLCBOVUxMLA0K U1lTQ1RMX1BST0MoX25ldF9pbmV0X3RjcF9jY19kY3RjcCwgT0lEX0FVVE8sIGFscGhhLA0KICAg ICBDVExGTEFHX1ZORVR8Q1RMVFlQRV9VSU5UfENUTEZMQUdfUlcsICZWTkVUX05BTUUoZGN0Y3Bf YWxwaGEpLCAwLA0KICAgICAmZGN0Y3BfYWxwaGFfaGFuZGxlciwNCi0gICAgIklVIiwgImRjdGNw IGFscGhhIHBhcmFtZXRlciIpOw0KKyAgICAiSVUiLCAiZGN0Y3AgYWxwaGEgcGFyYW1ldGVyIGF0 IHN0YXJ0IG9mIHNlc3Npb24iKTsNCg0KU1lTQ1RMX1BST0MoX25ldF9pbmV0X3RjcF9jY19kY3Rj cCwgT0lEX0FVVE8sIHNoaWZ0X2csDQogICAgIENUTEZMQUdfVk5FVHxDVExUWVBFX1VJTlR8Q1RM RkxBR19SVywgJlZORVRfTkFNRShkY3RjcF9zaGlmdF9nKSwgNCwNCg0KDQpSaWNoYXJkIFNjaGVm ZmVuZWdnZXINCg0KDQpCZWdpbiBmb3J3YXJkZWQgbWVzc2FnZToNCg0KRnJvbTogWXUgSGUgdmlh IGZyZWVic2QtbmV0IDxmcmVlYnNkLW5ldEBmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1uZXRA ZnJlZWJzZC5vcmc+Pg0KU3ViamVjdDogU29tZSBxdWVzdGlvbiBhYm91dCBEQ1RDUCBpbXBsZW1l bnRhdGlvbiBpbiBGcmVlQlNEDQpEYXRlOiBKdW5lIDQsIDIwMTkgYXQgMTE6MDU6MzQgUERUDQpU bzogImZyZWVic2QtbmV0QGZyZWVic2Qub3JnPG1haWx0bzpmcmVlYnNkLW5ldEBmcmVlYnNkLm9y Zz4iIDxmcmVlYnNkLW5ldEBmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1uZXRAZnJlZWJzZC5v cmc+Pg0KQ2M6IEdvcGFrdW1hciBQaWxsYWkgPGdwaWxsYWlAdm13YXJlLmNvbTxtYWlsdG86Z3Bp bGxhaUB2bXdhcmUuY29tPj4NClJlcGx5LVRvOiBZdSBIZSA8eXVoZUB2bXdhcmUuY29tPG1haWx0 bzp5dWhlQHZtd2FyZS5jb20+Pg0KDQpHcmVldGluZ3MhDQoNCknigJltIGEgZ3JhZHVhdGUgc3R1 ZGVudCBmcm9tIENhcm5lZ2llIE1lbGxvbiBVbml2ZXJzaXR5LCBhbmQgY3VycmVudGx5IGFuIGlu dGVybiBpbiBWTXdhcmUuIEnigJltIG5vdyB3b3JraW5nIG9uIHNvbWUgaW50ZXJuYWwgcHJvamVj dCBhYm91dCBpbXBsZW1lbnRpbmcgRENUQ1AgYWxnb3JpdGhtIGFuZCBjb21pbmcgYWNyb3NzIHRo ZSBpbXBsZW1lbnRhdGlvbiBpbiBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvclMyNzcwNTQu IFRoZXJlIGlzIG9uZSB0aGluZyBJ4oCZbSBxdWl0ZSBjdXJpb3VzIGFib3V0Lg0KDQpJbiBsaW5l IDM4NyBvZiBmaWxlIGNjX3RjcC5jLCB0aGUgdXBkYXRlIG9mIGFscGhhIGlzIGNhbGN1bGF0ZWQg YnkgZm9sbG93aW5nIGNvZGU6DQoNCiAgICBkY3RjcF9kYXRhLT5hbHBoYSA9IG1pbihhbHBoYV9w cmV2IC0gKGFscGhhX3ByZXYgPj4gVl9kY3RjcF9zaGlmdF9nKSArDQogICAgICAgIChkY3RjcF9k YXRhLT5ieXRlc19lY24gPDwgKDEwIC0gVl9kY3RjcF9zaGlmdF9nKSkgLw0KICAgICAgICBkY3Rj cF9kYXRhLT5ieXRlc190b3RhbCwgTUFYX0FMUEhBX1ZBTFVFKTsNCg0KQXMgdGhlIHVwZGF0ZSBm b3JtdWxhIGZyb20gdGhlIG9yaWdpbmFsIHBhcGVyIGlzIGFscGhhID0gKDEgLSBnKSAqIGFscGhh ICsgZyAqIEYsIEnigJltIHdhbmRlcmluZyBhYm91dCB3aGF0IHRoZSBpbnRlbnRpb24gaXMgb2Yg dXNpbmcgbGVmdC1zaGlmdCB3aGVuIGNhbGN1bGF0aW5nIHRoZSBnICogRiBwYXJ0LCB3aGljaCBt aWdodCBzZWVtaW5nbHkgbXVsdGlwbHlpbmcgdGhlIHZhbHVlIHJhdGhlciB0aGFuIGRpdmlkaW5n IGl0IGFzIHN1Z2dlc3RlZCBieSB0aGUgcHJldmlvdXMgY29kZS4gTGV0IGFsb25lIHRoZSBvcGVy YW5kICgxMCAtICAgVl9kY3RjcF9zaGlmdF9nKSBtaWdodCBiZSBhIG5lZ2F0aXZlIHZhbHVlLCB3 aGljaCB3aWxsIGxlYWQgdG8gYW4gdW5kZWZpbmVkIGJlaGF2aW9yIGluIEMuDQoNCkJlY2F1c2Ug dGhpcyBpcyB0aGUgdmVyeSBjZW50cmFsIGZvcm11bGEgb2YgRENUQ1AgYWxnb3JpdGhtLCBJ4oCZ bSBmZWVsaW5nIGl0IG5lY2Vzc2FyeSB0byBoYXZlIGFuIGV4cGxhbmF0aW9uIGZyb20gdGhlIG9y aWdpbmFsIGF1dGhvcnMuDQoNCk9yIGlmIGluIGFub3RoZXIgd2F5IHRoaXMgaXMgYWN0dWFsbHkg YSBidWcsIEnigJltIHdpbGxpbmcgdG8gaW1wcm92ZSBpdC4NCg0KQmVzdCwNCg0KWXUgSGUNCklu dGVybi1Qcm9kdWN0IERldmVsb3BtZW50LU5TQlUsDQpWTXdhcmUNCg0KTWFzdGVyIG9mIFNjaWVu Y2UsIEluZm9ybWF0aW9uIE5ldHdvcmtpbmcsDQpDYXJuZWdpZSBNZWxsb24gVW5pdmVyc2l0eQ0K DQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCmZy ZWVic2QtbmV0QGZyZWVic2Qub3JnPG1haWx0bzpmcmVlYnNkLW5ldEBmcmVlYnNkLm9yZz4gbWFp bGluZyBsaXN0DQpodHRwczovL2xpc3RzLmZyZWVic2Qub3JnL21haWxtYW4vbGlzdGluZm8vZnJl ZWJzZC1uZXQNClRvIHVuc3Vic2NyaWJlLCBzZW5kIGFueSBtYWlsIHRvICJmcmVlYnNkLW5ldC11 bnN1YnNjcmliZUBmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1uZXQtdW5zdWJzY3JpYmVAZnJl ZWJzZC5vcmc+Ig0KDQo=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?SN4PR0601MB3728854E07F4A14F58EA923486170>