From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v4 1/5] xen: make use of xen_xc implicit in xen_common.h inlines Date: Tue, 7 Mar 2017 10:55:30 +0000 Message-ID: <1488884134-29190-2-git-send-email-paul.durrant@citrix.com> References: <1488884134-29190-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1clCmN-0003ZU-6h for xen-devel@lists.xenproject.org; Tue, 07 Mar 2017 10:55:43 +0000 In-Reply-To: <1488884134-29190-1-git-send-email-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, qemu-devel@nongnu.org Cc: Paul Durrant , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org RG9pbmcgdGhpcyB3aWxsIG1ha2UgdGhlIHRyYW5zaXRpb24gdG8gdXNpbmcgdGhlIG5ldyBsaWJ4 ZW5kZXZpY2Vtb2RlbAppbnRlcmZhY2UgbGVzcyBpbnRydXNpdmUgb24gdGhlIGNhbGxlcnMgb2Yg dGhlc2UgZnVuY3Rpb25zLCBzaW5jZSB1c2luZwp0aGUgbmV3IGxpYnJhcnkgd2lsbCByZXF1aXJl IGEgY2hhbmdlIG9mIGhhbmRsZS4KCk5PVEU6IFRoZSBwYXRjaCBhbHNvIG1vdmVzIHRoZSAnZXh0 ZXJucycgZm9yIHhlbl94YyBhbmQgeGVuX2ZtZW0gZnJvbQogICAgICB4ZW5fYmFja2VuZC5oIHRv IHhlbl9jb21tb24uaCwgYW5kIHRoZSBkZWNsYXJhdGlvbnMgZnJvbQogICAgICB4ZW5fYmFja2Vu ZC5jIHRvIHhlbi1jb21tb24uYywgd2hpY2ggaXMgd2hlcmUgdGhleSBiZWxvbmcuCgpTaWduZWQt b2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgpSZXZpZXdlZC1i eTogQW50aG9ueSBQZXJhcmQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+Ci0tLQpDYzogU3Rl ZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgotLS0KIGh3L3hlbi94ZW5f YmFja2VuZC5jICAgICAgICAgfCAgMiAtCiBpbmNsdWRlL2h3L3hlbi94ZW5fYmFja2VuZC5oIHwg IDIgLQogaW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oICB8IDkwICsrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4tY29tbW9uLmMgICAgICAgICAgICAgICAg IHwgIDMgKysKIHhlbi1odm0uYyAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrKy0tLS0tCiA1 IGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDU3IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2h3L3hlbi94ZW5fYmFja2VuZC5jIGIvaHcveGVuL3hlbl9iYWNrZW5kLmMKaW5kZXgg NmMyMWMzNy4uZDM0YzQ5ZSAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9iYWNrZW5kLmMKKysrIGIv aHcveGVuL3hlbl9iYWNrZW5kLmMKQEAgLTQzLDggKzQzLDYgQEAgQnVzU3RhdGUgKnhlbl9zeXNi dXM7CiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tICovCiAKIC8qIHB1YmxpYyAqLwoteGNfaW50ZXJmYWNlICp4ZW5feGMgPSBO VUxMOwoteGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtID0gTlVMTDsKIHN0cnVjdCB4 c19oYW5kbGUgKnhlbnN0b3JlID0gTlVMTDsKIGNvbnN0IGNoYXIgKnhlbl9wcm90b2NvbDsKIApk aWZmIC0tZ2l0IGEvaW5jbHVkZS9ody94ZW4veGVuX2JhY2tlbmQuaCBiL2luY2x1ZGUvaHcveGVu L3hlbl9iYWNrZW5kLmgKaW5kZXggNGY0Nzk5YS4uMzA4MTFhMSAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9ody94ZW4veGVuX2JhY2tlbmQuaAorKysgYi9pbmNsdWRlL2h3L3hlbi94ZW5fYmFja2VuZC5o CkBAIC0xNCw4ICsxNCw2IEBACiAgICAgT0JKRUNUX0NIRUNLKFhlbkRldmljZSwgKG9iaiksIFRZ UEVfWEVOQkFDS0VORCkKIAogLyogdmFyaWFibGVzICovCi1leHRlcm4geGNfaW50ZXJmYWNlICp4 ZW5feGM7Ci1leHRlcm4geGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtOwogZXh0ZXJu IHN0cnVjdCB4c19oYW5kbGUgKnhlbnN0b3JlOwogZXh0ZXJuIGNvbnN0IGNoYXIgKnhlbl9wcm90 b2NvbDsKIGV4dGVybiBEZXZpY2VTdGF0ZSAqeGVuX3N5c2RldjsKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvaHcveGVuL3hlbl9jb21tb24uaCBiL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaAppbmRl eCBkY2U3NmVlLi4xZTA4Yjk4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW5fY29tbW9u LmgKKysrIGIvaW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oCkBAIC0yMCw2ICsyMCw4IEBACiAj aW5jbHVkZSAicWVtdS9xdWV1ZS5oIgogI2luY2x1ZGUgImh3L3hlbi90cmFjZS5oIgogCitleHRl cm4geGNfaW50ZXJmYWNlICp4ZW5feGM7CisKIC8qCiAgKiBXZSBkb24ndCBzdXBwb3J0IFhlbiBw cmlvciB0byA0LjIuMC4KICAqLwpAQCAtNzMsNiArNzUsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQg KnhlbmZvcmVpZ25tZW1vcnlfbWFwKHhjX2ludGVyZmFjZSAqaCwgdWludDMyX3QgZG9tLAogCiAj ZW5kaWYKIAorZXh0ZXJuIHhlbmZvcmVpZ25tZW1vcnlfaGFuZGxlICp4ZW5fZm1lbTsKKwogdm9p ZCBkZXN0cm95X2h2bV9kb21haW4oYm9vbCByZWJvb3QpOwogCiAvKiBzaHV0ZG93bi9kZXN0cm95 IGN1cnJlbnQgZG9tYWluIGJlY2F1c2Ugb2YgYW4gZXJyb3IgKi8KQEAgLTEwNyw4ICsxMTEsNyBA QCBzdGF0aWMgaW5saW5lIGludCB4ZW5fZ2V0X3ZtcG9ydF9yZWdzX3Bmbih4Y19pbnRlcmZhY2Ug KnhjLCBkb21pZF90IGRvbSwKIAogI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgaW50IHhlbl9nZXRf ZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyh4Y19pbnRlcmZhY2UgKnhjLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9tLAorc3Rh dGljIGlubGluZSBpbnQgeGVuX2dldF9kZWZhdWx0X2lvcmVxX3NlcnZlcl9pbmZvKGRvbWlkX3Qg ZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHhlbl9wZm5fdCAqaW9yZXFfcGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCAqYnVmaW9yZXFfcGZuLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2dGNobl9wb3J0X3QKQEAg LTExNyw3ICsxMjAsNyBAQCBzdGF0aWMgaW5saW5lIGludCB4ZW5fZ2V0X2RlZmF1bHRfaW9yZXFf c2VydmVyX2luZm8oeGNfaW50ZXJmYWNlICp4YywKICAgICB1bnNpZ25lZCBsb25nIHBhcmFtOwog ICAgIGludCByYzsKIAotICAgIHJjID0geGNfZ2V0X2h2bV9wYXJhbSh4YywgZG9tLCBIVk1fUEFS QU1fSU9SRVFfUEZOLCAmcGFyYW0pOworICAgIHJjID0geGNfZ2V0X2h2bV9wYXJhbSh4ZW5feGMs IGRvbSwgSFZNX1BBUkFNX0lPUkVRX1BGTiwgJnBhcmFtKTsKICAgICBpZiAocmMgPCAwKSB7CiAg ICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGdldCBIVk1fUEFSQU1fSU9SRVFfUEZO XG4iKTsKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtMTI1LDcgKzEyOCw3IEBAIHN0YXRpYyBpbmxp bmUgaW50IHhlbl9nZXRfZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyh4Y19pbnRlcmZhY2UgKnhj LAogCiAgICAgKmlvcmVxX3BmbiA9IHBhcmFtOwogCi0gICAgcmMgPSB4Y19nZXRfaHZtX3BhcmFt KHhjLCBkb20sIEhWTV9QQVJBTV9CVUZJT1JFUV9QRk4sICZwYXJhbSk7CisgICAgcmMgPSB4Y19n ZXRfaHZtX3BhcmFtKHhlbl94YywgZG9tLCBIVk1fUEFSQU1fQlVGSU9SRVFfUEZOLCAmcGFyYW0p OwogICAgIGlmIChyYyA8IDApIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8g Z2V0IEhWTV9QQVJBTV9CVUZJT1JFUV9QRk5cbiIpOwogICAgICAgICByZXR1cm4gLTE7CkBAIC0x MzMsNyArMTM2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgeGVuX2dldF9kZWZhdWx0X2lvcmVxX3Nl cnZlcl9pbmZvKHhjX2ludGVyZmFjZSAqeGMsCiAKICAgICAqYnVmaW9yZXFfcGZuID0gcGFyYW07 CiAKLSAgICByYyA9IHhjX2dldF9odm1fcGFyYW0oeGMsIGRvbSwgSFZNX1BBUkFNX0JVRklPUkVR X0VWVENITiwKKyAgICByYyA9IHhjX2dldF9odm1fcGFyYW0oeGVuX3hjLCBkb20sIEhWTV9QQVJB TV9CVUZJT1JFUV9FVlRDSE4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZwYXJhbSk7CiAg ICAgaWYgKHJjIDwgMCkgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBnZXQg SFZNX1BBUkFNX0JVRklPUkVRX0VWVENITlxuIik7CkBAIC0xNTYsNjMgKzE1OSw2NCBAQCBzdGF0 aWMgaW5saW5lIGludCB4ZW5fZ2V0X2RlZmF1bHRfaW9yZXFfc2VydmVyX2luZm8oeGNfaW50ZXJm YWNlICp4YywKIAogdHlwZWRlZiB1aW50MTZfdCBpb3NlcnZpZF90OwogCi1zdGF0aWMgaW5saW5l IHZvaWQgeGVuX21hcF9tZW1vcnlfc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRv bSwKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fbWFwX21lbW9yeV9zZWN0aW9uKGRvbWlkX3QgZG9t LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBp b3NlcnZpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9y eVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24pCiB7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5f dW5tYXBfbWVtb3J5X3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCitzdGF0 aWMgaW5saW5lIHZvaWQgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9uKGRvbWlkX3QgZG9tLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90IGlvc2Vy dmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlS ZWdpb25TZWN0aW9uICpzZWN0aW9uKQogewogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX21h cF9pb19zZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGlu ZSB2b2lkIHhlbl9tYXBfaW9fc2VjdGlvbihkb21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3NlcnZpZCwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKIHsK IH0KIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9pb19zZWN0aW9uKHhjX2ludGVyZmFj ZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9pb19zZWN0 aW9uKGRvbWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKIHsKIH0KIAotc3RhdGljIGlubGlu ZSB2b2lkIHhlbl9tYXBfcGNpZGV2KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3Rh dGljIGlubGluZSB2b2lkIHhlbl9tYXBfcGNpZGV2KGRvbWlkX3QgZG9tLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUENJRGV2aWNlICpwY2lfZGV2KQogewogfQogCi1zdGF0aWMg aW5saW5lIHZvaWQgeGVuX3VubWFwX3BjaWRldih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRv bSwKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfcGNpZGV2KGRvbWlkX3QgZG9tLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3NlcnZpZCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSURldmljZSAqcGNpX2RldikKIHsK IH0KIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl9jcmVhdGVfaW9yZXFfc2VydmVyKHhjX2ludGVy ZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl9jcmVhdGVfaW9y ZXFfc2VydmVyKGRvbWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlvc2VydmlkX3QgKmlvc2VydmlkKQogewogfQogCi1zdGF0aWMgaW5saW5lIHZv aWQgeGVuX2Rlc3Ryb3lfaW9yZXFfc2VydmVyKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9t LAorc3RhdGljIGlubGluZSB2b2lkIHhlbl9kZXN0cm95X2lvcmVxX3NlcnZlcihkb21pZF90IGRv bSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRf dCBpb3NlcnZpZCkKIHsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgeGVuX2dldF9pb3JlcV9zZXJ2 ZXJfaW5mbyh4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0YXRpYyBpbmxpbmUgaW50 IHhlbl9nZXRfaW9yZXFfc2VydmVyX2luZm8oZG9taWRfdCBkb20sCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCAqaW9yZXFfcGZu LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3Qg KmJ1ZmlvcmVxX3BmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZXZ0Y2huX3BvcnRfdCAqYnVmaW9yZXFfZXZ0Y2huKQogewotICAgIHJldHVybiB4ZW5fZ2V0 X2RlZmF1bHRfaW9yZXFfc2VydmVyX2luZm8oeGMsIGRvbSwgaW9yZXFfcGZuLCBidWZpb3JlcV9w Zm4sCisgICAgcmV0dXJuIHhlbl9nZXRfZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb20sIGlv cmVxX3BmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1 ZmlvcmVxX3BmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJ1ZmlvcmVxX2V2dGNobik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHhlbl9zZXRfaW9yZXFf c2VydmVyX3N0YXRlKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGlu ZSBpbnQgeGVuX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoZG9taWRfdCBkb20sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90IGlvc2VydmlkLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUp CiB7CkBAIC0yMjQsNyArMjI4LDcgQEAgc3RhdGljIGlubGluZSBpbnQgeGVuX3NldF9pb3JlcV9z ZXJ2ZXJfc3RhdGUoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAKIHN0YXRpYyBib29s IHVzZV9kZWZhdWx0X2lvcmVxX3NlcnZlcjsKIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBf bWVtb3J5X3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCitzdGF0aWMgaW5s aW5lIHZvaWQgeGVuX21hcF9tZW1vcnlfc2VjdGlvbihkb21pZF90IGRvbSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9u ICpzZWN0aW9uKQogewpAQCAtMjM3LDExICsyNDEsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIHhl bl9tYXBfbWVtb3J5X3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAgICAg fQogCiAgICAgdHJhY2VfeGVuX21hcF9tbWlvX3JhbmdlKGlvc2VydmlkLCBzdGFydF9hZGRyLCBl bmRfYWRkcik7Ci0gICAgeGNfaHZtX21hcF9pb19yYW5nZV90b19pb3JlcV9zZXJ2ZXIoeGMsIGRv bSwgaW9zZXJ2aWQsIDEsCisgICAgeGNfaHZtX21hcF9pb19yYW5nZV90b19pb3JlcV9zZXJ2ZXIo eGVuX3hjLCBkb20sIGlvc2VydmlkLCAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0YXJ0X2FkZHIsIGVuZF9hZGRyKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lk IHhlbl91bm1hcF9tZW1vcnlfc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwK K3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfbWVtb3J5X3NlY3Rpb24oZG9taWRfdCBkb20s CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3Qg aW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1l bW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24pCiB7CkBAIC0yNTMsMTMgKzI1NywxMiBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMs IGRvbWlkX3QgZG9tLAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0KICAgICB0cmFjZV94ZW5f dW5tYXBfbW1pb19yYW5nZShpb3NlcnZpZCwgc3RhcnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhj X2h2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4YywgZG9tLCBpb3NlcnZpZCwg MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfYWRk ciwgZW5kX2FkZHIpOworICAgIHhjX2h2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZl cih4ZW5feGMsIGRvbSwgaW9zZXJ2aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDEsIHN0YXJ0X2FkZHIsIGVuZF9hZGRyKTsKIH0KIAotc3RhdGljIGlubGlu ZSB2b2lkIHhlbl9tYXBfaW9fc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwK K3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fbWFwX2lvX3NlY3Rpb24oZG9taWRfdCBkb20sCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rpb24g KnNlY3Rpb24pCiB7CkBAIC0yNzEsMTMgKzI3NCwxMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgeGVu X21hcF9pb19zZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAogICAgICAgICBy ZXR1cm47CiAgICAgfQogCi0KICAgICB0cmFjZV94ZW5fbWFwX3BvcnRpb19yYW5nZShpb3NlcnZp ZCwgc3RhcnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV9tYXBfaW9fcmFuZ2VfdG9faW9y ZXFfc2VydmVyKHhjLCBkb20sIGlvc2VydmlkLCAwLAorICAgIHhjX2h2bV9tYXBfaW9fcmFuZ2Vf dG9faW9yZXFfc2VydmVyKHhlbl94YywgZG9tLCBpb3NlcnZpZCwgMCwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydF9hZGRyLCBlbmRfYWRkcik7CiB9CiAKLXN0 YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfaW9fc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBk b21pZF90IGRvbSwKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfaW9fc2VjdGlvbihkb21p ZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZp ZF90IGlvc2VydmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1l bW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24pCiB7CkBAIC0yOTAsMTEgKzI5MiwxMSBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgeGVuX3VubWFwX2lvX3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9t aWRfdCBkb20sCiAgICAgfQogCiAgICAgdHJhY2VfeGVuX3VubWFwX3BvcnRpb19yYW5nZShpb3Nl cnZpZCwgc3RhcnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV91bm1hcF9pb19yYW5nZV9m cm9tX2lvcmVxX3NlcnZlcih4YywgZG9tLCBpb3NlcnZpZCwgMCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfYWRkciwgZW5kX2FkZHIpOworICAgIHhj X2h2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4ZW5feGMsIGRvbSwgaW9zZXJ2 aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHN0YXJ0 X2FkZHIsIGVuZF9hZGRyKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfcGNpZGV2 KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl9t YXBfcGNpZGV2KGRvbWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UENJRGV2aWNlICpwY2lfZGV2KQogewpAQCAtMzA0LDEzICszMDYsMTMgQEAgc3RhdGljIGlubGlu ZSB2b2lkIHhlbl9tYXBfcGNpZGV2KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAogCiAg ICAgdHJhY2VfeGVuX21hcF9wY2lkZXYoaW9zZXJ2aWQsIHBjaV9idXNfbnVtKHBjaV9kZXYtPmJ1 cyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX1NMT1QocGNpX2Rldi0+ZGV2Zm4pLCBQ Q0lfRlVOQyhwY2lfZGV2LT5kZXZmbikpOwotICAgIHhjX2h2bV9tYXBfcGNpZGV2X3RvX2lvcmVx X3NlcnZlcih4YywgZG9tLCBpb3NlcnZpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMCwgcGNpX2J1c19udW0ocGNpX2Rldi0+YnVzKSwKKyAgICB4Y19odm1fbWFwX3Bj aWRldl90b19pb3JlcV9zZXJ2ZXIoeGVuX3hjLCBkb20sIGlvc2VydmlkLCAwLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY2lfYnVzX251bShwY2lfZGV2LT5idXMpLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfU0xPVChwY2lfZGV2LT5k ZXZmbiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9GVU5DKHBj aV9kZXYtPmRldmZuKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfcGNpZGV2 KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl91 bm1hcF9wY2lkZXYoZG9taWRfdCBkb20sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpb3NlcnZpZF90IGlvc2VydmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUENJRGV2aWNlICpwY2lfZGV2KQogewpAQCAtMzIwLDE2ICszMjIsMTcgQEAgc3RhdGlj IGlubGluZSB2b2lkIHhlbl91bm1hcF9wY2lkZXYoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBk b20sCiAKICAgICB0cmFjZV94ZW5fdW5tYXBfcGNpZGV2KGlvc2VydmlkLCBwY2lfYnVzX251bShw Y2lfZGV2LT5idXMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX1NMT1QocGNpX2Rl di0+ZGV2Zm4pLCBQQ0lfRlVOQyhwY2lfZGV2LT5kZXZmbikpOwotICAgIHhjX2h2bV91bm1hcF9w Y2lkZXZfZnJvbV9pb3JlcV9zZXJ2ZXIoeGMsIGRvbSwgaW9zZXJ2aWQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBwY2lfYnVzX251bShwY2lfZGV2LT5idXMp LAorICAgIHhjX2h2bV91bm1hcF9wY2lkZXZfZnJvbV9pb3JlcV9zZXJ2ZXIoeGVuX3hjLCBkb20s IGlvc2VydmlkLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGNpX2J1c19udW0ocGNpX2Rldi0+YnVzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBDSV9TTE9UKHBjaV9kZXYtPmRldmZuKSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9GVU5DKHBjaV9kZXYtPmRldmZuKSk7CiB9CiAK LXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fY3JlYXRlX2lvcmVxX3NlcnZlcih4Y19pbnRlcmZhY2Ug KnhjLCBkb21pZF90IGRvbSwKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fY3JlYXRlX2lvcmVxX3Nl cnZlcihkb21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpb3NlcnZpZF90ICppb3NlcnZpZCkKIHsKLSAgICBpbnQgcmMgPSB4Y19odm1fY3JlYXRl X2lvcmVxX3NlcnZlcih4YywgZG9tLCBIVk1fSU9SRVFTUlZfQlVGSU9SRVFfQVRPTUlDLAorICAg IGludCByYyA9IHhjX2h2bV9jcmVhdGVfaW9yZXFfc2VydmVyKHhlbl94YywgZG9tLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhWTV9JT1JFUVNSVl9CVUZJT1JFUV9B VE9NSUMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWQp OwogCiAgICAgaWYgKHJjID09IDApIHsKQEAgLTM0Miw3ICszNDUsNyBAQCBzdGF0aWMgaW5saW5l IHZvaWQgeGVuX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBk b20sCiAgICAgdHJhY2VfeGVuX2RlZmF1bHRfaW9yZXFfc2VydmVyKCk7CiB9CiAKLXN0YXRpYyBp bmxpbmUgdm9pZCB4ZW5fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoeGNfaW50ZXJmYWNlICp4YywgZG9t aWRfdCBkb20sCitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX2Rlc3Ryb3lfaW9yZXFfc2VydmVyKGRv bWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp b3NlcnZpZF90IGlvc2VydmlkKQogewogICAgIGlmICh1c2VfZGVmYXVsdF9pb3JlcV9zZXJ2ZXIp IHsKQEAgLTM1MCwyNyArMzUzLDI3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZGVzdHJveV9p b3JlcV9zZXJ2ZXIoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAgICAgfQogCiAgICAg dHJhY2VfeGVuX2lvcmVxX3NlcnZlcl9kZXN0cm95KGlvc2VydmlkKTsKLSAgICB4Y19odm1fZGVz dHJveV9pb3JlcV9zZXJ2ZXIoeGMsIGRvbSwgaW9zZXJ2aWQpOworICAgIHhjX2h2bV9kZXN0cm95 X2lvcmVxX3NlcnZlcih4ZW5feGMsIGRvbSwgaW9zZXJ2aWQpOwogfQogCi1zdGF0aWMgaW5saW5l IGludCB4ZW5fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3Qg ZG9tLAorc3RhdGljIGlubGluZSBpbnQgeGVuX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb21pZF90 IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2 aWRfdCBpb3NlcnZpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgeGVuX3Bmbl90ICppb3JlcV9wZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHhlbl9wZm5fdCAqYnVmaW9yZXFfcGZuLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBldnRjaG5fcG9ydF90ICpidWZpb3JlcV9ldnRjaG4p CiB7CiAgICAgaWYgKHVzZV9kZWZhdWx0X2lvcmVxX3NlcnZlcikgewotICAgICAgICByZXR1cm4g eGVuX2dldF9kZWZhdWx0X2lvcmVxX3NlcnZlcl9pbmZvKHhjLCBkb20sIGlvcmVxX3BmbiwKKyAg ICAgICAgcmV0dXJuIHhlbl9nZXRfZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb20sIGlvcmVx X3BmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi dWZpb3JlcV9wZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYnVmaW9yZXFfZXZ0Y2huKTsKICAgICB9CiAKLSAgICByZXR1cm4geGNfaHZtX2dldF9p b3JlcV9zZXJ2ZXJfaW5mbyh4YywgZG9tLCBpb3NlcnZpZCwKKyAgICByZXR1cm4geGNfaHZtX2dl dF9pb3JlcV9zZXJ2ZXJfaW5mbyh4ZW5feGMsIGRvbSwgaW9zZXJ2aWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9yZXFfcGZuLCBidWZpb3JlcV9wZm4sCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmaW9yZXFfZXZ0Y2huKTsKIH0K IAotc3RhdGljIGlubGluZSBpbnQgeGVuX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoeGNfaW50ZXJm YWNlICp4YywgZG9taWRfdCBkb20sCitzdGF0aWMgaW5saW5lIGludCB4ZW5fc2V0X2lvcmVxX3Nl cnZlcl9zdGF0ZShkb21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBib29sIGVuYWJsZSkKIHsKQEAgLTM3OSw3ICszODIsOCBA QCBzdGF0aWMgaW5saW5lIGludCB4ZW5fc2V0X2lvcmVxX3NlcnZlcl9zdGF0ZSh4Y19pbnRlcmZh Y2UgKnhjLCBkb21pZF90IGRvbSwKICAgICB9CiAKICAgICB0cmFjZV94ZW5faW9yZXFfc2VydmVy X3N0YXRlKGlvc2VydmlkLCBlbmFibGUpOwotICAgIHJldHVybiB4Y19odm1fc2V0X2lvcmVxX3Nl cnZlcl9zdGF0ZSh4YywgZG9tLCBpb3NlcnZpZCwgZW5hYmxlKTsKKyAgICByZXR1cm4geGNfaHZt X3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoeGVuX3hjLCBkb20sIGlvc2VydmlkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUpOwogfQogCiAjZW5kaWYKZGlm ZiAtLWdpdCBhL3hlbi1jb21tb24uYyBiL3hlbi1jb21tb24uYwppbmRleCBmZDJjOTI4Li43MDNl N2E1IDEwMDY0NAotLS0gYS94ZW4tY29tbW9uLmMKKysrIGIveGVuLWNvbW1vbi5jCkBAIC0yNSw2 ICsyNSw5IEBACiAgICAgZG8geyB9IHdoaWxlICgwKQogI2VuZGlmCiAKK3hjX2ludGVyZmFjZSAq eGVuX3hjOworeGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtOworCiBzdGF0aWMgaW50 IHN0b3JlX2Rldl9pbmZvKGludCBkb21pZCwgQ2hhcmRldiAqY3MsIGNvbnN0IGNoYXIgKnN0cmlu ZykKIHsKICAgICBzdHJ1Y3QgeHNfaGFuZGxlICp4cyA9IE5VTEw7CmRpZmYgLS1naXQgYS94ZW4t aHZtLmMgYi94ZW4taHZtLmMKaW5kZXggNTA0M2JlYi4uZGJiOGM2NiAxMDA2NDQKLS0tIGEveGVu LWh2bS5jCisrKyBiL3hlbi1odm0uYwpAQCAtNDU0LDEwICs0NTQsMTAgQEAgc3RhdGljIHZvaWQg eGVuX3NldF9tZW1vcnkoc3RydWN0IE1lbW9yeUxpc3RlbmVyICpsaXN0ZW5lciwKICAgICAgICAg cmV0dXJuOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChhZGQpIHsKLSAgICAgICAgICAgIHhl bl9tYXBfbWVtb3J5X3NlY3Rpb24oeGVuX3hjLCB4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwK KyAgICAgICAgICAgIHhlbl9tYXBfbWVtb3J5X3NlY3Rpb24oeGVuX2RvbWlkLCBzdGF0ZS0+aW9z ZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24pOwogICAg ICAgICB9IGVsc2UgewotICAgICAgICAgICAgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9uKHhlbl94 YywgeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCisgICAgICAgICAgICB4ZW5fdW5tYXBfbWVt b3J5X3NlY3Rpb24oeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbik7CiAgICAgICAgIH0KICAgICB9CkBAIC01MjEs NyArNTIxLDcgQEAgc3RhdGljIHZvaWQgeGVuX2lvX2FkZChNZW1vcnlMaXN0ZW5lciAqbGlzdGVu ZXIsCiAKICAgICBtZW1vcnlfcmVnaW9uX3JlZihtcik7CiAKLSAgICB4ZW5fbWFwX2lvX3NlY3Rp b24oeGVuX3hjLCB4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwgc2VjdGlvbik7CisgICAgeGVu X21hcF9pb19zZWN0aW9uKHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBzZWN0aW9uKTsKIH0K IAogc3RhdGljIHZvaWQgeGVuX2lvX2RlbChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCkBAIC01 MzQsNyArNTM0LDcgQEAgc3RhdGljIHZvaWQgeGVuX2lvX2RlbChNZW1vcnlMaXN0ZW5lciAqbGlz dGVuZXIsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB4ZW5fdW5tYXBfaW9fc2VjdGlv bih4ZW5feGMsIHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBzZWN0aW9uKTsKKyAgICB4ZW5f dW5tYXBfaW9fc2VjdGlvbih4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwgc2VjdGlvbik7CiAK ICAgICBtZW1vcnlfcmVnaW9uX3VucmVmKG1yKTsKIH0KQEAgLTU0Nyw3ICs1NDcsNyBAQCBzdGF0 aWMgdm9pZCB4ZW5fZGV2aWNlX3JlYWxpemUoRGV2aWNlTGlzdGVuZXIgKmxpc3RlbmVyLAogICAg IGlmIChvYmplY3RfZHluYW1pY19jYXN0KE9CSkVDVChkZXYpLCBUWVBFX1BDSV9ERVZJQ0UpKSB7 CiAgICAgICAgIFBDSURldmljZSAqcGNpX2RldiA9IFBDSV9ERVZJQ0UoZGV2KTsKIAotICAgICAg ICB4ZW5fbWFwX3BjaWRldih4ZW5feGMsIHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBwY2lf ZGV2KTsKKyAgICAgICAgeGVuX21hcF9wY2lkZXYoeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQs IHBjaV9kZXYpOwogICAgIH0KIH0KIApAQCAtNTU5LDcgKzU1OSw3IEBAIHN0YXRpYyB2b2lkIHhl bl9kZXZpY2VfdW5yZWFsaXplKERldmljZUxpc3RlbmVyICpsaXN0ZW5lciwKICAgICBpZiAob2Jq ZWN0X2R5bmFtaWNfY2FzdChPQkpFQ1QoZGV2KSwgVFlQRV9QQ0lfREVWSUNFKSkgewogICAgICAg ICBQQ0lEZXZpY2UgKnBjaV9kZXYgPSBQQ0lfREVWSUNFKGRldik7CiAKLSAgICAgICAgeGVuX3Vu bWFwX3BjaWRldih4ZW5feGMsIHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBwY2lfZGV2KTsK KyAgICAgICAgeGVuX3VubWFwX3BjaWRldih4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwgcGNp X2Rldik7CiAgICAgfQogfQogCkBAIC0xMTM5LDcgKzExMzksNyBAQCBzdGF0aWMgdm9pZCB4ZW5f aHZtX2NoYW5nZV9zdGF0ZV9oYW5kbGVyKHZvaWQgKm9wYXF1ZSwgaW50IHJ1bm5pbmcsCiAgICAg ICAgIHhlbl9tYWluX2xvb3BfcHJlcGFyZShzdGF0ZSk7CiAgICAgfQogCi0gICAgeGVuX3NldF9p b3JlcV9zZXJ2ZXJfc3RhdGUoeGVuX3hjLCB4ZW5fZG9taWQsCisgICAgeGVuX3NldF9pb3JlcV9z ZXJ2ZXJfc3RhdGUoeGVuX2RvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 YXRlLT5pb3NlcnZpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocnN0YXRlID09 IFJVTl9TVEFURV9SVU5OSU5HKSk7CiB9CkBAIC0xMjI3LDcgKzEyMjcsNyBAQCB2b2lkIHhlbl9o dm1faW5pdChQQ01hY2hpbmVTdGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICoqcmFtX21lbW9yeSkK ICAgICAgICAgZ290byBlcnI7CiAgICAgfQogCi0gICAgeGVuX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIo eGVuX3hjLCB4ZW5fZG9taWQsICZzdGF0ZS0+aW9zZXJ2aWQpOworICAgIHhlbl9jcmVhdGVfaW9y ZXFfc2VydmVyKHhlbl9kb21pZCwgJnN0YXRlLT5pb3NlcnZpZCk7CiAKICAgICBzdGF0ZS0+ZXhp dC5ub3RpZnkgPSB4ZW5fZXhpdF9ub3RpZmllcjsKICAgICBxZW11X2FkZF9leGl0X25vdGlmaWVy KCZzdGF0ZS0+ZXhpdCk7CkBAIC0xMjM4LDcgKzEyMzgsNyBAQCB2b2lkIHhlbl9odm1faW5pdChQ Q01hY2hpbmVTdGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICoqcmFtX21lbW9yeSkKICAgICBzdGF0 ZS0+d2FrZXVwLm5vdGlmeSA9IHhlbl93YWtldXBfbm90aWZpZXI7CiAgICAgcWVtdV9yZWdpc3Rl cl93YWtldXBfbm90aWZpZXIoJnN0YXRlLT53YWtldXApOwogCi0gICAgcmMgPSB4ZW5fZ2V0X2lv cmVxX3NlcnZlcl9pbmZvKHhlbl94YywgeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCisgICAg cmMgPSB4ZW5fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKHhlbl9kb21pZCwgc3RhdGUtPmlvc2Vydmlk LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW9yZXFfcGZuLCAmYnVmaW9y ZXFfcGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYnVmaW9yZXFfZXZ0 Y2huKTsKICAgICBpZiAocmMgPCAwKSB7CkBAIC0xMjg4LDcgKzEyODgsNyBAQCB2b2lkIHhlbl9o dm1faW5pdChQQ01hY2hpbmVTdGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICoqcmFtX21lbW9yeSkK ICAgICAvKiBOb3RlOiBjcHVzIGlzIGVtcHR5IGF0IHRoaXMgcG9pbnQgaW4gaW5pdCAqLwogICAg IHN0YXRlLT5jcHVfYnlfdmNwdV9pZCA9IGdfbWFsbG9jMChtYXhfY3B1cyAqIHNpemVvZihDUFVT dGF0ZSAqKSk7CiAKLSAgICByYyA9IHhlbl9zZXRfaW9yZXFfc2VydmVyX3N0YXRlKHhlbl94Yywg eGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsIHRydWUpOworICAgIHJjID0geGVuX3NldF9pb3Jl cV9zZXJ2ZXJfc3RhdGUoeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsIHRydWUpOwogICAgIGlm IChyYyA8IDApIHsKICAgICAgICAgZXJyb3JfcmVwb3J0KCJmYWlsZWQgdG8gZW5hYmxlIGlvcmVx IHNlcnZlciBpbmZvOiBlcnJvciAlZCBoYW5kbGU9JXAiLAogICAgICAgICAgICAgICAgICAgICAg ZXJybm8sIHhlbl94Yyk7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=