From: Olaf Hering Subject: [PATCH v9] new config option vtsc_tolerance_khz to avoid TSC emulation Date: Thu, 7 Jun 2018 15:08:29 +0200 Message-ID: <20180607130829.18811-1-olaf@aepfle.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Olaf Hering , Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Tim Deegan , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org QWRkIGFuIG9wdGlvbiB0byBjb250cm9sIHdoZW4gdlRTQyBlbXVsYXRpb24gd2lsbCBiZSBhY3Rp dmF0ZWQgZm9yIGEKZG9tVSB3aXRoIHRzY19tb2RlPWRlZmF1bHQuIFdpdGhvdXQgc3VjaCBvcHRp b24gZWFjaCBUU0MgYWNjZXNzIGZyb20KZG9tVSB3aWxsIGJlIGVtdWxhdGVkLCB3aGljaCBjYXVz ZXMgYSBzaWduaWZpY2FudCBwZXJmb21hbmNlIGRyb3AgZm9yCndvcmtsb2FkcyB0aGF0IG1ha2Ug dXNlIG9mIHJkdHNjLgoKT25lIG9wdGlvbiB0byBhdm9pZCB0aGUgVFNDIG9wdGlvbiBpcyB0byBy dW4gZG9tVXMgd2l0aCB0c2NfbW9kZT1uYXRpdmUuClRoaXMgaGFzIHRoZSBkcmF3YmFjayB0aGF0 IG1pZ3JhdGluZyBhIGRvbVUgZnJvbSBhICIyLjNHSHoiIGNsYXNzIGhvc3QKdG8gYSAiMi40R0h6 IiBjbGFzcyBob3N0IG1heSBjaGFuZ2UgdGhlIHJhdGUgYXQgd2ljaCB0aGUgVFNDIGNvdW50ZXIK aW5jcmVhc2VzLCB0aGUgZG9tVSBtYXkgbm90IGJlIHByZXBhcmVkIGZvciB0aGF0LgoKV2l0aCB0 aGUgbmV3IG9wdGlvbiB0aGUgaG9zdCBhZG1pbiBjYW4gZGVjaWRlIGhvdyBhIGRvbVUgc2hvdWxk IGJlaGF2ZQp3aGVuIGl0IGlzIG1pZ3JhdGVkIGFjcm9zcyBzeXN0ZW1zIG9mIHRoZSBzYW1lIGNs YXNzLiBTaW5jZSB0aGVyZSBpcwphbHdheXMgc29tZSBqaXR0ZXIgd2hlbiBYZW4gY2FsaWJyYXRl cyB0aGUgY3B1X2toeiB2YWx1ZSwgYWxsIGhvc3RzIG9mCnRoZSBzYW1lIGNsYXNzIHdpbGwgbW9z dCBsaWtlbHkgaGF2ZSBzbGlnaHRseSBkaWZmZXJlbnQgdmFsdWVzLiBBcyBhCnJlc3VsdCB2VFND IGVtdWxhdGlvbiBpcyB1bmF2b2lkYWJsZS4gRGF0YSBjb2xsZWN0ZWQgZHVyaW5nIHRoZSBpbmNp ZGVudAp3aGljaCB0cmlnZ2VyZWQgdGhpcyBjaGFuZ2Ugc2hvd2VkIGEgaml0dGVyIG9mIHVwIHRv IDIwMCBLSHogYWNyb3NzCnN5c3RlbXMgb2YgdGhlIHNhbWUgY2xhc3MuCgpFeGlzdGluZyBwYWRk aW5nIGZpZWxkcyBhcmUgcmV1c2VkIHRvIHN0b3JlIHZ0c2Nfa2h6X3RvbGVyYW5jZSBhcyB1MTYu ClRoZSBwYWRkaW5nIGlzIHNlbnQgYXMgemVybyBpbiB3cml0ZV90c2NfaW5mbyB0byB0aGUgcmVj ZXZpbmcgaG9zdC4KVGhlIHBhZGRpbmcgaXMgdW5kZWZpbmVkIGlmIHRoZSBjaGFuZ2VkIGNvZGUg cnVucyBhcyByZWNlaXZlci4KaGFuZGxlX3RzY19pbmZvIGhhcyBubyBjb2RlIHRvIHZlcmlmeSB0 aGF0IHBhZGRpbmcgaXMgaW5kZWVkIHplcm8uIER1ZQp0byB0aGUgbGFjayBvZiBhIHZlcnNpb24g ZmllbGQgaXQgaXMgaW1wb3NzaWJsZSB0byBrbm93IGlmIHRoZSBzZW5kZXIKYWxyZWFkeSBoYXMg dGhlIG5ld2x5IGludHJvZHVjZWQgdnRzY190b2xlcmFuY2UgZmllbGQuIEluIHRoZSB3b3JzdApj YXNlIHRoZSByZWNlaXZpbmcgZG9tVSB3aWxsIGdldCBhbiB1bmVtdWxhdGVkIFRTQy4KClNpZ25l ZC1vZmYtYnk6IE9sYWYgSGVyaW5nIDxvbGFmQGFlcGZsZS5kZT4KUmV2aWV3ZWQtYnk6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+ICh2MDcvdjA4KQpSZXZpZXdlZC1ieTogSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPiAodjA4KQotLQoKdjk6CiAtIGV4dGVuZCBjb21taXQgbXNn LCBtZW50aW9uIHBvdGVudGlhbCBpc3N1ZXMgd2l0aCB4Y19zcl9yZWNfdHNjX2luZm8uX3JlczEK djg6CiAtIGFkanVzdCBhbHNvIHB5dGhvbiBzdHJlYW0gY2hlY2tlciBmb3IgYWRkZWQgdG9sZXJh bmNlIG1lbWJlcgp2NzoKIC0gdXNlIHVpbnQxNiBpbiBsaWJ4bF90eXBlcy5pZGwgdG8gbWF0Y2gg dHlwZSB1c2VkIGVsc2V3aGVyZSBpbiB0aGUgcGF0Y2gKdjY6CiAtIG1lbnRpb24gZGVmYXVsdCB2 YWx1ZSBpbiB4bC5jZmcKIC0gdHNjX3NldF9pbmZvOiByZW1vdmUgdXNhZ2Ugb2YgX19mdW5jX18s IHVzZSAlZCBmb3IgZG9taWQKIC0gdHNjX3NldF9pbmZvOiB1c2UgQUJTIHRvIGNhbGN1bGF0ZSBr aHpfZGlmZgp2NToKIC0gcmVkdWNlIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgc2V0dGluZyBvZiB0 aGUgdG9sZXJhbmNlIHZhbHVlCiAgIG9ubHkgYXQgaW5pdGlhbCBkb21VIHN0YXJ0dXAKdjQ6CiAt IGFkZCBtaXNzaW5nIGNvcHliYWNrIGluIFhFTl9ET01DVExfc2V0X3Z0c2NfdG9sZXJhbmNlX2to egp2MzoKIC0gcmVuYW1lIHZ0c2Nfa2h6X3RvbGVyYW5jZSB0byB2dHNjX3RvbGVyYW5jZV9raHoK IC0gc2VwYXJhdGUgZG9tY3RscyB0byBhZGp1c3QgdmFsdWVzCiAtIG1vcmUgZG9jcwogLSB1cGRh dGUgbGlieGwuaAogLSB1cGRhdGUgcHl0aG9uIHRlc3RzCiAtIGZsYXNrIGNoZWNrIGJvdW5kIHRv IHRzYyBwZXJtaXNzaW9ucwogLSBub3QgcnVudGltZSB0ZXN0ZWQgZHVlIHRvIGRsc3ltKCkgYnVp bGQgZXJyb3JzIGluIHN0YWdpbmcKLS0tCiBkb2NzL21hbi94ZW4tdHNjbW9kZS5wb2QuNyAgICAg ICAgICAgICAgIHwgMTYgKysrKysrKysrKysrKwogZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluICAg ICAgICAgICAgICAgICB8IDEwICsrKysrKysrCiBkb2NzL3NwZWNzL2xpYnhjLW1pZ3JhdGlvbi1z dHJlYW0ucGFuZG9jIHwgIDYgKysrLS0KIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAg ICAgICAgICAgfCAgMiArKwogdG9vbHMvbGlieGMveGNfZG9tYWluLmMgICAgICAgICAgICAgICAg ICB8ICA0ICsrKysKIHRvb2xzL2xpYnhjL3hjX3NyX2NvbW1vbl94ODYuYyAgICAgICAgICAgfCAg NiArKystLQogdG9vbHMvbGlieGMveGNfc3Jfc3RyZWFtX2Zvcm1hdC5oICAgICAgICB8ICAzICsr LQogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKysrCiB0 b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgICAgICAgICAgIHwgIDEgKwogdG9vbHMvbGli eGwvbGlieGxfeDg2LmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQogdG9vbHMvcHl0aG9uL3hl bi9sb3dsZXZlbC94Yy94Yy5jICAgICAgICB8ICAyICstCiB0b29scy9weXRob24veGVuL21pZ3Jh dGlvbi9saWJ4Yy5weSAgICAgIHwgIDggKysrLS0tLQogdG9vbHMveGwveGxfcGFyc2UuYyAgICAg ICAgICAgICAgICAgICAgICB8ICAzICsrKwogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvZG9tY3RsLmMgICAgICAgICAgICAgICAg ICAgIHwgIDIgKysKIHhlbi9hcmNoL3g4Ni90aW1lLmMgICAgICAgICAgICAgICAgICAgICAgfCAz MCArKysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgg ICAgICAgICAgICAgfCAgMSArCiB4ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaCAgICAgICAgICAg ICAgIHwgIDYgKysrLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCAgICAgICAgICAgICAg fCAgMyArKy0KIDE5IGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RvY3MvbWFuL3hlbi10c2Ntb2RlLnBvZC43IGIvZG9jcy9tYW4v eGVuLXRzY21vZGUucG9kLjcKaW5kZXggM2JiYzk2ZjIwMS4uMTIyYWUzNjY3OSAxMDA2NDQKLS0t IGEvZG9jcy9tYW4veGVuLXRzY21vZGUucG9kLjcKKysrIGIvZG9jcy9tYW4veGVuLXRzY21vZGUu cG9kLjcKQEAgLTk5LDYgKzk5LDkgQEAgd2hldGhlciBvciBub3QgdGhlIFZNIGhhcyBiZWVuIHNh dmVkL3Jlc3RvcmVkL21pZ3JhdGVkCiAKID1iYWNrCiAKK0lmIHRoZSB0c2NfbW9kZSBpcyBzZXQg dG8gImRlZmF1bHQiIHRoZSBkZWNpc2lvbiB0byBlbXVsYXRlIFRTQyBjYW4gYmUKK3R3ZWFrZWQg ZnVydGhlciB3aXRoIHRoZSAidnRzY190b2xlcmFuY2Vfa2h6IiBvcHRpb24uCisKIFRvIHVuZGVy c3RhbmQgdGhpcyBpbiBtb3JlIGRldGFpbCwgdGhlIHJlc3Qgb2YgdGhpcyBkb2N1bWVudCBtdXN0 CiBiZSByZWFkLgogCkBAIC0yMTEsNiArMjE0LDE5IEBAIGlzIGVtdWxhdGVkLiAgTm90ZSB0aGF0 LCB0aG91Z2ggZW11bGF0ZWQsIHRoZSAiYXBwYXJlbnQiIFRTQyBmcmVxdWVuY3kKIHdpbGwgYmUg dGhlIFRTQyBmcmVxdWVuY3kgb2YgdGhlIGluaXRpYWwgcGh5c2ljYWwgbWFjaGluZSwgZXZlbiBh ZnRlcgogbWlncmF0aW9uLgogCitTaW5jZSB0aGUgY2FsaWJyYXRpb24gb2YgdGhlIFRTQyBmcmVx dWVuY3kgbWF5IG5vdCBiZSAxMDAlIGFjY3VyYXRlLCB0aGUKK2V4YWN0IHZhbHVlIG9mIHRoZSBm cmVxdWVuY3kgY2FuIGNoYW5nZSBldmVuIGFjcm9zcyByZWJvb3RzLiBUaGlzIG1lYW5zCithbHNv IHNldmVyYWwgb3RoZXJ3aXNlIGlkZW50aWNhbCBzeXN0ZW1zIGNhbiBoYXZlIGEgc2xpZ2h0bHkg ZGlmZmVyZW50CitUU0MgZnJlcXVlbmN5LiBBcyBhIHJlc3VsdCBUU0MgYWNjZXNzIHdpbGwgYmUg ZW11bGF0ZWQgaWYgYSBkb21VIGlzCittaWdyYXRlZCBmcm9tIG9uZSBob3N0IHRvIGFub3RoZXIs IGlkZW50aWNhbCBob3N0LiBUbyBhdm9pZCB0aGUKK3BlcmZvcm1hbmNlIGltcGFjdCBvZiBUU0Mg ZW11bGF0aW9uIGEgY2VydGFpbiB0b2xlcmFuY2Ugb2YgdGhlIG1lYXN1cmVkCitob3N0IFRTQyBm cmVxdWVuY3kgY2FuIGJlIHNwZWNpZmllZCB3aXRoICJ2dHNjX3RvbGVyYW5jZV9raHoiLiBJZiB0 aGUKK21lYXN1cmVkICJjcHVfa2h6IiB2YWx1ZSBpcyB3aXRoaW4gdGhlIHRvbGVyYW5jZSByYW5n ZSwgVFNDIGFjY2VzcworcmVtYWlucyBuYXRpdmUuIE90aGVyd2lzZSBpdCB3aWxsIGJlIGVtdWxh dGVkLiBUaGlzIGFsbG93cyB0byBtaWdyYXRlCitkb21VcyBiZXR3ZWVuIGlkZW50aWNhbCBoYXJk d2FyZS4gSWYgdGhlIGRvbVUgd2lsbCBiZSBtaWdyYXRlZCB0byBhCitkaWZmZXJlbnQga2luZCBv ZiBoYXJkd2FyZSwgc2F5IGZyb20gYSAiMi4zR0h6IiB0byBhICIyLjVHSHoiIHN5c3RlbSwKK1RT QyB3aWxsIGJlIGVtdWFsdGVkIHRvIG1haW50YWluIHRoZSBUU0MgZnJlcXVlbmN5IGV4cGVjdGVk IGJ5IHRoZSBkb21VLgorCiBGb3IgZW52aXJvbm1lbnRzIHdoZXJlIGJvdGggVFNDLXNhZmVuZXNz IEFORCBoaWdoZXN0IHBlcmZvcm1hbmNlCiBldmVuIGFjcm9zcyBtaWdyYXRpb24gaXMgYSByZXF1 aXJlbWVudCwgYXBwbGljYXRpb24gY29kZSBjYW4gYmUgc3BlY2lhbGx5CiBtb2RpZmllZCB0byB1 c2UgYW4gYWxnb3JpdGhtIGV4cGxpY2l0bHkgZGVzaWduZWQgaW50byBYZW4gZm9yIHRoaXMgcHVy cG9zZS4KZGlmZiAtLWdpdCBhL2RvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbiBiL2RvY3MvbWFuL3hs LmNmZy5wb2QuNS5pbgppbmRleCA0N2Q4ODI0M2IxLi45OTUyNzc3OTRmIDEwMDY0NAotLS0gYS9k b2NzL21hbi94bC5jZmcucG9kLjUuaW4KKysrIGIvZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluCkBA IC0xODk4LDYgKzE4OTgsMTYgQEAgZGV0ZXJtaW5lZCBpbiBhIHNpbWlsYXIgd2F5IHRvIHRoYXQg b2YgQjxkZWZhdWx0PiBUU0MgbW9kZS4KIAogUGxlYXNlIHNlZSBCPHhlbi10c2Ntb2RlKDcpPiBm b3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIG9wdGlvbi4KIAorPWl0ZW0gQjx2dHNjX3RvbGVy YW5jZV9raHo9IktIWiI+CisKK0I8KHg4NiBvbmx5LCByZWxldmFudCBvbmx5IGZvciB0c2NfbW9k ZT1kZWZhdWx0KT4KK1doZW4gYSBkb21VIGlzIHN0YXJ0ZWQsIHRoZSBDUFUgZnJlcXVlbmN5IG9m IHRoZSBob3N0IGlzIHVzZWQgYnkgdGhlIGRvbVUgZm9yCitUU0MgcmVsYXRlZCB0aW1lIG1lYXN1 cmVtZW50LiBPbmNlIHRoZSBkb21VIGlzIGVpdGhlciBtaWdyYXRlZCBvcgorc2F2ZWQvcmVzdG9y ZWQgb24gYW5vdGhlciBob3N0IHRoYXQgQ1BVIGZyZXF1ZW5jeSBoYXMgdG8gYmUgZW11bGF0ZWQg dG8gYXZvaWQKK3RpbWVkcmlmdC4gVG8gYXZvaWQgdGhlIHBlcmZvcm1hbmNlIHBlbmFsdHkgb2Yg dGhlIFRTQyBlbXVsYXRpb24sIGFsbG93IGEKK2NlcnRhaW4gYW1vdW50IG9mIGppdHRlciBvZiB0 aGUgbWVhc3VyZWQgQ1BVIGZyZXF1ZW5jeSBvbiB0aGUgaG9zdHMgdGhlIGRvbVUKK2lzIHN1cHBv c2VkIHRvIHJ1biBvbi4gRGVmYXVsdCB2YWx1ZSBpcyAwLCBpLmUuIG5vIHRvbGVyYW5jZS4KKwog PWl0ZW0gQjxsb2NhbHRpbWU9Qk9PTEVBTj4KIAogU2V0IHRoZSByZWFsIHRpbWUgY2xvY2sgdG8g bG9jYWwgdGltZSBvciB0byBVVEMuIEZhbHNlICgwKSBieSBkZWZhdWx0LApkaWZmIC0tZ2l0IGEv ZG9jcy9zcGVjcy9saWJ4Yy1taWdyYXRpb24tc3RyZWFtLnBhbmRvYyBiL2RvY3Mvc3BlY3MvbGli eGMtbWlncmF0aW9uLXN0cmVhbS5wYW5kb2MKaW5kZXggNzM0MjFmZjM5My4uMGQwZjE3ZWRiMSAx MDA2NDQKLS0tIGEvZG9jcy9zcGVjcy9saWJ4Yy1taWdyYXRpb24tc3RyZWFtLnBhbmRvYworKysg Yi9kb2NzL3NwZWNzL2xpYnhjLW1pZ3JhdGlvbi1zdHJlYW0ucGFuZG9jCkBAIC0zLDcgKzMsNyBA QAogICBBbmRyZXcgQ29vcGVyIDw8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4+CiAgIFdlbiBD b25neWFuZyA8PHdlbmN5QGNuLmZ1aml0c3UuY29tPj4KICAgWWFuZyBIb25neWFuZyA8PGhvbmd5 YW5nLnlhbmdAZWFzeXN0YWNrLmNuPj4KLSUgUmV2aXNpb24gMgorJSBSZXZpc2lvbiAzCiAKIElu dHJvZHVjdGlvbgogPT09PT09PT09PT09CkBAIC00NzIsNyArNDcyLDcgQEAgWEVOXF9ET01DVExc X3tnZXQsc2V0fXRzY2luZm8gaHlwZXJjYWxsIHN1Yi1vcHMuCiAgICAgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICAgfCBuc2VjICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi0gICAgfCBpbmNhcm5hdGlvbiAg ICAgICAgICAgIHwgKHJlc2VydmVkKSAgICAgICAgICAgICB8CisgICAgfCBpbmNhcm5hdGlvbiAg ICAgICAgICAgIHwgdG9sZXJhbmNlIHwgKHJlc2VydmVkKSB8CiAgICAgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAKIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC00 ODUsNiArNDg1LDggQEAga2h6ICAgICAgICAgICAgICBUU0MgZnJlcXVlbmN5LCBpbiBrSHouCiBu c2VjICAgICAgICAgICAgIEVsYXBzZWQgdGltZSwgaW4gbmFub3NlY29uZHMuCiAKIGluY2FybmF0 aW9uICAgICAgSW5jYXJuYXRpb24uCisKK3RvbGVyYW5jZSAgICAgICAgQW1vdW50IG9mIEppdHRl ciB0aGUgZG9tVSBjYW4gaGFuZGxlIGFmdGVyIG1pZ3JhdGlvbgogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogXGNs ZWFycGFnZQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29s cy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAppbmRleCA0MDhmYTFjNmE0Li5lNzRjNDgwYWUyIDEw MDY0NAotLS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4 Yy9pbmNsdWRlL3hlbmN0cmwuaApAQCAtMTM2MCw2ICsxMzYwLDcgQEAgaW50IHhjX2RvbWFpbl9z ZXRfdHNjX2luZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCB0c2NfbW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90 IGVsYXBzZWRfbnNlYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGd0c2Nf a2h6LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgdnRzY190b2xlcmFuY2Vf a2h6LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5jYXJuYXRpb24pOwog CiBpbnQgeGNfZG9tYWluX2dldF90c2NfaW5mbyh4Y19pbnRlcmZhY2UgKnhjaCwKQEAgLTEzNjcs NiArMTM2OCw3IEBAIGludCB4Y19kb21haW5fZ2V0X3RzY19pbmZvKHhjX2ludGVyZmFjZSAqeGNo LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnRzY19tb2RlLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmVsYXBzZWRfbnNlYywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90ICpndHNjX2toeiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQxNl90ICp2dHNjX3RvbGVyYW5jZV9raHosCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCAqaW5jYXJuYXRpb24pOwogCiBpbnQgeGNfZG9tYWluX2Rpc2FibGVf bWlncmF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQpOwpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGMveGNfZG9tYWluLmMgYi90b29scy9saWJ4Yy94Y19kb21haW4uYwppbmRleCA1 N2UxOGVlMjI3Li5lYzExMTk4OWVlIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19kb21haW4u YworKysgYi90b29scy9saWJ4Yy94Y19kb21haW4uYwpAQCAtODUyLDYgKzg1Miw3IEBAIGludCB4 Y19kb21haW5fc2V0X3RzY19pbmZvKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgdHNjX21vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBlbGFwc2VkX25zZWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBndHNjX2toeiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHZ0c2Nf dG9sZXJhbmNlX2toeiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluY2Fy bmF0aW9uKQogewogICAgIERFQ0xBUkVfRE9NQ1RMOwpAQCAtODYwLDYgKzg2MSw3IEBAIGludCB4 Y19kb21haW5fc2V0X3RzY19pbmZvKHhjX2ludGVyZmFjZSAqeGNoLAogICAgIGRvbWN0bC51LnRz Y19pbmZvLnRzY19tb2RlID0gdHNjX21vZGU7CiAgICAgZG9tY3RsLnUudHNjX2luZm8uZWxhcHNl ZF9uc2VjID0gZWxhcHNlZF9uc2VjOwogICAgIGRvbWN0bC51LnRzY19pbmZvLmd0c2Nfa2h6ID0g Z3RzY19raHo7CisgICAgZG9tY3RsLnUudHNjX2luZm8udnRzY190b2xlcmFuY2Vfa2h6ID0gdnRz Y190b2xlcmFuY2Vfa2h6OwogICAgIGRvbWN0bC51LnRzY19pbmZvLmluY2FybmF0aW9uID0gaW5j YXJuYXRpb247CiAgICAgcmV0dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwogfQpAQCAtODY5 LDYgKzg3MSw3IEBAIGludCB4Y19kb21haW5fZ2V0X3RzY19pbmZvKHhjX2ludGVyZmFjZSAqeGNo LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnRzY19tb2RlLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmVsYXBzZWRfbnNlYywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90ICpndHNjX2toeiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQxNl90ICp2dHNjX3RvbGVyYW5jZV9raHosCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCAqaW5jYXJuYXRpb24pCiB7CiAgICAgaW50IHJjOwpAQCAtODgyLDYg Kzg4NSw3IEBAIGludCB4Y19kb21haW5fZ2V0X3RzY19pbmZvKHhjX2ludGVyZmFjZSAqeGNoLAog ICAgICAgICAqdHNjX21vZGUgPSBkb21jdGwudS50c2NfaW5mby50c2NfbW9kZTsKICAgICAgICAg KmVsYXBzZWRfbnNlYyA9IGRvbWN0bC51LnRzY19pbmZvLmVsYXBzZWRfbnNlYzsKICAgICAgICAg Kmd0c2Nfa2h6ID0gZG9tY3RsLnUudHNjX2luZm8uZ3RzY19raHo7CisgICAgICAgICp2dHNjX3Rv bGVyYW5jZV9raHogPSBkb21jdGwudS50c2NfaW5mby52dHNjX3RvbGVyYW5jZV9raHo7CiAgICAg ICAgICppbmNhcm5hdGlvbiA9IGRvbWN0bC51LnRzY19pbmZvLmluY2FybmF0aW9uOwogICAgIH0K ICAgICByZXR1cm4gcmM7CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19zcl9jb21tb25feDg2 LmMgYi90b29scy9saWJ4Yy94Y19zcl9jb21tb25feDg2LmMKaW5kZXggOThmMWNlZjMwZi4uZWEz ZTU1MWE4MyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfc3JfY29tbW9uX3g4Ni5jCisrKyBi L3Rvb2xzL2xpYnhjL3hjX3NyX2NvbW1vbl94ODYuYwpAQCAtMTIsNyArMTIsOCBAQCBpbnQgd3Jp dGVfdHNjX2luZm8oc3RydWN0IHhjX3NyX2NvbnRleHQgKmN0eCkKICAgICB9OwogCiAgICAgaWYg KCB4Y19kb21haW5fZ2V0X3RzY19pbmZvKHhjaCwgY3R4LT5kb21pZCwgJnRzYy5tb2RlLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdHNjLm5zZWMsICZ0c2Mua2h6LCAmdHNjLmlu Y2FybmF0aW9uKSA8IDAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdHNjLm5z ZWMsICZ0c2Mua2h6LCAmdHNjLnZ0c2NfdG9sZXJhbmNlLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmdHNjLmluY2FybmF0aW9uKSA8IDAgKQogICAgIHsKICAgICAgICAgUEVSUk9S KCJVbmFibGUgdG8gb2J0YWluIFRTQyBpbmZvcm1hdGlvbiIpOwogICAgICAgICByZXR1cm4gLTE7 CkBAIC0zNCw3ICszNSw4IEBAIGludCBoYW5kbGVfdHNjX2luZm8oc3RydWN0IHhjX3NyX2NvbnRl eHQgKmN0eCwgc3RydWN0IHhjX3NyX3JlY29yZCAqcmVjKQogICAgIH0KIAogICAgIGlmICggeGNf ZG9tYWluX3NldF90c2NfaW5mbyh4Y2gsIGN0eC0+ZG9taWQsIHRzYy0+bW9kZSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdHNjLT5uc2VjLCB0c2MtPmtoeiwgdHNjLT5pbmNhcm5h dGlvbikgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0c2MtPm5zZWMsIHRzYy0+ a2h6LCB0c2MtPnZ0c2NfdG9sZXJhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0c2MtPmluY2FybmF0aW9uKSApCiAgICAgewogICAgICAgICBQRVJST1IoIlVuYWJsZSB0byBz ZXQgVFNDIGluZm9ybWF0aW9uIik7CiAgICAgICAgIHJldHVybiAtMTsKZGlmZiAtLWdpdCBhL3Rv b2xzL2xpYnhjL3hjX3NyX3N0cmVhbV9mb3JtYXQuaCBiL3Rvb2xzL2xpYnhjL3hjX3NyX3N0cmVh bV9mb3JtYXQuaAppbmRleCAxNWZmMWM3ZWZiLi45YjUyZjZhY2U2IDEwMDY0NAotLS0gYS90b29s cy9saWJ4Yy94Y19zcl9zdHJlYW1fZm9ybWF0LmgKKysrIGIvdG9vbHMvbGlieGMveGNfc3Jfc3Ry ZWFtX2Zvcm1hdC5oCkBAIC0xMjEsNyArMTIxLDggQEAgc3RydWN0IHhjX3NyX3JlY190c2NfaW5m bwogICAgIHVpbnQzMl90IGtoejsKICAgICB1aW50NjRfdCBuc2VjOwogICAgIHVpbnQzMl90IGlu Y2FybmF0aW9uOwotICAgIHVpbnQzMl90IF9yZXMxOworICAgIHVpbnQxNl90IHZ0c2NfdG9sZXJh bmNlOworICAgIHVpbnQxNl90IF9yZXMxOwogfTsKIAogLyogSFZNX1BBUkFNUyAqLwpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgKaW5kZXggYTA5 ZDA2OTM1OC4uMjI0N2YwNDY0OCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuaAorKysg Yi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0zNTQsNiArMzU0LDEyIEBACiAjZGVmaW5lIExJQlhM X0hBVkVfQlVJTERJTkZPX0JPT1RMT0FERVIgMQogI2RlZmluZSBMSUJYTF9IQVZFX0JVSUxESU5G T19CT09UTE9BREVSX0FSR1MgMQogCisvKgorICogTElCWExfSEFWRV9WVFNDX1RPTEVSQU5DRV9L SFogaW5kaWNhdGVzIHRoYXQgbGlieGxfZG9tYWluX2J1aWxkX2luZm8KKyAqIGhhcyB0aGUgdnRz Y190b2xlcmFuY2Vfa2h6IGZpZWxkLgorICovCisjZGVmaW5lIExJQlhMX0hBVkVfVlRTQ19UT0xF UkFOQ0VfS0haIDEKKwogLyoKICAqIGxpYnhsIEFCSSBjb21wYXRpYmlsaXR5CiAgKgpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxfdHlw ZXMuaWRsCmluZGV4IDAxZWMxZDFhZmEuLmJiOTk3NzY0MDEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsX3R5cGVzLmlkbAorKysgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKQEAg LTQ2Niw2ICs0NjYsNyBAQCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyA9IFN0cnVjdCgiZG9tYWlu X2J1aWxkX2luZm8iLFsKICAgICAoInZjcHVfc29mdF9hZmZpbml0eSIsIEFycmF5KGxpYnhsX2Jp dG1hcCwgIm51bV92Y3B1X3NvZnRfYWZmaW5pdHkiKSksCiAgICAgKCJudW1hX3BsYWNlbWVudCIs ICBsaWJ4bF9kZWZib29sKSwKICAgICAoInRzY19tb2RlIiwgICAgICAgIGxpYnhsX3RzY19tb2Rl KSwKKyAgICAoInZ0c2NfdG9sZXJhbmNlX2toeiIsIHVpbnQxNiksCiAgICAgKCJtYXhfbWVta2Ii LCAgICAgICBNZW1LQiksCiAgICAgKCJ0YXJnZXRfbWVta2IiLCAgICBNZW1LQiksCiAgICAgKCJ2 aWRlb19tZW1rYiIsICAgICBNZW1LQiksCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF94 ODYuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCmluZGV4IGFiODg1NjI2MTkuLmQ5NzQ3Y2M0 NWEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsX3g4Ni5jCkBAIC0zMTQsNyArMzE0LDggQEAgaW50IGxpYnhsX19hcmNoX2RvbWFpbl9j cmVhdGUobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcsCiAgICAg ZGVmYXVsdDoKICAgICAgICAgYWJvcnQoKTsKICAgICB9Ci0gICAgeGNfZG9tYWluX3NldF90c2Nf aW5mbyhjdHgtPnhjaCwgZG9taWQsIHRzY19tb2RlLCAwLCAwLCAwKTsKKyAgICB4Y19kb21haW5f c2V0X3RzY19pbmZvKGN0eC0+eGNoLCBkb21pZCwgdHNjX21vZGUsIDAsIDAsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICBkX2NvbmZpZy0+Yl9pbmZvLnZ0c2NfdG9sZXJhbmNlX2toeiwgMCk7 CiAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFsKGRfY29uZmlnLT5iX2luZm8uZGlzYWJsZV9taWdy YXRlKSkKICAgICAgICAgeGNfZG9tYWluX2Rpc2FibGVfbWlncmF0ZShjdHgtPnhjaCwgZG9taWQp OwogICAgIHJ0Y190aW1lb2Zmc2V0ID0gZF9jb25maWctPmJfaW5mby5ydGNfdGltZW9mZnNldDsK ZGlmZiAtLWdpdCBhL3Rvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYyBiL3Rvb2xzL3B5 dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYwppbmRleCA2OTRiZmEwNjQyLi5kNzgxNTg5ODg2IDEw MDY0NAotLS0gYS90b29scy9weXRob24veGVuL2xvd2xldmVsL3hjL3hjLmMKKysrIGIvdG9vbHMv cHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jCkBAIC0xNTIyLDcgKzE1MjIsNyBAQCBzdGF0aWMg UHlPYmplY3QgKnB5eGNfZG9tYWluX3NldF90c2NfaW5mbyhYY09iamVjdCAqc2VsZiwgUHlPYmpl Y3QgKmFyZ3MpCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaSIsICZkb20sICZ0 c2NfbW9kZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKHhjX2RvbWFpbl9zZXRf dHNjX2luZm8oc2VsZi0+eGNfaGFuZGxlLCBkb20sIHRzY19tb2RlLCAwLCAwLCAwKSAhPSAwKQor ICAgIGlmICh4Y19kb21haW5fc2V0X3RzY19pbmZvKHNlbGYtPnhjX2hhbmRsZSwgZG9tLCB0c2Nf bW9kZSwgMCwgMCwgMCwgMCkgIT0gMCkKICAgICAgICAgcmV0dXJuIHB5eGNfZXJyb3JfdG9fZXhj ZXB0aW9uKHNlbGYtPnhjX2hhbmRsZSk7CiAKICAgICBQeV9JTkNSRUYoemVybyk7CmRpZmYgLS1n aXQgYS90b29scy9weXRob24veGVuL21pZ3JhdGlvbi9saWJ4Yy5weSBiL3Rvb2xzL3B5dGhvbi94 ZW4vbWlncmF0aW9uL2xpYnhjLnB5CmluZGV4IGYyNDQ0OGE5ZWYuLmFiY2RhNjE3ZTQgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL3B5dGhvbi94ZW4vbWlncmF0aW9uL2xpYnhjLnB5CisrKyBiL3Rvb2xzL3B5 dGhvbi94ZW4vbWlncmF0aW9uL2xpYnhjLnB5CkBAIC0xMTQsNyArMTE0LDcgQEAgWDg2X1BWX1Ay TV9GUkFNRVNfRk9STUFUICA9ICJJSSIKIFg4Nl9QVl9WQ1BVX0hEUl9GT1JNQVQgICAgPSAiSUki CiAKICMgdHNjX2luZm8KLVRTQ19JTkZPX0ZPUk1BVCAgICAgICAgICAgPSAiSUlRSUkiCitUU0Nf SU5GT19GT1JNQVQgICAgICAgICAgID0gIklJUUlISCIKIAogIyBodm1fcGFyYW1zCiBIVk1fUEFS QU1TX0VOVFJZX0ZPUk1BVCAgID0gIlFRIgpAQCAtMzYzLDE0ICszNjMsMTQgQEAgY2xhc3MgVmVy aWZ5TGlieGMoVmVyaWZ5QmFzZSk6CiAgICAgICAgIGlmIGxlbihjb250ZW50KSAhPSBzejoKICAg ICAgICAgICAgIHJhaXNlIFJlY29yZEVycm9yKCJMZW5ndGggc2hvdWxkIGJlICV1IGJ5dGVzIiAl IChzeiwgKSkKIAotICAgICAgICBtb2RlLCBraHosIG5zZWMsIGluY2FybiwgcmVzMSA9IHVucGFj ayhUU0NfSU5GT19GT1JNQVQsIGNvbnRlbnQpCisgICAgICAgIG1vZGUsIGtoeiwgbnNlYywgaW5j YXJuLCB0b2xlcmFuY2UsIHJlczEgPSB1bnBhY2soVFNDX0lORk9fRk9STUFULCBjb250ZW50KQog CiAgICAgICAgIGlmIHJlczEgIT0gMDoKICAgICAgICAgICAgIHJhaXNlIFN0cmVhbUVycm9yKCJS ZXNlcnZlZCBiaXRzIHNldCBpbiBUU0NfSU5GTzogMHglMDh4IgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJSAocmVzMSwgKSkKIAotICAgICAgICBzZWxmLmluZm8oIiAgTW9kZSAldSwg JXUga0h6LCAldSBucywgaW5jYXJuYXRpb24gJWQiCi0gICAgICAgICAgICAgICAgICAlIChtb2Rl LCBraHosIG5zZWMsIGluY2FybikpCisgICAgICAgIHNlbGYuaW5mbygiICBNb2RlICV1LCAldSBr SHosICV1IG5zLCBpbmNhcm5hdGlvbiAlZCwgdG9sZXJhbmNlICV1IGtIeiIKKyAgICAgICAgICAg ICAgICAgICUgKG1vZGUsIGtoeiwgbnNlYywgaW5jYXJuLCB0b2xlcmFuY2UpKQogCiAKICAgICBk ZWYgdmVyaWZ5X3JlY29yZF9odm1fY29udGV4dChzZWxmLCBjb250ZW50KToKZGlmZiAtLWdpdCBh L3Rvb2xzL3hsL3hsX3BhcnNlLmMgYi90b29scy94bC94bF9wYXJzZS5jCmluZGV4IGU2YzU0NDgz ZTAuLjE5MTU2NDBkNjQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX3BhcnNlLmMKKysrIGIvdG9v bHMveGwveGxfcGFyc2UuYwpAQCAtMTEyNiw2ICsxMTI2LDkgQEAgdm9pZCBwYXJzZV9jb25maWdf ZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAgICAgICB9CiAgICAgfQogCisgICAg aWYgKCF4bHVfY2ZnX2dldF9sb25nKGNvbmZpZywgInZ0c2NfdG9sZXJhbmNlX2toeiIsICZsLCAw KSkKKyAgICAgICAgYl9pbmZvLT52dHNjX3RvbGVyYW5jZV9raHogPSBsIDwgMCB8fCBsID4gVUlO VDE2X01BWCA/IFVJTlQxNl9NQVggOiBsOworCiAgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nKGNv bmZpZywgInJ0Y190aW1lb2Zmc2V0IiwgJmwsIDApKQogICAgICAgICBiX2luZm8tPnJ0Y190aW1l b2Zmc2V0ID0gbDsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2Fy Y2gveDg2L2RvbWFpbi5jCmluZGV4IDBjYTgyMGEwMGEuLjNhZTEzYjhmNzggMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKQEAgLTU1 Nyw3ICs1NTcsNyBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsCiAg ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOyAvKiBOb3QgSFZNIGFuZCBub3QgUFY/ICovCiAK ICAgICAvKiBpbml0aWFsaXplIGRlZmF1bHQgdHNjIGJlaGF2aW9yIGluIGNhc2UgdG9vbHMgZG9u J3QgKi8KLSAgICB0c2Nfc2V0X2luZm8oZCwgVFNDX01PREVfREVGQVVMVCwgMFVMLCAwLCAwKTsK KyAgICB0c2Nfc2V0X2luZm8oZCwgVFNDX01PREVfREVGQVVMVCwgMFVMLCAwLCAwLCAwKTsKIAog ICAgIC8qIFBWL1BWSCBndWVzdHMgZ2V0IGFuIGVtdWxhdGVkIFBJVCB0b28gZm9yIHZpZGVvIEJJ T1NlcyB0byB1c2UuICovCiAgICAgcGl0X2luaXQoZCwgY3B1X2toeik7CmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvZG9tY3RsLmMgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKaW5kZXggOGZiYmYz YWViMy4uZDg2ZmY1ODQ4MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCisrKyBi L3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpAQCAtOTM5LDYgKzkzOSw3IEBAIGxvbmcgYXJjaF9kb19k b21jdGwoCiAgICAgICAgICAgICB0c2NfZ2V0X2luZm8oZCwgJmRvbWN0bC0+dS50c2NfaW5mby50 c2NfbW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LnRzY19pbmZvLmVs YXBzZWRfbnNlYywKICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LnRzY19pbmZv Lmd0c2Nfa2h6LAorICAgICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUudHNjX2luZm8u dnRzY190b2xlcmFuY2Vfa2h6LAogICAgICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUu dHNjX2luZm8uaW5jYXJuYXRpb24pOwogICAgICAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAg ICAgICAgICAgICBjb3B5YmFjayA9IHRydWU7CkBAIC05NTQsNiArOTU1LDcgQEAgbG9uZyBhcmNo X2RvX2RvbWN0bCgKICAgICAgICAgICAgIHRzY19zZXRfaW5mbyhkLCBkb21jdGwtPnUudHNjX2lu Zm8udHNjX21vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tY3RsLT51LnRzY19pbmZv LmVsYXBzZWRfbnNlYywKICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUudHNjX2lu Zm8uZ3RzY19raHosCisgICAgICAgICAgICAgICAgICAgICAgICAgZG9tY3RsLT51LnRzY19pbmZv LnZ0c2NfdG9sZXJhbmNlX2toeiwKICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUu dHNjX2luZm8uaW5jYXJuYXRpb24pOwogICAgICAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAg ICAgICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90aW1lLmMgYi94ZW4vYXJjaC94ODYv dGltZS5jCmluZGV4IGMzNDJkMDA3MzIuLjRhOWM0M2I3MTggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni90aW1lLmMKKysrIGIveGVuL2FyY2gveDg2L3RpbWUuYwpAQCAtMjA2Myw3ICsyMDYzLDcg QEAgaW50IGhvc3RfdHNjX2lzX3NhZmUodm9pZCkKICAqLwogdm9pZCB0c2NfZ2V0X2luZm8oc3Ry dWN0IGRvbWFpbiAqZCwgdWludDMyX3QgKnRzY19tb2RlLAogICAgICAgICAgICAgICAgICAgdWlu dDY0X3QgKmVsYXBzZWRfbnNlYywgdWludDMyX3QgKmd0c2Nfa2h6LAotICAgICAgICAgICAgICAg ICAgdWludDMyX3QgKmluY2FybmF0aW9uKQorICAgICAgICAgICAgICAgICAgdWludDE2X3QgKnZ0 c2NfdG9sZXJhbmNlX2toeiwgdWludDMyX3QgKmluY2FybmF0aW9uKQogewogICAgIGJvb2wgZW5h YmxlX3RzY19zY2FsaW5nID0gaXNfaHZtX2RvbWFpbihkKSAmJgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCAmJiAhZC0+YXJjaC52dHNjOwpA QCAtMjA3OSw2ICsyMDc5LDcgQEAgdm9pZCB0c2NfZ2V0X2luZm8oc3RydWN0IGRvbWFpbiAqZCwg dWludDMyX3QgKnRzY19tb2RlLAogICAgICAgICAqZWxhcHNlZF9uc2VjID0gKmd0c2Nfa2h6ID0g MDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBUU0NfTU9ERV9ERUZBVUxUOgorICAgICAgICAq dnRzY190b2xlcmFuY2Vfa2h6ID0gZC0+YXJjaC52dHNjX3RvbGVyYW5jZV9raHo7CiAgICAgICAg IGlmICggZC0+YXJjaC52dHNjICkKICAgICAgICAgewogICAgIGNhc2UgVFNDX01PREVfQUxXQVlT X0VNVUxBVEU6CkBAIC0yMTIxLDcgKzIxMjIsOCBAQCB2b2lkIHRzY19nZXRfaW5mbyhzdHJ1Y3Qg ZG9tYWluICpkLCB1aW50MzJfdCAqdHNjX21vZGUsCiAgKi8KIHZvaWQgdHNjX3NldF9pbmZvKHN0 cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0c2NfbW9kZSwgdWlu dDY0X3QgZWxhcHNlZF9uc2VjLAotICAgICAgICAgICAgICAgICAgdWludDMyX3QgZ3RzY19raHos IHVpbnQzMl90IGluY2FybmF0aW9uKQorICAgICAgICAgICAgICAgICAgdWludDMyX3QgZ3RzY19r aHosIHVpbnQxNl90IHZ0c2NfdG9sZXJhbmNlX2toeiwKKyAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IGluY2FybmF0aW9uKQogewogICAgIEFTU0VSVCghaXNfc3lzdGVtX2RvbWFpbihkKSk7CiAK QEAgLTIxMzMsOSArMjEzNSwxMiBAQCB2b2lkIHRzY19zZXRfaW5mbyhzdHJ1Y3QgZG9tYWluICpk LAogCiAgICAgc3dpdGNoICggZC0+YXJjaC50c2NfbW9kZSA9IHRzY19tb2RlICkKICAgICB7Cisg ICAgICAgIGJvb2wgZGlzYWJsZV92dHNjOwogICAgICAgICBib29sIGVuYWJsZV90c2Nfc2NhbGlu ZzsKIAogICAgIGNhc2UgVFNDX01PREVfREVGQVVMVDoKKyAgICAgICAgZC0+YXJjaC52dHNjX3Rv bGVyYW5jZV9raHogPSB2dHNjX3RvbGVyYW5jZV9raHo7CisgICAgICAgIC8qIEZhbGx0aHJvdWdo LiAqLwogICAgIGNhc2UgVFNDX01PREVfQUxXQVlTX0VNVUxBVEU6CiAgICAgICAgIGQtPmFyY2gu dnRzY19vZmZzZXQgPSBnZXRfc190aW1lKCkgLSBlbGFwc2VkX25zZWM7CiAgICAgICAgIGQtPmFy Y2gudHNjX2toeiA9IGd0c2Nfa2h6ID86IGNwdV9raHo7CkBAIC0yMTQ4LDggKzIxNTMsMjUgQEAg dm9pZCB0c2Nfc2V0X2luZm8oc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICogV2hlbiBhIGd1 ZXN0IGlzIGNyZWF0ZWQsIGd0c2Nfa2h6IGlzIHBhc3NlZCBpbiBhcyB6ZXJvLCBtYWtpbmcKICAg ICAgICAgICogZC0+YXJjaC50c2Nfa2h6ID09IGNwdV9raHouIFRodXMgbm8gbmVlZCB0byBjaGVj ayBpbmNhcm5hdGlvbi4KICAgICAgICAgICovCisgICAgICAgIGRpc2FibGVfdnRzYyA9IGQtPmFy Y2gudHNjX2toeiA9PSBjcHVfa2h6OworCisgICAgICAgIGlmICggdHNjX21vZGUgPT0gVFNDX01P REVfREVGQVVMVCAmJiBndHNjX2toeiAmJgorICAgICAgICAgICAgIGQtPmFyY2gudnRzY190b2xl cmFuY2Vfa2h6ICkKKyAgICAgICAgeworICAgICAgICAgICAgbG9uZyBraHpfZGlmZjsKKworICAg ICAgICAgICAga2h6X2RpZmYgPSBBQlMoKGxvbmcpKGNwdV9raHogLSBndHNjX2toeikpOworICAg ICAgICAgICAgZGlzYWJsZV92dHNjID0ga2h6X2RpZmYgPD0gZC0+YXJjaC52dHNjX3RvbGVyYW5j ZV9raHo7CisKKyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfR19JTkZPICJkJWQ6IGhvc3QgaGFz ICVsdSBrSHosIgorICAgICAgICAgICAgICAgICAgICIgZG9tVSBleHBlY3RzICV1IGtIeiwiCisg ICAgICAgICAgICAgICAgICAgIiBkaWZmZXJlbmNlIG9mICVsZCBpcyAlcyB0b2xlcmFuY2Ugb2Yg JXVcbiIsCisgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBjcHVfa2h6LCBndHNjX2to eiwga2h6X2RpZmYsCisgICAgICAgICAgICAgICAgICAgZGlzYWJsZV92dHNjID8gIndpdGhpbiIg OiAib3V0c2lkZSIsCisgICAgICAgICAgICAgICAgICAgZC0+YXJjaC52dHNjX3RvbGVyYW5jZV9r aHopOworICAgICAgICB9CiAgICAgICAgIGlmICggdHNjX21vZGUgPT0gVFNDX01PREVfREVGQVVM VCAmJiBob3N0X3RzY19pc19zYWZlKCkgJiYKLSAgICAgICAgICAgICAoZC0+YXJjaC50c2Nfa2h6 ID09IGNwdV9raHogfHwKKyAgICAgICAgICAgICAoZGlzYWJsZV92dHNjIHx8CiAgICAgICAgICAg ICAgIChpc19odm1fZG9tYWluKGQpICYmCiAgICAgICAgICAgICAgICBodm1fZ2V0X3RzY19zY2Fs aW5nX3JhdGlvKGQtPmFyY2gudHNjX2toeikpKSApCiAgICAgICAgIHsKQEAgLTIyMzgsNiArMjI2 MCw4IEBAIHN0YXRpYyB2b2lkIGR1bXBfc29mdHRzYyh1bnNpZ25lZCBjaGFyIGtleSkKICAgICAg ICAgICAgIHByaW50aygiLG9mcz0lIyJQUkl4NjQsIGQtPmFyY2gudnRzY19vZmZzZXQpOwogICAg ICAgICBpZiAoIGQtPmFyY2gudHNjX2toeiApCiAgICAgICAgICAgICBwcmludGsoIixraHo9JSJQ Ukl1MzIsIGQtPmFyY2gudHNjX2toeik7CisgICAgICAgIGlmICggZC0+YXJjaC52dHNjX3RvbGVy YW5jZV9raHogKQorICAgICAgICAgICAgcHJpbnRrKCIsdG9sPSUiUFJJdTE2LCBkLT5hcmNoLnZ0 c2NfdG9sZXJhbmNlX2toeik7CiAgICAgICAgIGlmICggZC0+YXJjaC5pbmNhcm5hdGlvbiApCiAg ICAgICAgICAgICBwcmludGsoIixpbmM9JSJQUkl1MzIsIGQtPmFyY2guaW5jYXJuYXRpb24pOwog I2lmICFkZWZpbmVkKE5ERUJVRykgfHwgZGVmaW5lZChDT05GSUdfUEVSRl9DT1VOVEVSUykKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20t eDg2L2RvbWFpbi5oCmluZGV4IDE5N2Y4ZDYyYmUuLmJlMzI2NWFhN2YgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21h aW4uaApAQCAtMzc5LDYgKzM3OSw3IEBAIHN0cnVjdCBhcmNoX2RvbWFpbgogICAgIHVpbnQ2NF90 IHZ0c2Nfb2Zmc2V0OyAgICAvKiBhZGp1c3RtZW50IGZvciBzYXZlL3Jlc3RvcmUvbWlncmF0ZSAq LwogICAgIHVpbnQzMl90IHRzY19raHo7ICAgICAgICAvKiBjYWNoZWQgZ3Vlc3Qga2h6IGZvciBj ZXJ0YWluIGVtdWxhdGVkIG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3 YXJlIFRTQyBzY2FsaW5nIGNhc2VzICovCisgICAgdWludDMyX3QgdnRzY190b2xlcmFuY2Vfa2h6 OyAvKiBkb21VIGhhbmRsZXMgdGhhdCBtdWNoIGppdHRlciBpbiBjcHVfa2h6ICovCiAgICAgc3Ry dWN0IHRpbWVfc2NhbGUgdnRzY190b19uczsgLyogc2NhbGluZyBmb3IgY2VydGFpbiBlbXVsYXRl ZCBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIFRTQyBz Y2FsaW5nIGNhc2VzICovCiAgICAgc3RydWN0IHRpbWVfc2NhbGUgbnNfdG9fdnRzYzsgLyogc2Nh bGluZyBmb3IgY2VydGFpbiBlbXVsYXRlZCBvcgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LXg4Ni90aW1lLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaAppbmRleCBiM2FlODMyZGY0 Li5lZjliZTdhNzAxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaAorKysg Yi94ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaApAQCAtNjEsMTAgKzYxLDEyIEBAIHU2NCBndGlt ZV90b19ndHNjKHN0cnVjdCBkb21haW4gKmQsIHU2NCB0aW1lKTsKIHU2NCBndHNjX3RvX2d0aW1l KHN0cnVjdCBkb21haW4gKmQsIHU2NCB0c2MpOwogCiB2b2lkIHRzY19zZXRfaW5mbyhzdHJ1Y3Qg ZG9tYWluICpkLCB1aW50MzJfdCB0c2NfbW9kZSwgdWludDY0X3QgZWxhcHNlZF9uc2VjLAotICAg ICAgICAgICAgICAgICAgdWludDMyX3QgZ3RzY19raHosIHVpbnQzMl90IGluY2FybmF0aW9uKTsK KyAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGd0c2Nfa2h6LCB1aW50MTZfdCB2dHNjX3RvbGVy YW5jZV9raHosCisgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNhcm5hdGlvbik7CiAgICAK IHZvaWQgdHNjX2dldF9pbmZvKHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90ICp0c2NfbW9kZSwg dWludDY0X3QgKmVsYXBzZWRfbnNlYywKLSAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpndHNj X2toeiwgdWludDMyX3QgKmluY2FybmF0aW9uKTsKKyAgICAgICAgICAgICAgICAgIHVpbnQzMl90 ICpndHNjX2toeiwgdWludDE2X3QgKnZ0c2NfdG9sZXJhbmNlX2toeiwKKyAgICAgICAgICAgICAg ICAgIHVpbnQzMl90ICppbmNhcm5hdGlvbik7CiAgICAKIAogdm9pZCBmb3JjZV91cGRhdGVfdmNw dV9zeXN0ZW1fdGltZShzdHJ1Y3QgdmNwdSAqdik7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9w dWJsaWMvZG9tY3RsLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKaW5kZXggMDUzNWRh ODFjNi4uYjJhMTBmZjA0ZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5o CisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaApAQCAtNzAyLDcgKzcwMiw4IEBAIHN0 cnVjdCB4ZW5fZG9tY3RsX3RzY19pbmZvIHsKICAgICB1aW50MzJfdCB0c2NfbW9kZTsKICAgICB1 aW50MzJfdCBndHNjX2toejsKICAgICB1aW50MzJfdCBpbmNhcm5hdGlvbjsKLSAgICB1aW50MzJf dCBwYWQ7CisgICAgdWludDE2X3QgdnRzY190b2xlcmFuY2Vfa2h6OworICAgIHVpbnQxNl90IHBh ZDsKICAgICB1aW50NjRfYWxpZ25lZF90IGVsYXBzZWRfbnNlYzsKIH07CiAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=