From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH 1/5] xen: make use of xen_xc implicit in xen_common.h inlines Date: Thu, 23 Feb 2017 14:53:51 +0000 Message-ID: <1487861635-17560-2-git-send-email-paul.durrant@citrix.com> References: <1487861635-17560-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 1cgumQ-0001Xv-VB for xen-devel@lists.xenproject.org; Thu, 23 Feb 2017 14:54:03 +0000 In-Reply-To: <1487861635-17560-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: Anthony Perard , Paul Durrant , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org RG9pbmcgdGhpcyB3aWxsIG1ha2UgdGhlIHRyYW5zaXRpb24gdG8gdXNpbmcgdGhlIG5ldyBsaWJ4 ZW5kZXZpY2Vtb2RlbAppbnRlcmZhY2UgbGVzcyBpbnRydXNpdmUgb24gdGhlIGNhbGxlcnMgb2Yg dGhlc2UgZnVuY3Rpb25zLCBzaW5jZSB1c2luZwp0aGUgbmV3IGxpYnJhcnkgd2lsbCByZXF1aXJl IGEgY2hhbmdlIG9mIGhhbmRsZS4KCk5PVEU6IFRoZSBwYXRjaCBhbHNvIG1vdmVzIHRoZSAnZXh0 ZXJucycgZm9yIHhlbl94YyBhbmQgeGVuX2ZtZW0gZnJvbQogICAgICB4ZW5fYmFja2VuZC5oIHRv IHhlbl9jb21tb24uaCwgYW5kIHRoZSBkZWNsYXJhdGlvbnMgZnJvbQogICAgICB4ZW5fYmFja2Vu ZC5jIHRvIHhlbi1jb21tb24uYywgd2hpY2ggaXMgd2hlcmUgdGhleSBiZWxvbmcuCgpTaWduZWQt b2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KQ2M6IFN0 ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEFudGhvbnkgUGVy YXJkIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgotLS0KIGh3L3hlbi94ZW5fYmFja2VuZC5j ICAgICAgICAgfCAgMiAtCiBpbmNsdWRlL2h3L3hlbi94ZW5fYmFja2VuZC5oIHwgIDIgLQogaW5j bHVkZS9ody94ZW4veGVuX2NvbW1vbi5oICB8IDkwICsrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4tY29tbW9uLmMgICAgICAgICAgICAgICAgIHwgIDMgKysK IHhlbi1odm0uYyAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrKy0tLS0tCiA1IGZpbGVzIGNo YW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDU3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3 L3hlbi94ZW5fYmFja2VuZC5jIGIvaHcveGVuL3hlbl9iYWNrZW5kLmMKaW5kZXggNmMyMWMzNy4u ZDM0YzQ5ZSAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9iYWNrZW5kLmMKKysrIGIvaHcveGVuL3hl bl9iYWNrZW5kLmMKQEAgLTQzLDggKzQzLDYgQEAgQnVzU3RhdGUgKnhlbl9zeXNidXM7CiAvKiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tICovCiAKIC8qIHB1YmxpYyAqLwoteGNfaW50ZXJmYWNlICp4ZW5feGMgPSBOVUxMOwoteGVu Zm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtID0gTlVMTDsKIHN0cnVjdCB4c19oYW5kbGUg KnhlbnN0b3JlID0gTlVMTDsKIGNvbnN0IGNoYXIgKnhlbl9wcm90b2NvbDsKIApkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9ody94ZW4veGVuX2JhY2tlbmQuaCBiL2luY2x1ZGUvaHcveGVuL3hlbl9iYWNr ZW5kLmgKaW5kZXggNGY0Nzk5YS4uMzA4MTFhMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ody94ZW4v eGVuX2JhY2tlbmQuaAorKysgYi9pbmNsdWRlL2h3L3hlbi94ZW5fYmFja2VuZC5oCkBAIC0xNCw4 ICsxNCw2IEBACiAgICAgT0JKRUNUX0NIRUNLKFhlbkRldmljZSwgKG9iaiksIFRZUEVfWEVOQkFD S0VORCkKIAogLyogdmFyaWFibGVzICovCi1leHRlcm4geGNfaW50ZXJmYWNlICp4ZW5feGM7Ci1l eHRlcm4geGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtOwogZXh0ZXJuIHN0cnVjdCB4 c19oYW5kbGUgKnhlbnN0b3JlOwogZXh0ZXJuIGNvbnN0IGNoYXIgKnhlbl9wcm90b2NvbDsKIGV4 dGVybiBEZXZpY2VTdGF0ZSAqeGVuX3N5c2RldjsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVu L3hlbl9jb21tb24uaCBiL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaAppbmRleCBkY2U3NmVl Li4xZTA4Yjk4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW5fY29tbW9uLmgKKysrIGIv aW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSAi cWVtdS9xdWV1ZS5oIgogI2luY2x1ZGUgImh3L3hlbi90cmFjZS5oIgogCitleHRlcm4geGNfaW50 ZXJmYWNlICp4ZW5feGM7CisKIC8qCiAgKiBXZSBkb24ndCBzdXBwb3J0IFhlbiBwcmlvciB0byA0 LjIuMC4KICAqLwpAQCAtNzMsNiArNzUsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgKnhlbmZvcmVp Z25tZW1vcnlfbWFwKHhjX2ludGVyZmFjZSAqaCwgdWludDMyX3QgZG9tLAogCiAjZW5kaWYKIAor ZXh0ZXJuIHhlbmZvcmVpZ25tZW1vcnlfaGFuZGxlICp4ZW5fZm1lbTsKKwogdm9pZCBkZXN0cm95 X2h2bV9kb21haW4oYm9vbCByZWJvb3QpOwogCiAvKiBzaHV0ZG93bi9kZXN0cm95IGN1cnJlbnQg ZG9tYWluIGJlY2F1c2Ugb2YgYW4gZXJyb3IgKi8KQEAgLTEwNyw4ICsxMTEsNyBAQCBzdGF0aWMg aW5saW5lIGludCB4ZW5fZ2V0X3ZtcG9ydF9yZWdzX3Bmbih4Y19pbnRlcmZhY2UgKnhjLCBkb21p ZF90IGRvbSwKIAogI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgaW50IHhlbl9nZXRfZGVmYXVsdF9p b3JlcV9zZXJ2ZXJfaW5mbyh4Y19pbnRlcmZhY2UgKnhjLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGlu ZSBpbnQgeGVuX2dldF9kZWZhdWx0X2lvcmVxX3NlcnZlcl9pbmZvKGRvbWlkX3QgZG9tLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5f dCAqaW9yZXFfcGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHhlbl9wZm5fdCAqYnVmaW9yZXFfcGZuLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2dGNobl9wb3J0X3QKQEAgLTExNyw3ICsx MjAsNyBAQCBzdGF0aWMgaW5saW5lIGludCB4ZW5fZ2V0X2RlZmF1bHRfaW9yZXFfc2VydmVyX2lu Zm8oeGNfaW50ZXJmYWNlICp4YywKICAgICB1bnNpZ25lZCBsb25nIHBhcmFtOwogICAgIGludCBy YzsKIAotICAgIHJjID0geGNfZ2V0X2h2bV9wYXJhbSh4YywgZG9tLCBIVk1fUEFSQU1fSU9SRVFf UEZOLCAmcGFyYW0pOworICAgIHJjID0geGNfZ2V0X2h2bV9wYXJhbSh4ZW5feGMsIGRvbSwgSFZN X1BBUkFNX0lPUkVRX1BGTiwgJnBhcmFtKTsKICAgICBpZiAocmMgPCAwKSB7CiAgICAgICAgIGZw cmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGdldCBIVk1fUEFSQU1fSU9SRVFfUEZOXG4iKTsKICAg ICAgICAgcmV0dXJuIC0xOwpAQCAtMTI1LDcgKzEyOCw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHhl bl9nZXRfZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyh4Y19pbnRlcmZhY2UgKnhjLAogCiAgICAg KmlvcmVxX3BmbiA9IHBhcmFtOwogCi0gICAgcmMgPSB4Y19nZXRfaHZtX3BhcmFtKHhjLCBkb20s IEhWTV9QQVJBTV9CVUZJT1JFUV9QRk4sICZwYXJhbSk7CisgICAgcmMgPSB4Y19nZXRfaHZtX3Bh cmFtKHhlbl94YywgZG9tLCBIVk1fUEFSQU1fQlVGSU9SRVFfUEZOLCAmcGFyYW0pOwogICAgIGlm IChyYyA8IDApIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gZ2V0IEhWTV9Q QVJBTV9CVUZJT1JFUV9QRk5cbiIpOwogICAgICAgICByZXR1cm4gLTE7CkBAIC0xMzMsNyArMTM2 LDcgQEAgc3RhdGljIGlubGluZSBpbnQgeGVuX2dldF9kZWZhdWx0X2lvcmVxX3NlcnZlcl9pbmZv KHhjX2ludGVyZmFjZSAqeGMsCiAKICAgICAqYnVmaW9yZXFfcGZuID0gcGFyYW07CiAKLSAgICBy YyA9IHhjX2dldF9odm1fcGFyYW0oeGMsIGRvbSwgSFZNX1BBUkFNX0JVRklPUkVRX0VWVENITiwK KyAgICByYyA9IHhjX2dldF9odm1fcGFyYW0oeGVuX3hjLCBkb20sIEhWTV9QQVJBTV9CVUZJT1JF UV9FVlRDSE4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZwYXJhbSk7CiAgICAgaWYgKHJj IDwgMCkgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBnZXQgSFZNX1BBUkFN X0JVRklPUkVRX0VWVENITlxuIik7CkBAIC0xNTYsNjMgKzE1OSw2NCBAQCBzdGF0aWMgaW5saW5l IGludCB4ZW5fZ2V0X2RlZmF1bHRfaW9yZXFfc2VydmVyX2luZm8oeGNfaW50ZXJmYWNlICp4YywK IAogdHlwZWRlZiB1aW50MTZfdCBpb3NlcnZpZF90OwogCi1zdGF0aWMgaW5saW5lIHZvaWQgeGVu X21hcF9tZW1vcnlfc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0YXRp YyBpbmxpbmUgdm9pZCB4ZW5fbWFwX21lbW9yeV9zZWN0aW9uKGRvbWlkX3QgZG9tLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3NlcnZpZCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNl Y3Rpb24gKnNlY3Rpb24pCiB7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfbWVt b3J5X3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCitzdGF0aWMgaW5saW5l IHZvaWQgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9uKGRvbWlkX3QgZG9tLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90IGlvc2VydmlkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0 aW9uICpzZWN0aW9uKQogewogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX21hcF9pb19zZWN0 aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhl bl9tYXBfaW9fc2VjdGlvbihkb21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3NlcnZpZCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKIHsKIH0KIAotc3Rh dGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9pb19zZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRv bWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9pb19zZWN0aW9uKGRvbWlk X3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2Vydmlk X3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVt b3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKIHsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHhl bl9tYXBfcGNpZGV2KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGlu ZSB2b2lkIHhlbl9tYXBfcGNpZGV2KGRvbWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUENJRGV2aWNlICpwY2lfZGV2KQogewogfQogCi1zdGF0aWMgaW5saW5lIHZv aWQgeGVuX3VubWFwX3BjaWRldih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0YXRp YyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfcGNpZGV2KGRvbWlkX3QgZG9tLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3NlcnZpZCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBDSURldmljZSAqcGNpX2RldikKIHsKIH0KIAotc3Rh dGljIGlubGluZSB2b2lkIHhlbl9jcmVhdGVfaW9yZXFfc2VydmVyKHhjX2ludGVyZmFjZSAqeGMs IGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl9jcmVhdGVfaW9yZXFfc2VydmVy KGRvbWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlvc2VydmlkX3QgKmlvc2VydmlkKQogewogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX2Rl c3Ryb3lfaW9yZXFfc2VydmVyKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGlj IGlubGluZSB2b2lkIHhlbl9kZXN0cm95X2lvcmVxX3NlcnZlcihkb21pZF90IGRvbSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3NlcnZp ZCkKIHsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgeGVuX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyh4 Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0YXRpYyBpbmxpbmUgaW50IHhlbl9nZXRf aW9yZXFfc2VydmVyX2luZm8oZG9taWRfdCBkb20sCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCAqaW9yZXFfcGZuLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgKmJ1ZmlvcmVx X3BmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2hu X3BvcnRfdCAqYnVmaW9yZXFfZXZ0Y2huKQogewotICAgIHJldHVybiB4ZW5fZ2V0X2RlZmF1bHRf aW9yZXFfc2VydmVyX2luZm8oeGMsIGRvbSwgaW9yZXFfcGZuLCBidWZpb3JlcV9wZm4sCisgICAg cmV0dXJuIHhlbl9nZXRfZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb20sIGlvcmVxX3BmbiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmlvcmVxX3Bm biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmlvcmVx X2V2dGNobik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHhlbl9zZXRfaW9yZXFfc2VydmVyX3N0 YXRlKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSBpbnQgeGVu X3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoZG9taWRfdCBkb20sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90IGlvc2VydmlkLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUpCiB7CkBAIC0y MjQsNyArMjI4LDcgQEAgc3RhdGljIGlubGluZSBpbnQgeGVuX3NldF9pb3JlcV9zZXJ2ZXJfc3Rh dGUoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAKIHN0YXRpYyBib29sIHVzZV9kZWZh dWx0X2lvcmVxX3NlcnZlcjsKIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfbWVtb3J5X3Nl Y3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCitzdGF0aWMgaW5saW5lIHZvaWQg eGVuX21hcF9tZW1vcnlfc2VjdGlvbihkb21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9u KQogewpAQCAtMjM3LDExICsyNDEsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfbWVt b3J5X3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAgICAgfQogCiAgICAg dHJhY2VfeGVuX21hcF9tbWlvX3JhbmdlKGlvc2VydmlkLCBzdGFydF9hZGRyLCBlbmRfYWRkcik7 Ci0gICAgeGNfaHZtX21hcF9pb19yYW5nZV90b19pb3JlcV9zZXJ2ZXIoeGMsIGRvbSwgaW9zZXJ2 aWQsIDEsCisgICAgeGNfaHZtX21hcF9pb19yYW5nZV90b19pb3JlcV9zZXJ2ZXIoeGVuX3hjLCBk b20sIGlvc2VydmlkLCAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0YXJ0X2FkZHIsIGVuZF9hZGRyKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1h cF9tZW1vcnlfc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0YXRpYyBp bmxpbmUgdm9pZCB4ZW5fdW5tYXBfbWVtb3J5X3NlY3Rpb24oZG9taWRfdCBkb20sCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lv blNlY3Rpb24gKnNlY3Rpb24pCiB7CkBAIC0yNTMsMTMgKzI1NywxMiBAQCBzdGF0aWMgaW5saW5l IHZvaWQgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3Qg ZG9tLAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0KICAgICB0cmFjZV94ZW5fdW5tYXBfbW1p b19yYW5nZShpb3NlcnZpZCwgc3RhcnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV91bm1h cF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4YywgZG9tLCBpb3NlcnZpZCwgMSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfYWRkciwgZW5kX2Fk ZHIpOworICAgIHhjX2h2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4ZW5feGMs IGRvbSwgaW9zZXJ2aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDEsIHN0YXJ0X2FkZHIsIGVuZF9hZGRyKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHhl bl9tYXBfaW9fc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0YXRpYyBp bmxpbmUgdm9pZCB4ZW5fbWFwX2lvX3NlY3Rpb24oZG9taWRfdCBkb20sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24p CiB7CkBAIC0yNzEsMTMgKzI3NCwxMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgeGVuX21hcF9pb19z ZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAogICAgICAgICByZXR1cm47CiAg ICAgfQogCi0KICAgICB0cmFjZV94ZW5fbWFwX3BvcnRpb19yYW5nZShpb3NlcnZpZCwgc3RhcnRf YWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV9tYXBfaW9fcmFuZ2VfdG9faW9yZXFfc2VydmVy KHhjLCBkb20sIGlvc2VydmlkLCAwLAorICAgIHhjX2h2bV9tYXBfaW9fcmFuZ2VfdG9faW9yZXFf c2VydmVyKHhlbl94YywgZG9tLCBpb3NlcnZpZCwgMCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdGFydF9hZGRyLCBlbmRfYWRkcik7CiB9CiAKLXN0YXRpYyBpbmxp bmUgdm9pZCB4ZW5fdW5tYXBfaW9fc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRv bSwKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfaW9fc2VjdGlvbihkb21pZF90IGRvbSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90IGlvc2Vy dmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lv blNlY3Rpb24gKnNlY3Rpb24pCiB7CkBAIC0yOTAsMTEgKzI5MiwxMSBAQCBzdGF0aWMgaW5saW5l IHZvaWQgeGVuX3VubWFwX2lvX3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20s CiAgICAgfQogCiAgICAgdHJhY2VfeGVuX3VubWFwX3BvcnRpb19yYW5nZShpb3NlcnZpZCwgc3Rh cnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVx X3NlcnZlcih4YywgZG9tLCBpb3NlcnZpZCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RhcnRfYWRkciwgZW5kX2FkZHIpOworICAgIHhjX2h2bV91bm1h cF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4ZW5feGMsIGRvbSwgaW9zZXJ2aWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHN0YXJ0X2FkZHIsIGVu ZF9hZGRyKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfcGNpZGV2KHhjX2ludGVy ZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfcGNpZGV2 KGRvbWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2Vydmlk X3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRGV2aWNl ICpwY2lfZGV2KQogewpAQCAtMzA0LDEzICszMDYsMTMgQEAgc3RhdGljIGlubGluZSB2b2lkIHhl bl9tYXBfcGNpZGV2KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAogCiAgICAgdHJhY2Vf eGVuX21hcF9wY2lkZXYoaW9zZXJ2aWQsIHBjaV9idXNfbnVtKHBjaV9kZXYtPmJ1cyksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgUENJX1NMT1QocGNpX2Rldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhw Y2lfZGV2LT5kZXZmbikpOwotICAgIHhjX2h2bV9tYXBfcGNpZGV2X3RvX2lvcmVxX3NlcnZlcih4 YywgZG9tLCBpb3NlcnZpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MCwgcGNpX2J1c19udW0ocGNpX2Rldi0+YnVzKSwKKyAgICB4Y19odm1fbWFwX3BjaWRldl90b19p b3JlcV9zZXJ2ZXIoeGVuX3hjLCBkb20sIGlvc2VydmlkLCAwLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwY2lfYnVzX251bShwY2lfZGV2LT5idXMpLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfU0xPVChwY2lfZGV2LT5kZXZmbiksCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9GVU5DKHBjaV9kZXYtPmRl dmZuKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfcGNpZGV2KHhjX2ludGVy ZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9wY2lk ZXYoZG9taWRfdCBkb20sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3Nl cnZpZF90IGlvc2VydmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJ RGV2aWNlICpwY2lfZGV2KQogewpAQCAtMzIwLDE2ICszMjIsMTcgQEAgc3RhdGljIGlubGluZSB2 b2lkIHhlbl91bm1hcF9wY2lkZXYoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAKICAg ICB0cmFjZV94ZW5fdW5tYXBfcGNpZGV2KGlvc2VydmlkLCBwY2lfYnVzX251bShwY2lfZGV2LT5i dXMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX1NMT1QocGNpX2Rldi0+ZGV2Zm4p LCBQQ0lfRlVOQyhwY2lfZGV2LT5kZXZmbikpOwotICAgIHhjX2h2bV91bm1hcF9wY2lkZXZfZnJv bV9pb3JlcV9zZXJ2ZXIoeGMsIGRvbSwgaW9zZXJ2aWQsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAwLCBwY2lfYnVzX251bShwY2lfZGV2LT5idXMpLAorICAgIHhj X2h2bV91bm1hcF9wY2lkZXZfZnJvbV9pb3JlcV9zZXJ2ZXIoeGVuX3hjLCBkb20sIGlvc2Vydmlk LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNpX2J1c19u dW0ocGNpX2Rldi0+YnVzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBDSV9TTE9UKHBjaV9kZXYtPmRldmZuKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBDSV9GVU5DKHBjaV9kZXYtPmRldmZuKSk7CiB9CiAKLXN0YXRpYyBp bmxpbmUgdm9pZCB4ZW5fY3JlYXRlX2lvcmVxX3NlcnZlcih4Y19pbnRlcmZhY2UgKnhjLCBkb21p ZF90IGRvbSwKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fY3JlYXRlX2lvcmVxX3NlcnZlcihkb21p ZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3Nl cnZpZF90ICppb3NlcnZpZCkKIHsKLSAgICBpbnQgcmMgPSB4Y19odm1fY3JlYXRlX2lvcmVxX3Nl cnZlcih4YywgZG9tLCBIVk1fSU9SRVFTUlZfQlVGSU9SRVFfQVRPTUlDLAorICAgIGludCByYyA9 IHhjX2h2bV9jcmVhdGVfaW9yZXFfc2VydmVyKHhlbl94YywgZG9tLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEhWTV9JT1JFUVNSVl9CVUZJT1JFUV9BVE9NSUMsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWQpOwogCiAgICAg aWYgKHJjID09IDApIHsKQEAgLTM0Miw3ICszNDUsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgeGVu X2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAgICAg dHJhY2VfeGVuX2RlZmF1bHRfaW9yZXFfc2VydmVyKCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9p ZCB4ZW5fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20s CitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX2Rlc3Ryb3lfaW9yZXFfc2VydmVyKGRvbWlkX3QgZG9t LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90 IGlvc2VydmlkKQogewogICAgIGlmICh1c2VfZGVmYXVsdF9pb3JlcV9zZXJ2ZXIpIHsKQEAgLTM1 MCwyNyArMzUzLDI3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZGVzdHJveV9pb3JlcV9zZXJ2 ZXIoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAgICAgfQogCiAgICAgdHJhY2VfeGVu X2lvcmVxX3NlcnZlcl9kZXN0cm95KGlvc2VydmlkKTsKLSAgICB4Y19odm1fZGVzdHJveV9pb3Jl cV9zZXJ2ZXIoeGMsIGRvbSwgaW9zZXJ2aWQpOworICAgIHhjX2h2bV9kZXN0cm95X2lvcmVxX3Nl cnZlcih4ZW5feGMsIGRvbSwgaW9zZXJ2aWQpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCB4ZW5f Z2V0X2lvcmVxX3NlcnZlcl9pbmZvKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3Rh dGljIGlubGluZSBpbnQgeGVuX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb21pZF90IGRvbSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3Nl cnZpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bm bl90ICppb3JlcV9wZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHhlbl9wZm5fdCAqYnVmaW9yZXFfcGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBldnRjaG5fcG9ydF90ICpidWZpb3JlcV9ldnRjaG4pCiB7CiAgICAg aWYgKHVzZV9kZWZhdWx0X2lvcmVxX3NlcnZlcikgewotICAgICAgICByZXR1cm4geGVuX2dldF9k ZWZhdWx0X2lvcmVxX3NlcnZlcl9pbmZvKHhjLCBkb20sIGlvcmVxX3BmbiwKKyAgICAgICAgcmV0 dXJuIHhlbl9nZXRfZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb20sIGlvcmVxX3BmbiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZpb3JlcV9w Zm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVm aW9yZXFfZXZ0Y2huKTsKICAgICB9CiAKLSAgICByZXR1cm4geGNfaHZtX2dldF9pb3JlcV9zZXJ2 ZXJfaW5mbyh4YywgZG9tLCBpb3NlcnZpZCwKKyAgICByZXR1cm4geGNfaHZtX2dldF9pb3JlcV9z ZXJ2ZXJfaW5mbyh4ZW5feGMsIGRvbSwgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW9yZXFfcGZuLCBidWZpb3JlcV9wZm4sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmaW9yZXFfZXZ0Y2huKTsKIH0KIAotc3RhdGlj IGlubGluZSBpbnQgeGVuX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoeGNfaW50ZXJmYWNlICp4Yywg ZG9taWRfdCBkb20sCitzdGF0aWMgaW5saW5lIGludCB4ZW5fc2V0X2lvcmVxX3NlcnZlcl9zdGF0 ZShkb21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBib29sIGVuYWJsZSkKIHsKQEAgLTM3OSw3ICszODIsOCBAQCBzdGF0aWMg aW5saW5lIGludCB4ZW5fc2V0X2lvcmVxX3NlcnZlcl9zdGF0ZSh4Y19pbnRlcmZhY2UgKnhjLCBk b21pZF90IGRvbSwKICAgICB9CiAKICAgICB0cmFjZV94ZW5faW9yZXFfc2VydmVyX3N0YXRlKGlv c2VydmlkLCBlbmFibGUpOwotICAgIHJldHVybiB4Y19odm1fc2V0X2lvcmVxX3NlcnZlcl9zdGF0 ZSh4YywgZG9tLCBpb3NlcnZpZCwgZW5hYmxlKTsKKyAgICByZXR1cm4geGNfaHZtX3NldF9pb3Jl cV9zZXJ2ZXJfc3RhdGUoeGVuX3hjLCBkb20sIGlvc2VydmlkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh L3hlbi1jb21tb24uYyBiL3hlbi1jb21tb24uYwppbmRleCBmZDJjOTI4Li43MDNlN2E1IDEwMDY0 NAotLS0gYS94ZW4tY29tbW9uLmMKKysrIGIveGVuLWNvbW1vbi5jCkBAIC0yNSw2ICsyNSw5IEBA CiAgICAgZG8geyB9IHdoaWxlICgwKQogI2VuZGlmCiAKK3hjX2ludGVyZmFjZSAqeGVuX3hjOwor eGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtOworCiBzdGF0aWMgaW50IHN0b3JlX2Rl dl9pbmZvKGludCBkb21pZCwgQ2hhcmRldiAqY3MsIGNvbnN0IGNoYXIgKnN0cmluZykKIHsKICAg ICBzdHJ1Y3QgeHNfaGFuZGxlICp4cyA9IE5VTEw7CmRpZmYgLS1naXQgYS94ZW4taHZtLmMgYi94 ZW4taHZtLmMKaW5kZXggNTA0M2JlYi4uZGJiOGM2NiAxMDA2NDQKLS0tIGEveGVuLWh2bS5jCisr KyBiL3hlbi1odm0uYwpAQCAtNDU0LDEwICs0NTQsMTAgQEAgc3RhdGljIHZvaWQgeGVuX3NldF9t ZW1vcnkoc3RydWN0IE1lbW9yeUxpc3RlbmVyICpsaXN0ZW5lciwKICAgICAgICAgcmV0dXJuOwog ICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChhZGQpIHsKLSAgICAgICAgICAgIHhlbl9tYXBfbWVt b3J5X3NlY3Rpb24oeGVuX3hjLCB4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwKKyAgICAgICAg ICAgIHhlbl9tYXBfbWVtb3J5X3NlY3Rpb24oeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24pOwogICAgICAgICB9IGVs c2UgewotICAgICAgICAgICAgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9uKHhlbl94YywgeGVuX2Rv bWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCisgICAgICAgICAgICB4ZW5fdW5tYXBfbWVtb3J5X3NlY3Rp b24oeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VjdGlvbik7CiAgICAgICAgIH0KICAgICB9CkBAIC01MjEsNyArNTIxLDcg QEAgc3RhdGljIHZvaWQgeGVuX2lvX2FkZChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCiAKICAg ICBtZW1vcnlfcmVnaW9uX3JlZihtcik7CiAKLSAgICB4ZW5fbWFwX2lvX3NlY3Rpb24oeGVuX3hj LCB4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwgc2VjdGlvbik7CisgICAgeGVuX21hcF9pb19z ZWN0aW9uKHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBzZWN0aW9uKTsKIH0KIAogc3RhdGlj IHZvaWQgeGVuX2lvX2RlbChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCkBAIC01MzQsNyArNTM0 LDcgQEAgc3RhdGljIHZvaWQgeGVuX2lvX2RlbChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCiAg ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB4ZW5fdW5tYXBfaW9fc2VjdGlvbih4ZW5feGMs IHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBzZWN0aW9uKTsKKyAgICB4ZW5fdW5tYXBfaW9f c2VjdGlvbih4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwgc2VjdGlvbik7CiAKICAgICBtZW1v cnlfcmVnaW9uX3VucmVmKG1yKTsKIH0KQEAgLTU0Nyw3ICs1NDcsNyBAQCBzdGF0aWMgdm9pZCB4 ZW5fZGV2aWNlX3JlYWxpemUoRGV2aWNlTGlzdGVuZXIgKmxpc3RlbmVyLAogICAgIGlmIChvYmpl Y3RfZHluYW1pY19jYXN0KE9CSkVDVChkZXYpLCBUWVBFX1BDSV9ERVZJQ0UpKSB7CiAgICAgICAg IFBDSURldmljZSAqcGNpX2RldiA9IFBDSV9ERVZJQ0UoZGV2KTsKIAotICAgICAgICB4ZW5fbWFw X3BjaWRldih4ZW5feGMsIHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBwY2lfZGV2KTsKKyAg ICAgICAgeGVuX21hcF9wY2lkZXYoeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsIHBjaV9kZXYp OwogICAgIH0KIH0KIApAQCAtNTU5LDcgKzU1OSw3IEBAIHN0YXRpYyB2b2lkIHhlbl9kZXZpY2Vf dW5yZWFsaXplKERldmljZUxpc3RlbmVyICpsaXN0ZW5lciwKICAgICBpZiAob2JqZWN0X2R5bmFt aWNfY2FzdChPQkpFQ1QoZGV2KSwgVFlQRV9QQ0lfREVWSUNFKSkgewogICAgICAgICBQQ0lEZXZp Y2UgKnBjaV9kZXYgPSBQQ0lfREVWSUNFKGRldik7CiAKLSAgICAgICAgeGVuX3VubWFwX3BjaWRl dih4ZW5feGMsIHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBwY2lfZGV2KTsKKyAgICAgICAg eGVuX3VubWFwX3BjaWRldih4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwgcGNpX2Rldik7CiAg ICAgfQogfQogCkBAIC0xMTM5LDcgKzExMzksNyBAQCBzdGF0aWMgdm9pZCB4ZW5faHZtX2NoYW5n ZV9zdGF0ZV9oYW5kbGVyKHZvaWQgKm9wYXF1ZSwgaW50IHJ1bm5pbmcsCiAgICAgICAgIHhlbl9t YWluX2xvb3BfcHJlcGFyZShzdGF0ZSk7CiAgICAgfQogCi0gICAgeGVuX3NldF9pb3JlcV9zZXJ2 ZXJfc3RhdGUoeGVuX3hjLCB4ZW5fZG9taWQsCisgICAgeGVuX3NldF9pb3JlcV9zZXJ2ZXJfc3Rh dGUoeGVuX2RvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5pb3Nl cnZpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocnN0YXRlID09IFJVTl9TVEFU RV9SVU5OSU5HKSk7CiB9CkBAIC0xMjI3LDcgKzEyMjcsNyBAQCB2b2lkIHhlbl9odm1faW5pdChQ Q01hY2hpbmVTdGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICoqcmFtX21lbW9yeSkKICAgICAgICAg Z290byBlcnI7CiAgICAgfQogCi0gICAgeGVuX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoeGVuX3hjLCB4 ZW5fZG9taWQsICZzdGF0ZS0+aW9zZXJ2aWQpOworICAgIHhlbl9jcmVhdGVfaW9yZXFfc2VydmVy KHhlbl9kb21pZCwgJnN0YXRlLT5pb3NlcnZpZCk7CiAKICAgICBzdGF0ZS0+ZXhpdC5ub3RpZnkg PSB4ZW5fZXhpdF9ub3RpZmllcjsKICAgICBxZW11X2FkZF9leGl0X25vdGlmaWVyKCZzdGF0ZS0+ ZXhpdCk7CkBAIC0xMjM4LDcgKzEyMzgsNyBAQCB2b2lkIHhlbl9odm1faW5pdChQQ01hY2hpbmVT dGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICoqcmFtX21lbW9yeSkKICAgICBzdGF0ZS0+d2FrZXVw Lm5vdGlmeSA9IHhlbl93YWtldXBfbm90aWZpZXI7CiAgICAgcWVtdV9yZWdpc3Rlcl93YWtldXBf bm90aWZpZXIoJnN0YXRlLT53YWtldXApOwogCi0gICAgcmMgPSB4ZW5fZ2V0X2lvcmVxX3NlcnZl cl9pbmZvKHhlbl94YywgeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCisgICAgcmMgPSB4ZW5f Z2V0X2lvcmVxX3NlcnZlcl9pbmZvKHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW9yZXFfcGZuLCAmYnVmaW9yZXFfcGZuLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYnVmaW9yZXFfZXZ0Y2huKTsKICAg ICBpZiAocmMgPCAwKSB7CkBAIC0xMjg4LDcgKzEyODgsNyBAQCB2b2lkIHhlbl9odm1faW5pdChQ Q01hY2hpbmVTdGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICoqcmFtX21lbW9yeSkKICAgICAvKiBO b3RlOiBjcHVzIGlzIGVtcHR5IGF0IHRoaXMgcG9pbnQgaW4gaW5pdCAqLwogICAgIHN0YXRlLT5j cHVfYnlfdmNwdV9pZCA9IGdfbWFsbG9jMChtYXhfY3B1cyAqIHNpemVvZihDUFVTdGF0ZSAqKSk7 CiAKLSAgICByYyA9IHhlbl9zZXRfaW9yZXFfc2VydmVyX3N0YXRlKHhlbl94YywgeGVuX2RvbWlk LCBzdGF0ZS0+aW9zZXJ2aWQsIHRydWUpOworICAgIHJjID0geGVuX3NldF9pb3JlcV9zZXJ2ZXJf c3RhdGUoeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsIHRydWUpOwogICAgIGlmIChyYyA8IDAp IHsKICAgICAgICAgZXJyb3JfcmVwb3J0KCJmYWlsZWQgdG8gZW5hYmxlIGlvcmVxIHNlcnZlciBp bmZvOiBlcnJvciAlZCBoYW5kbGU9JXAiLAogICAgICAgICAgICAgICAgICAgICAgZXJybm8sIHhl bl94Yyk7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=