From: Olaf Hering Subject: [PATCH v7] new config option vtsc_tolerance_khz to avoid TSC emulation Date: Sun, 1 Apr 2018 19:03:18 +0200 Message-ID: <20180401170318.8335-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 Cgp2NzoKIC0gdXNlIHVpbnQxNiBpbiBsaWJ4bF90eXBlcy5pZGwgdG8gbWF0Y2ggdHlwZSB1c2Vk IGVsc2V3aGVyZSBpbiB0aGUgcGF0Y2gKdjY6CiAtIG1lbnRpb24gZGVmYXVsdCB2YWx1ZSBpbiB4 bC5jZmcKIC0gdHNjX3NldF9pbmZvOiByZW1vdmUgdXNhZ2Ugb2YgX19mdW5jX18sIHVzZSAlZCBm b3IgZG9taWQKIC0gdHNjX3NldF9pbmZvOiB1c2UgQUJTIHRvIGNhbGN1bGF0ZSBraHpfZGlmZgp2 NToKIC0gcmVkdWNlIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgc2V0dGluZyBvZiB0aGUgdG9sZXJh bmNlIHZhbHVlCiAgIG9ubHkgYXQgaW5pdGlhbCBkb21VIHN0YXJ0dXAKdjQ6CiAtIGFkZCBtaXNz aW5nIGNvcHliYWNrIGluIFhFTl9ET01DVExfc2V0X3Z0c2NfdG9sZXJhbmNlX2toegp2MzoKIC0g cmVuYW1lIHZ0c2Nfa2h6X3RvbGVyYW5jZSB0byB2dHNjX3RvbGVyYW5jZV9raHoKIC0gc2VwYXJh dGUgZG9tY3RscyB0byBhZGp1c3QgdmFsdWVzCiAtIG1vcmUgZG9jcwogLSB1cGRhdGUgbGlieGwu aAogLSB1cGRhdGUgcHl0aG9uIHRlc3RzCiAtIGZsYXNrIGNoZWNrIGJvdW5kIHRvIHRzYyBwZXJt aXNzaW9ucwogLSBub3QgcnVudGltZSB0ZXN0ZWQgZHVlIHRvIGRsc3ltKCkgYnVpbGQgZXJyb3Jz IGluIHN0YWdpbmcKClNpZ25lZC1vZmYtYnk6IE9sYWYgSGVyaW5nIDxvbGFmQGFlcGZsZS5kZT4K LS0tCiBkb2NzL21hbi94ZW4tdHNjbW9kZS5wb2QuNyAgICAgICAgICAgICAgIHwgMTYgKysrKysr KysrKysrKysrKwogZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluICAgICAgICAgICAgICAgICB8IDEw ICsrKysrKysrKysKIGRvY3Mvc3BlY3MvbGlieGMtbWlncmF0aW9uLXN0cmVhbS5wYW5kb2MgfCAg NiArKysrLS0KIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAgICAgICAgICAgfCAgMiAr KwogdG9vbHMvbGlieGMveGNfZG9tYWluLmMgICAgICAgICAgICAgICAgICB8ICA0ICsrKysKIHRv b2xzL2xpYnhjL3hjX3NyX2NvbW1vbl94ODYuYyAgICAgICAgICAgfCAgNiArKysrLS0KIHRvb2xz L2xpYnhjL3hjX3NyX3N0cmVhbV9mb3JtYXQuaCAgICAgICAgfCAgMyArKy0KIHRvb2xzL2xpYnhs L2xpYnhsLmggICAgICAgICAgICAgICAgICAgICAgfCAgNiArKysrKysKIHRvb2xzL2xpYnhsL2xp YnhsX3R5cGVzLmlkbCAgICAgICAgICAgICAgfCAgMSArCiB0b29scy9saWJ4bC9saWJ4bF94ODYu YyAgICAgICAgICAgICAgICAgIHwgIDMgKystCiB0b29scy9weXRob24veGVuL2xvd2xldmVsL3hj L3hjLmMgICAgICAgIHwgIDIgKy0KIHRvb2xzL3hsL3hsX3BhcnNlLmMgICAgICAgICAgICAgICAg ICAgICAgfCAgMyArKysKIHhlbi9hcmNoL3g4Ni9kb21haW4uYyAgICAgICAgICAgICAgICAgICAg fCAgMiArLQogeGVuL2FyY2gveDg2L2RvbWN0bC5jICAgICAgICAgICAgICAgICAgICB8ICAyICsr CiB4ZW4vYXJjaC94ODYvdGltZS5jICAgICAgICAgICAgICAgICAgICAgIHwgMzAgKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oICAgICAg ICAgICAgIHwgIDEgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni90aW1lLmggICAgICAgICAgICAgICB8 ICA2ICsrKystLQogeGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oICAgICAgICAgICAgICB8ICAz ICsrLQogMTggZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZG9jcy9tYW4veGVuLXRzY21vZGUucG9kLjcgYi9kb2NzL21hbi94ZW4t dHNjbW9kZS5wb2QuNwppbmRleCAzYmJjOTZmMjAxLi4xMjJhZTM2Njc5IDEwMDY0NAotLS0gYS9k b2NzL21hbi94ZW4tdHNjbW9kZS5wb2QuNworKysgYi9kb2NzL21hbi94ZW4tdHNjbW9kZS5wb2Qu NwpAQCAtOTksNiArOTksOSBAQCB3aGV0aGVyIG9yIG5vdCB0aGUgVk0gaGFzIGJlZW4gc2F2ZWQv cmVzdG9yZWQvbWlncmF0ZWQKIAogPWJhY2sKIAorSWYgdGhlIHRzY19tb2RlIGlzIHNldCB0byAi ZGVmYXVsdCIgdGhlIGRlY2lzaW9uIHRvIGVtdWxhdGUgVFNDIGNhbiBiZQordHdlYWtlZCBmdXJ0 aGVyIHdpdGggdGhlICJ2dHNjX3RvbGVyYW5jZV9raHoiIG9wdGlvbi4KKwogVG8gdW5kZXJzdGFu ZCB0aGlzIGluIG1vcmUgZGV0YWlsLCB0aGUgcmVzdCBvZiB0aGlzIGRvY3VtZW50IG11c3QKIGJl IHJlYWQuCiAKQEAgLTIxMSw2ICsyMTQsMTkgQEAgaXMgZW11bGF0ZWQuICBOb3RlIHRoYXQsIHRo b3VnaCBlbXVsYXRlZCwgdGhlICJhcHBhcmVudCIgVFNDIGZyZXF1ZW5jeQogd2lsbCBiZSB0aGUg VFNDIGZyZXF1ZW5jeSBvZiB0aGUgaW5pdGlhbCBwaHlzaWNhbCBtYWNoaW5lLCBldmVuIGFmdGVy CiBtaWdyYXRpb24uCiAKK1NpbmNlIHRoZSBjYWxpYnJhdGlvbiBvZiB0aGUgVFNDIGZyZXF1ZW5j eSBtYXkgbm90IGJlIDEwMCUgYWNjdXJhdGUsIHRoZQorZXhhY3QgdmFsdWUgb2YgdGhlIGZyZXF1 ZW5jeSBjYW4gY2hhbmdlIGV2ZW4gYWNyb3NzIHJlYm9vdHMuIFRoaXMgbWVhbnMKK2Fsc28gc2V2 ZXJhbCBvdGhlcndpc2UgaWRlbnRpY2FsIHN5c3RlbXMgY2FuIGhhdmUgYSBzbGlnaHRseSBkaWZm ZXJlbnQKK1RTQyBmcmVxdWVuY3kuIEFzIGEgcmVzdWx0IFRTQyBhY2Nlc3Mgd2lsbCBiZSBlbXVs YXRlZCBpZiBhIGRvbVUgaXMKK21pZ3JhdGVkIGZyb20gb25lIGhvc3QgdG8gYW5vdGhlciwgaWRl bnRpY2FsIGhvc3QuIFRvIGF2b2lkIHRoZQorcGVyZm9ybWFuY2UgaW1wYWN0IG9mIFRTQyBlbXVs YXRpb24gYSBjZXJ0YWluIHRvbGVyYW5jZSBvZiB0aGUgbWVhc3VyZWQKK2hvc3QgVFNDIGZyZXF1 ZW5jeSBjYW4gYmUgc3BlY2lmaWVkIHdpdGggInZ0c2NfdG9sZXJhbmNlX2toeiIuIElmIHRoZQor bWVhc3VyZWQgImNwdV9raHoiIHZhbHVlIGlzIHdpdGhpbiB0aGUgdG9sZXJhbmNlIHJhbmdlLCBU U0MgYWNjZXNzCityZW1haW5zIG5hdGl2ZS4gT3RoZXJ3aXNlIGl0IHdpbGwgYmUgZW11bGF0ZWQu IFRoaXMgYWxsb3dzIHRvIG1pZ3JhdGUKK2RvbVVzIGJldHdlZW4gaWRlbnRpY2FsIGhhcmR3YXJl LiBJZiB0aGUgZG9tVSB3aWxsIGJlIG1pZ3JhdGVkIHRvIGEKK2RpZmZlcmVudCBraW5kIG9mIGhh cmR3YXJlLCBzYXkgZnJvbSBhICIyLjNHSHoiIHRvIGEgIjIuNUdIeiIgc3lzdGVtLAorVFNDIHdp bGwgYmUgZW11YWx0ZWQgdG8gbWFpbnRhaW4gdGhlIFRTQyBmcmVxdWVuY3kgZXhwZWN0ZWQgYnkg dGhlIGRvbVUuCisKIEZvciBlbnZpcm9ubWVudHMgd2hlcmUgYm90aCBUU0Mtc2FmZW5lc3MgQU5E IGhpZ2hlc3QgcGVyZm9ybWFuY2UKIGV2ZW4gYWNyb3NzIG1pZ3JhdGlvbiBpcyBhIHJlcXVpcmVt ZW50LCBhcHBsaWNhdGlvbiBjb2RlIGNhbiBiZSBzcGVjaWFsbHkKIG1vZGlmaWVkIHRvIHVzZSBh biBhbGdvcml0aG0gZXhwbGljaXRseSBkZXNpZ25lZCBpbnRvIFhlbiBmb3IgdGhpcyBwdXJwb3Nl LgpkaWZmIC0tZ2l0IGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluIGIvZG9jcy9tYW4veGwuY2Zn LnBvZC41LmluCmluZGV4IDJjMWE2ZTE0MjIuLmFmZjE2MDUyZWYgMTAwNjQ0Ci0tLSBhL2RvY3Mv bWFuL3hsLmNmZy5wb2QuNS5pbgorKysgYi9kb2NzL21hbi94bC5jZmcucG9kLjUuaW4KQEAgLTE4 OTEsNiArMTg5MSwxNiBAQCBkZXRlcm1pbmVkIGluIGEgc2ltaWxhciB3YXkgdG8gdGhhdCBvZiBC PGRlZmF1bHQ+IFRTQyBtb2RlLgogCiBQbGVhc2Ugc2VlIEI8eGVuLXRzY21vZGUoNyk+IGZvciBt b3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgb3B0aW9uLgogCis9aXRlbSBCPHZ0c2NfdG9sZXJhbmNl X2toej0iS0haIj4KKworQjwoeDg2IG9ubHksIHJlbGV2YW50IG9ubHkgZm9yIHRzY19tb2RlPWRl ZmF1bHQpPgorV2hlbiBhIGRvbVUgaXMgc3RhcnRlZCwgdGhlIENQVSBmcmVxdWVuY3kgb2YgdGhl IGhvc3QgaXMgdXNlZCBieSB0aGUgZG9tVSBmb3IKK1RTQyByZWxhdGVkIHRpbWUgbWVhc3VyZW1l bnQuIE9uY2UgdGhlIGRvbVUgaXMgZWl0aGVyIG1pZ3JhdGVkIG9yCitzYXZlZC9yZXN0b3JlZCBv biBhbm90aGVyIGhvc3QgdGhhdCBDUFUgZnJlcXVlbmN5IGhhcyB0byBiZSBlbXVsYXRlZCB0byBh dm9pZAordGltZWRyaWZ0LiBUbyBhdm9pZCB0aGUgcGVyZm9ybWFuY2UgcGVuYWx0eSBvZiB0aGUg VFNDIGVtdWxhdGlvbiwgYWxsb3cgYQorY2VydGFpbiBhbW91bnQgb2Ygaml0dGVyIG9mIHRoZSBt ZWFzdXJlZCBDUFUgZnJlcXVlbmN5IG9uIHRoZSBob3N0cyB0aGUgZG9tVQoraXMgc3VwcG9zZWQg dG8gcnVuIG9uLiBEZWZhdWx0IHZhbHVlIGlzIDAsIGkuZS4gbm8gdG9sZXJhbmNlLgorCiA9aXRl bSBCPGxvY2FsdGltZT1CT09MRUFOPgogCiBTZXQgdGhlIHJlYWwgdGltZSBjbG9jayB0byBsb2Nh bCB0aW1lIG9yIHRvIFVUQy4gRmFsc2UgKDApIGJ5IGRlZmF1bHQsCmRpZmYgLS1naXQgYS9kb2Nz L3NwZWNzL2xpYnhjLW1pZ3JhdGlvbi1zdHJlYW0ucGFuZG9jIGIvZG9jcy9zcGVjcy9saWJ4Yy1t aWdyYXRpb24tc3RyZWFtLnBhbmRvYwppbmRleCA3MzQyMWZmMzkzLi4wZDBmMTdlZGIxIDEwMDY0 NAotLS0gYS9kb2NzL3NwZWNzL2xpYnhjLW1pZ3JhdGlvbi1zdHJlYW0ucGFuZG9jCisrKyBiL2Rv Y3Mvc3BlY3MvbGlieGMtbWlncmF0aW9uLXN0cmVhbS5wYW5kb2MKQEAgLTMsNyArMyw3IEBACiAg IEFuZHJldyBDb29wZXIgPDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPj4KICAgV2VuIENvbmd5 YW5nIDw8d2VuY3lAY24uZnVqaXRzdS5jb20+PgogICBZYW5nIEhvbmd5YW5nIDw8aG9uZ3lhbmcu eWFuZ0BlYXN5c3RhY2suY24+PgotJSBSZXZpc2lvbiAyCislIFJldmlzaW9uIDMKIAogSW50cm9k dWN0aW9uCiA9PT09PT09PT09PT0KQEAgLTQ3Miw3ICs0NzIsNyBAQCBYRU5cX0RPTUNUTFxfe2dl dCxzZXR9dHNjaW5mbyBoeXBlcmNhbGwgc3ViLW9wcy4KICAgICArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgICB8IG5zZWMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLSAgICB8IGluY2FybmF0aW9uICAgICAg ICAgICAgfCAocmVzZXJ2ZWQpICAgICAgICAgICAgIHwKKyAgICB8IGluY2FybmF0aW9uICAgICAg ICAgICAgfCB0b2xlcmFuY2UgfCAocmVzZXJ2ZWQpIHwKICAgICArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTQ4NSw2 ICs0ODUsOCBAQCBraHogICAgICAgICAgICAgIFRTQyBmcmVxdWVuY3ksIGluIGtIei4KIG5zZWMg ICAgICAgICAgICAgRWxhcHNlZCB0aW1lLCBpbiBuYW5vc2Vjb25kcy4KIAogaW5jYXJuYXRpb24g ICAgICBJbmNhcm5hdGlvbi4KKwordG9sZXJhbmNlICAgICAgICBBbW91bnQgb2YgSml0dGVyIHRo ZSBkb21VIGNhbiBoYW5kbGUgYWZ0ZXIgbWlncmF0aW9uCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBcY2xlYXJw YWdlCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xp YnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IDA1OGU4MzJjNDcuLjk2YmRkNTYwOWQgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisrKyBiL3Rvb2xzL2xpYnhjL2lu Y2x1ZGUveGVuY3RybC5oCkBAIC0xMzYwLDYgKzEzNjAsNyBAQCBpbnQgeGNfZG9tYWluX3NldF90 c2NfaW5mbyh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IHRzY19tb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgZWxh cHNlZF9uc2VjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZ3RzY19raHos CisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCB2dHNjX3RvbGVyYW5jZV9raHos CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNhcm5hdGlvbik7CiAKIGlu dCB4Y19kb21haW5fZ2V0X3RzY19pbmZvKHhjX2ludGVyZmFjZSAqeGNoLApAQCAtMTM2Nyw2ICsx MzY4LDcgQEAgaW50IHhjX2RvbWFpbl9nZXRfdHNjX2luZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqdHNjX21vZGUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50NjRfdCAqZWxhcHNlZF9uc2VjLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgKmd0c2Nfa2h6LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDE2X3QgKnZ0c2NfdG9sZXJhbmNlX2toeiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90ICppbmNhcm5hdGlvbik7CiAKIGludCB4Y19kb21haW5fZGlzYWJsZV9taWdy YXRlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCk7CmRpZmYgLS1naXQgYS90b29s cy9saWJ4Yy94Y19kb21haW4uYyBiL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCmluZGV4IDI2YjRi OTA4YjkuLjM2YWNjMWM0NWYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCisr KyBiL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCkBAIC04NTIsNiArODUyLDcgQEAgaW50IHhjX2Rv bWFpbl9zZXRfdHNjX2luZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCB0c2NfbW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQ2NF90IGVsYXBzZWRfbnNlYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IGd0c2Nfa2h6LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgdnRzY190b2xl cmFuY2Vfa2h6LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5jYXJuYXRp b24pCiB7CiAgICAgREVDTEFSRV9ET01DVEw7CkBAIC04NjAsNiArODYxLDcgQEAgaW50IHhjX2Rv bWFpbl9zZXRfdHNjX2luZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgZG9tY3RsLnUudHNjX2lu Zm8udHNjX21vZGUgPSB0c2NfbW9kZTsKICAgICBkb21jdGwudS50c2NfaW5mby5lbGFwc2VkX25z ZWMgPSBlbGFwc2VkX25zZWM7CiAgICAgZG9tY3RsLnUudHNjX2luZm8uZ3RzY19raHogPSBndHNj X2toejsKKyAgICBkb21jdGwudS50c2NfaW5mby52dHNjX3RvbGVyYW5jZV9raHogPSB2dHNjX3Rv bGVyYW5jZV9raHo7CiAgICAgZG9tY3RsLnUudHNjX2luZm8uaW5jYXJuYXRpb24gPSBpbmNhcm5h dGlvbjsKICAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0bCk7CiB9CkBAIC04NjksNiAr ODcxLDcgQEAgaW50IHhjX2RvbWFpbl9nZXRfdHNjX2luZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqdHNjX21vZGUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50NjRfdCAqZWxhcHNlZF9uc2VjLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgKmd0c2Nfa2h6LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDE2X3QgKnZ0c2NfdG9sZXJhbmNlX2toeiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90ICppbmNhcm5hdGlvbikKIHsKICAgICBpbnQgcmM7CkBAIC04ODIsNiArODg1 LDcgQEAgaW50IHhjX2RvbWFpbl9nZXRfdHNjX2luZm8oeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAg ICAgICp0c2NfbW9kZSA9IGRvbWN0bC51LnRzY19pbmZvLnRzY19tb2RlOwogICAgICAgICAqZWxh cHNlZF9uc2VjID0gZG9tY3RsLnUudHNjX2luZm8uZWxhcHNlZF9uc2VjOwogICAgICAgICAqZ3Rz Y19raHogPSBkb21jdGwudS50c2NfaW5mby5ndHNjX2toejsKKyAgICAgICAgKnZ0c2NfdG9sZXJh bmNlX2toeiA9IGRvbWN0bC51LnRzY19pbmZvLnZ0c2NfdG9sZXJhbmNlX2toejsKICAgICAgICAg KmluY2FybmF0aW9uID0gZG9tY3RsLnUudHNjX2luZm8uaW5jYXJuYXRpb247CiAgICAgfQogICAg IHJldHVybiByYzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX3NyX2NvbW1vbl94ODYuYyBi L3Rvb2xzL2xpYnhjL3hjX3NyX2NvbW1vbl94ODYuYwppbmRleCA5OGYxY2VmMzBmLi5lYTNlNTUx YTgzIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19zcl9jb21tb25feDg2LmMKKysrIGIvdG9v bHMvbGlieGMveGNfc3JfY29tbW9uX3g4Ni5jCkBAIC0xMiw3ICsxMiw4IEBAIGludCB3cml0ZV90 c2NfaW5mbyhzdHJ1Y3QgeGNfc3JfY29udGV4dCAqY3R4KQogICAgIH07CiAKICAgICBpZiAoIHhj X2RvbWFpbl9nZXRfdHNjX2luZm8oeGNoLCBjdHgtPmRvbWlkLCAmdHNjLm1vZGUsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZ0c2MubnNlYywgJnRzYy5raHosICZ0c2MuaW5jYXJu YXRpb24pIDwgMCApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0c2MubnNlYywg JnRzYy5raHosICZ0c2MudnRzY190b2xlcmFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZ0c2MuaW5jYXJuYXRpb24pIDwgMCApCiAgICAgewogICAgICAgICBQRVJST1IoIlVu YWJsZSB0byBvYnRhaW4gVFNDIGluZm9ybWF0aW9uIik7CiAgICAgICAgIHJldHVybiAtMTsKQEAg LTM0LDcgKzM1LDggQEAgaW50IGhhbmRsZV90c2NfaW5mbyhzdHJ1Y3QgeGNfc3JfY29udGV4dCAq Y3R4LCBzdHJ1Y3QgeGNfc3JfcmVjb3JkICpyZWMpCiAgICAgfQogCiAgICAgaWYgKCB4Y19kb21h aW5fc2V0X3RzY19pbmZvKHhjaCwgY3R4LT5kb21pZCwgdHNjLT5tb2RlLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0c2MtPm5zZWMsIHRzYy0+a2h6LCB0c2MtPmluY2FybmF0aW9u KSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRzYy0+bnNlYywgdHNjLT5raHos IHRzYy0+dnRzY190b2xlcmFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRz Yy0+aW5jYXJuYXRpb24pICkKICAgICB7CiAgICAgICAgIFBFUlJPUigiVW5hYmxlIHRvIHNldCBU U0MgaW5mb3JtYXRpb24iKTsKICAgICAgICAgcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvdG9vbHMv bGlieGMveGNfc3Jfc3RyZWFtX2Zvcm1hdC5oIGIvdG9vbHMvbGlieGMveGNfc3Jfc3RyZWFtX2Zv cm1hdC5oCmluZGV4IDE1ZmYxYzdlZmIuLjliNTJmNmFjZTYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhjL3hjX3NyX3N0cmVhbV9mb3JtYXQuaAorKysgYi90b29scy9saWJ4Yy94Y19zcl9zdHJlYW1f Zm9ybWF0LmgKQEAgLTEyMSw3ICsxMjEsOCBAQCBzdHJ1Y3QgeGNfc3JfcmVjX3RzY19pbmZvCiAg ICAgdWludDMyX3Qga2h6OwogICAgIHVpbnQ2NF90IG5zZWM7CiAgICAgdWludDMyX3QgaW5jYXJu YXRpb247Ci0gICAgdWludDMyX3QgX3JlczE7CisgICAgdWludDE2X3QgdnRzY190b2xlcmFuY2U7 CisgICAgdWludDE2X3QgX3JlczE7CiB9OwogCiAvKiBIVk1fUEFSQU1TICovCmRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bC5oIGIvdG9vbHMvbGlieGwvbGlieGwuaAppbmRleCBiZmZjNWEx NmM3Li4yMzBkZDAxYzI0IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bC5oCisrKyBiL3Rv b2xzL2xpYnhsL2xpYnhsLmgKQEAgLTM1NCw2ICszNTQsMTIgQEAKICNkZWZpbmUgTElCWExfSEFW RV9CVUlMRElORk9fQk9PVExPQURFUiAxCiAjZGVmaW5lIExJQlhMX0hBVkVfQlVJTERJTkZPX0JP T1RMT0FERVJfQVJHUyAxCiAKKy8qCisgKiBMSUJYTF9IQVZFX1ZUU0NfVE9MRVJBTkNFX0tIWiBp bmRpY2F0ZXMgdGhhdCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbworICogaGFzIHRoZSB2dHNjX3Rv bGVyYW5jZV9raHogZmllbGQuCisgKi8KKyNkZWZpbmUgTElCWExfSEFWRV9WVFNDX1RPTEVSQU5D RV9LSFogMQorCiAvKgogICogbGlieGwgQUJJIGNvbXBhdGliaWxpdHkKICAqCmRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5p ZGwKaW5kZXggMDFlYzFkMWFmYS4uYmI5OTc3NjQwMSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv bGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApAQCAtNDY2 LDYgKzQ2Niw3IEBAIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvID0gU3RydWN0KCJkb21haW5fYnVp bGRfaW5mbyIsWwogICAgICgidmNwdV9zb2Z0X2FmZmluaXR5IiwgQXJyYXkobGlieGxfYml0bWFw LCAibnVtX3ZjcHVfc29mdF9hZmZpbml0eSIpKSwKICAgICAoIm51bWFfcGxhY2VtZW50IiwgIGxp YnhsX2RlZmJvb2wpLAogICAgICgidHNjX21vZGUiLCAgICAgICAgbGlieGxfdHNjX21vZGUpLAor ICAgICgidnRzY190b2xlcmFuY2Vfa2h6IiwgdWludDE2KSwKICAgICAoIm1heF9tZW1rYiIsICAg ICAgIE1lbUtCKSwKICAgICAoInRhcmdldF9tZW1rYiIsICAgIE1lbUtCKSwKICAgICAoInZpZGVv X21lbWtiIiwgICAgIE1lbUtCKSwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5j IGIvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKaW5kZXggMWU5Zjk4OTYxYi4uYWI1ZmY5YWE4YiAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMKKysrIGIvdG9vbHMvbGlieGwvbGli eGxfeDg2LmMKQEAgLTMxMyw3ICszMTMsOCBAQCBpbnQgbGlieGxfX2FyY2hfZG9tYWluX2NyZWF0 ZShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKICAgICBkZWZh dWx0OgogICAgICAgICBhYm9ydCgpOwogICAgIH0KLSAgICB4Y19kb21haW5fc2V0X3RzY19pbmZv KGN0eC0+eGNoLCBkb21pZCwgdHNjX21vZGUsIDAsIDAsIDApOworICAgIHhjX2RvbWFpbl9zZXRf dHNjX2luZm8oY3R4LT54Y2gsIGRvbWlkLCB0c2NfbW9kZSwgMCwgMCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRfY29uZmlnLT5iX2luZm8udnRzY190b2xlcmFuY2Vfa2h6LCAwKTsKICAg ICBpZiAobGlieGxfZGVmYm9vbF92YWwoZF9jb25maWctPmJfaW5mby5kaXNhYmxlX21pZ3JhdGUp KQogICAgICAgICB4Y19kb21haW5fZGlzYWJsZV9taWdyYXRlKGN0eC0+eGNoLCBkb21pZCk7CiAg ICAgcnRjX3RpbWVvZmZzZXQgPSBkX2NvbmZpZy0+Yl9pbmZvLnJ0Y190aW1lb2Zmc2V0OwpkaWZm IC0tZ2l0IGEvdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jIGIvdG9vbHMvcHl0aG9u L3hlbi9sb3dsZXZlbC94Yy94Yy5jCmluZGV4IGY1MDE3NjQxMDAuLmU3M2UyY2FmYzcgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYworKysgYi90b29scy9weXRo b24veGVuL2xvd2xldmVsL3hjL3hjLmMKQEAgLTE1MjIsNyArMTUyMiw3IEBAIHN0YXRpYyBQeU9i amVjdCAqcHl4Y19kb21haW5fc2V0X3RzY19pbmZvKFhjT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAq YXJncykKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpIiwgJmRvbSwgJnRzY19t b2RlKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoeGNfZG9tYWluX3NldF90c2Nf aW5mbyhzZWxmLT54Y19oYW5kbGUsIGRvbSwgdHNjX21vZGUsIDAsIDAsIDApICE9IDApCisgICAg aWYgKHhjX2RvbWFpbl9zZXRfdHNjX2luZm8oc2VsZi0+eGNfaGFuZGxlLCBkb20sIHRzY19tb2Rl LCAwLCAwLCAwLCAwKSAhPSAwKQogICAgICAgICByZXR1cm4gcHl4Y19lcnJvcl90b19leGNlcHRp b24oc2VsZi0+eGNfaGFuZGxlKTsKIAogICAgIFB5X0lOQ1JFRih6ZXJvKTsKZGlmZiAtLWdpdCBh L3Rvb2xzL3hsL3hsX3BhcnNlLmMgYi90b29scy94bC94bF9wYXJzZS5jCmluZGV4IGU2YzU0NDgz ZTAuLjE5MTU2NDBkNjQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX3BhcnNlLmMKKysrIGIvdG9v bHMveGwveGxfcGFyc2UuYwpAQCAtMTEyNiw2ICsxMTI2LDkgQEAgdm9pZCBwYXJzZV9jb25maWdf ZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAgICAgICB9CiAgICAgfQogCisgICAg aWYgKCF4bHVfY2ZnX2dldF9sb25nKGNvbmZpZywgInZ0c2NfdG9sZXJhbmNlX2toeiIsICZsLCAw KSkKKyAgICAgICAgYl9pbmZvLT52dHNjX3RvbGVyYW5jZV9raHogPSBsIDwgMCB8fCBsID4gVUlO VDE2X01BWCA/IFVJTlQxNl9NQVggOiBsOworCiAgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nKGNv bmZpZywgInJ0Y190aW1lb2Zmc2V0IiwgJmwsIDApKQogICAgICAgICBiX2luZm8tPnJ0Y190aW1l b2Zmc2V0ID0gbDsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2Fy Y2gveDg2L2RvbWFpbi5jCmluZGV4IGZiYjMyMGRhOWMuLmQ0MGI5MTcyMWUgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKQEAgLTU2 MSw3ICs1NjEsNyBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsCiAg 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 dGltZS5jCmluZGV4IDg0YzFjMGMwODIuLmM5NmQ2NDNhY2IgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni90aW1lLmMKKysrIGIveGVuL2FyY2gveDg2L3RpbWUuYwpAQCAtMjA2NCw3ICsyMDY0LDcg QEAgaW50IGhvc3RfdHNjX2lzX3NhZmUodm9pZCkKICAqLwogdm9pZCB0c2NfZ2V0X2luZm8oc3Ry dWN0IGRvbWFpbiAqZCwgdWludDMyX3QgKnRzY19tb2RlLAogICAgICAgICAgICAgICAgICAgdWlu dDY0X3QgKmVsYXBzZWRfbnNlYywgdWludDMyX3QgKmd0c2Nfa2h6LAotICAgICAgICAgICAgICAg ICAgdWludDMyX3QgKmluY2FybmF0aW9uKQorICAgICAgICAgICAgICAgICAgdWludDE2X3QgKnZ0 c2NfdG9sZXJhbmNlX2toeiwgdWludDMyX3QgKmluY2FybmF0aW9uKQogewogICAgIGJvb2wgZW5h YmxlX3RzY19zY2FsaW5nID0gaXNfaHZtX2RvbWFpbihkKSAmJgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCAmJiAhZC0+YXJjaC52dHNjOwpA QCAtMjA4MCw2ICsyMDgwLDcgQEAgdm9pZCB0c2NfZ2V0X2luZm8oc3RydWN0IGRvbWFpbiAqZCwg dWludDMyX3QgKnRzY19tb2RlLAogICAgICAgICAqZWxhcHNlZF9uc2VjID0gKmd0c2Nfa2h6ID0g MDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBUU0NfTU9ERV9ERUZBVUxUOgorICAgICAgICAq dnRzY190b2xlcmFuY2Vfa2h6ID0gZC0+YXJjaC52dHNjX3RvbGVyYW5jZV9raHo7CiAgICAgICAg IGlmICggZC0+YXJjaC52dHNjICkKICAgICAgICAgewogICAgIGNhc2UgVFNDX01PREVfQUxXQVlT X0VNVUxBVEU6CkBAIC0yMTIyLDcgKzIxMjMsOCBAQCB2b2lkIHRzY19nZXRfaW5mbyhzdHJ1Y3Qg ZG9tYWluICpkLCB1aW50MzJfdCAqdHNjX21vZGUsCiAgKi8KIHZvaWQgdHNjX3NldF9pbmZvKHN0 cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0c2NfbW9kZSwgdWlu dDY0X3QgZWxhcHNlZF9uc2VjLAotICAgICAgICAgICAgICAgICAgdWludDMyX3QgZ3RzY19raHos IHVpbnQzMl90IGluY2FybmF0aW9uKQorICAgICAgICAgICAgICAgICAgdWludDMyX3QgZ3RzY19r aHosIHVpbnQxNl90IHZ0c2NfdG9sZXJhbmNlX2toeiwKKyAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IGluY2FybmF0aW9uKQogewogICAgIEFTU0VSVCghaXNfc3lzdGVtX2RvbWFpbihkKSk7CiAK QEAgLTIxMzQsOSArMjEzNiwxMiBAQCB2b2lkIHRzY19zZXRfaW5mbyhzdHJ1Y3QgZG9tYWluICpk LAogCiAgICAgc3dpdGNoICggZC0+YXJjaC50c2NfbW9kZSA9IHRzY19tb2RlICkKICAgICB7Cisg ICAgICAgIGJvb2wgZGlzYWJsZV92dHNjOwogICAgICAgICBib29sIGVuYWJsZV90c2Nfc2NhbGlu ZzsKIAogICAgIGNhc2UgVFNDX01PREVfREVGQVVMVDoKKyAgICAgICAgZC0+YXJjaC52dHNjX3Rv bGVyYW5jZV9raHogPSB2dHNjX3RvbGVyYW5jZV9raHo7CisgICAgICAgIC8qIEZhbGx0aHJvdWdo LiAqLwogICAgIGNhc2UgVFNDX01PREVfQUxXQVlTX0VNVUxBVEU6CiAgICAgICAgIGQtPmFyY2gu dnRzY19vZmZzZXQgPSBnZXRfc190aW1lKCkgLSBlbGFwc2VkX25zZWM7CiAgICAgICAgIGQtPmFy Y2gudHNjX2toeiA9IGd0c2Nfa2h6ID86IGNwdV9raHo7CkBAIC0yMTQ5LDggKzIxNTQsMjUgQEAg dm9pZCB0c2Nfc2V0X2luZm8oc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICogV2hlbiBhIGd1 ZXN0IGlzIGNyZWF0ZWQsIGd0c2Nfa2h6IGlzIHBhc3NlZCBpbiBhcyB6ZXJvLCBtYWtpbmcKICAg ICAgICAgICogZC0+YXJjaC50c2Nfa2h6ID09IGNwdV9raHouIFRodXMgbm8gbmVlZCB0byBjaGVj ayBpbmNhcm5hdGlvbi4KICAgICAgICAgICovCisgICAgICAgIGRpc2FibGVfdnRzYyA9IGQtPmFy Y2gudHNjX2toeiA9PSBjcHVfa2h6OworCisgICAgICAgIGlmICggdHNjX21vZGUgPT0gVFNDX01P REVfREVGQVVMVCAmJiBndHNjX2toeiAmJgorICAgICAgICAgICAgIGQtPmFyY2gudnRzY190b2xl cmFuY2Vfa2h6ICkKKyAgICAgICAgeworICAgICAgICAgICAgbG9uZyBraHpfZGlmZjsKKworICAg ICAgICAgICAga2h6X2RpZmYgPSBBQlMoKGxvbmcpKGNwdV9raHogLSBndHNjX2toeikpOworICAg ICAgICAgICAgZGlzYWJsZV92dHNjID0ga2h6X2RpZmYgPD0gZC0+YXJjaC52dHNjX3RvbGVyYW5j ZV9raHo7CisKKyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfR19JTkZPICJkJWQ6IGhvc3QgaGFz ICVsdSBrSHosIgorICAgICAgICAgICAgICAgICAgICIgZG9tVSBleHBlY3RzICV1IGtIeiwiCisg ICAgICAgICAgICAgICAgICAgIiBkaWZmZXJlbmNlIG9mICVsZCBpcyAlcyB0b2xlcmFuY2Ugb2Yg JXVcbiIsCisgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBjcHVfa2h6LCBndHNjX2to eiwga2h6X2RpZmYsCisgICAgICAgICAgICAgICAgICAgZGlzYWJsZV92dHNjID8gIndpdGhpbiIg OiAib3V0c2lkZSIsCisgICAgICAgICAgICAgICAgICAgZC0+YXJjaC52dHNjX3RvbGVyYW5jZV9r aHopOworICAgICAgICB9CiAgICAgICAgIGlmICggdHNjX21vZGUgPT0gVFNDX01PREVfREVGQVVM VCAmJiBob3N0X3RzY19pc19zYWZlKCkgJiYKLSAgICAgICAgICAgICAoZC0+YXJjaC50c2Nfa2h6 ID09IGNwdV9raHogfHwKKyAgICAgICAgICAgICAoZGlzYWJsZV92dHNjIHx8CiAgICAgICAgICAg ICAgIChpc19odm1fZG9tYWluKGQpICYmCiAgICAgICAgICAgICAgICBodm1fZ2V0X3RzY19zY2Fs aW5nX3JhdGlvKGQtPmFyY2gudHNjX2toeikpKSApCiAgICAgICAgIHsKQEAgLTIyMzksNiArMjI2 MSw4IEBAIHN0YXRpYyB2b2lkIGR1bXBfc29mdHRzYyh1bnNpZ25lZCBjaGFyIGtleSkKICAgICAg ICAgICAgIHByaW50aygiLG9mcz0lIyJQUkl4NjQsIGQtPmFyY2gudnRzY19vZmZzZXQpOwogICAg ICAgICBpZiAoIGQtPmFyY2gudHNjX2toeiApCiAgICAgICAgICAgICBwcmludGsoIixraHo9JSJQ Ukl1MzIsIGQtPmFyY2gudHNjX2toeik7CisgICAgICAgIGlmICggZC0+YXJjaC52dHNjX3RvbGVy YW5jZV9raHogKQorICAgICAgICAgICAgcHJpbnRrKCIsdG9sPSUiUFJJdTE2LCBkLT5hcmNoLnZ0 c2NfdG9sZXJhbmNlX2toeik7CiAgICAgICAgIGlmICggZC0+YXJjaC5pbmNhcm5hdGlvbiApCiAg ICAgICAgICAgICBwcmludGsoIixpbmM9JSJQUkl1MzIsIGQtPmFyY2guaW5jYXJuYXRpb24pOwog I2lmICFkZWZpbmVkKE5ERUJVRykgfHwgZGVmaW5lZChDT05GSUdfUEVSRl9DT1VOVEVSUykKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20t eDg2L2RvbWFpbi5oCmluZGV4IGExMmFlNDdmMWIuLjc3NDM5OTU5MzQgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21h aW4uaApAQCAtMzc0LDYgKzM3NCw3IEBAIHN0cnVjdCBhcmNoX2RvbWFpbgogICAgIHVpbnQ2NF90 IHZ0c2Nfb2Zmc2V0OyAgICAvKiBhZGp1c3RtZW50IGZvciBzYXZlL3Jlc3RvcmUvbWlncmF0ZSAq LwogICAgIHVpbnQzMl90IHRzY19raHo7ICAgICAgICAvKiBjYWNoZWQgZ3Vlc3Qga2h6IGZvciBj ZXJ0YWluIGVtdWxhdGVkIG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3 YXJlIFRTQyBzY2FsaW5nIGNhc2VzICovCisgICAgdWludDMyX3QgdnRzY190b2xlcmFuY2Vfa2h6 OyAvKiBkb21VIGhhbmRsZXMgdGhhdCBtdWNoIGppdHRlciBpbiBjcHVfa2h6ICovCiAgICAgc3Ry dWN0IHRpbWVfc2NhbGUgdnRzY190b19uczsgLyogc2NhbGluZyBmb3IgY2VydGFpbiBlbXVsYXRl ZCBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIFRTQyBz Y2FsaW5nIGNhc2VzICovCiAgICAgc3RydWN0IHRpbWVfc2NhbGUgbnNfdG9fdnRzYzsgLyogc2Nh bGluZyBmb3IgY2VydGFpbiBlbXVsYXRlZCBvcgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LXg4Ni90aW1lLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaAppbmRleCBiM2FlODMyZGY0 Li5lZjliZTdhNzAxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaAorKysg Yi94ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaApAQCAtNjEsMTAgKzYxLDEyIEBAIHU2NCBndGlt ZV90b19ndHNjKHN0cnVjdCBkb21haW4gKmQsIHU2NCB0aW1lKTsKIHU2NCBndHNjX3RvX2d0aW1l KHN0cnVjdCBkb21haW4gKmQsIHU2NCB0c2MpOwogCiB2b2lkIHRzY19zZXRfaW5mbyhzdHJ1Y3Qg ZG9tYWluICpkLCB1aW50MzJfdCB0c2NfbW9kZSwgdWludDY0X3QgZWxhcHNlZF9uc2VjLAotICAg ICAgICAgICAgICAgICAgdWludDMyX3QgZ3RzY19raHosIHVpbnQzMl90IGluY2FybmF0aW9uKTsK KyAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGd0c2Nfa2h6LCB1aW50MTZfdCB2dHNjX3RvbGVy YW5jZV9raHosCisgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmNhcm5hdGlvbik7CiAgICAK IHZvaWQgdHNjX2dldF9pbmZvKHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90ICp0c2NfbW9kZSwg dWludDY0X3QgKmVsYXBzZWRfbnNlYywKLSAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpndHNj X2toeiwgdWludDMyX3QgKmluY2FybmF0aW9uKTsKKyAgICAgICAgICAgICAgICAgIHVpbnQzMl90 ICpndHNjX2toeiwgdWludDE2X3QgKnZ0c2NfdG9sZXJhbmNlX2toeiwKKyAgICAgICAgICAgICAg ICAgIHVpbnQzMl90ICppbmNhcm5hdGlvbik7CiAgICAKIAogdm9pZCBmb3JjZV91cGRhdGVfdmNw dV9zeXN0ZW1fdGltZShzdHJ1Y3QgdmNwdSAqdik7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9w dWJsaWMvZG9tY3RsLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKaW5kZXggZWM3YTg2 MGFmYy4uNzBhNThhZTJlNCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5o CisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaApAQCAtNzAyLDcgKzcwMiw4IEBAIHN0 cnVjdCB4ZW5fZG9tY3RsX3RzY19pbmZvIHsKICAgICB1aW50MzJfdCB0c2NfbW9kZTsKICAgICB1 aW50MzJfdCBndHNjX2toejsKICAgICB1aW50MzJfdCBpbmNhcm5hdGlvbjsKLSAgICB1aW50MzJf dCBwYWQ7CisgICAgdWludDE2X3QgdnRzY190b2xlcmFuY2Vfa2h6OworICAgIHVpbnQxNl90IHBh ZDsKICAgICB1aW50NjRfYWxpZ25lZF90IGVsYXBzZWRfbnNlYzsKIH07CiAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=