From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PULL 01/21] xen: make use of xen_xc implicit in xen_common.h inlines Date: Fri, 21 Apr 2017 13:14:42 -0700 Message-ID: <1492805702-19690-1-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1exU-0008Pa-AB for xen-devel@lists.xenproject.org; Fri, 21 Apr 2017 20:15:12 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: peter.maydell@linaro.org Cc: sstabellini@kernel.org, stefanha@gmail.com, qemu-devel@nongnu.org, Paul Durrant , stefanha@redhat.com, anthony.perard@citrix.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org RnJvbTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KCkRvaW5nIHRoaXMg d2lsbCBtYWtlIHRoZSB0cmFuc2l0aW9uIHRvIHVzaW5nIHRoZSBuZXcgbGlieGVuZGV2aWNlbW9k ZWwKaW50ZXJmYWNlIGxlc3MgaW50cnVzaXZlIG9uIHRoZSBjYWxsZXJzIG9mIHRoZXNlIGZ1bmN0 aW9ucywgc2luY2UgdXNpbmcKdGhlIG5ldyBsaWJyYXJ5IHdpbGwgcmVxdWlyZSBhIGNoYW5nZSBv ZiBoYW5kbGUuCgpOT1RFOiBUaGUgcGF0Y2ggYWxzbyBtb3ZlcyB0aGUgJ2V4dGVybnMnIGZvciB4 ZW5feGMgYW5kIHhlbl9mbWVtIGZyb20KICAgICAgeGVuX2JhY2tlbmQuaCB0byB4ZW5fY29tbW9u LmgsIGFuZCB0aGUgZGVjbGFyYXRpb25zIGZyb20KICAgICAgeGVuX2JhY2tlbmQuYyB0byB4ZW4t Y29tbW9uLmMsIHdoaWNoIGlzIHdoZXJlIHRoZXkgYmVsb25nLgoKU2lnbmVkLW9mZi1ieTogUGF1 bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEFudGhvbnkg UGVyYXJkIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogU3RlZmFubyBT dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgotLS0KIGh3L3hlbi94ZW5fYmFja2Vu ZC5jICAgICAgICAgfCAgMiAtCiBpbmNsdWRlL2h3L3hlbi94ZW5fYmFja2VuZC5oIHwgIDIgLQog aW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oICB8IDkwICsrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4tY29tbW9uLmMgICAgICAgICAgICAgICAgIHwgIDMg KysKIHhlbi1odm0uYyAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrKy0tLS0tCiA1IGZpbGVz IGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDU3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2h3L3hlbi94ZW5fYmFja2VuZC5jIGIvaHcveGVuL3hlbl9iYWNrZW5kLmMKaW5kZXggNmMyMWMz Ny4uZDM0YzQ5ZSAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9iYWNrZW5kLmMKKysrIGIvaHcveGVu L3hlbl9iYWNrZW5kLmMKQEAgLTQzLDggKzQzLDYgQEAgQnVzU3RhdGUgKnhlbl9zeXNidXM7CiAv KiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tICovCiAKIC8qIHB1YmxpYyAqLwoteGNfaW50ZXJmYWNlICp4ZW5feGMgPSBOVUxMOwot eGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtID0gTlVMTDsKIHN0cnVjdCB4c19oYW5k bGUgKnhlbnN0b3JlID0gTlVMTDsKIGNvbnN0IGNoYXIgKnhlbl9wcm90b2NvbDsKIApkaWZmIC0t Z2l0IGEvaW5jbHVkZS9ody94ZW4veGVuX2JhY2tlbmQuaCBiL2luY2x1ZGUvaHcveGVuL3hlbl9i YWNrZW5kLmgKaW5kZXggNGY0Nzk5YS4uMzA4MTFhMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ody94 ZW4veGVuX2JhY2tlbmQuaAorKysgYi9pbmNsdWRlL2h3L3hlbi94ZW5fYmFja2VuZC5oCkBAIC0x NCw4ICsxNCw2IEBACiAgICAgT0JKRUNUX0NIRUNLKFhlbkRldmljZSwgKG9iaiksIFRZUEVfWEVO QkFDS0VORCkKIAogLyogdmFyaWFibGVzICovCi1leHRlcm4geGNfaW50ZXJmYWNlICp4ZW5feGM7 Ci1leHRlcm4geGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtOwogZXh0ZXJuIHN0cnVj dCB4c19oYW5kbGUgKnhlbnN0b3JlOwogZXh0ZXJuIGNvbnN0IGNoYXIgKnhlbl9wcm90b2NvbDsK IGV4dGVybiBEZXZpY2VTdGF0ZSAqeGVuX3N5c2RldjsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcv eGVuL3hlbl9jb21tb24uaCBiL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaAppbmRleCBkY2U3 NmVlLi4xZTA4Yjk4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW5fY29tbW9uLmgKKysr IGIvaW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVk ZSAicWVtdS9xdWV1ZS5oIgogI2luY2x1ZGUgImh3L3hlbi90cmFjZS5oIgogCitleHRlcm4geGNf aW50ZXJmYWNlICp4ZW5feGM7CisKIC8qCiAgKiBXZSBkb24ndCBzdXBwb3J0IFhlbiBwcmlvciB0 byA0LjIuMC4KICAqLwpAQCAtNzMsNiArNzUsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgKnhlbmZv cmVpZ25tZW1vcnlfbWFwKHhjX2ludGVyZmFjZSAqaCwgdWludDMyX3QgZG9tLAogCiAjZW5kaWYK IAorZXh0ZXJuIHhlbmZvcmVpZ25tZW1vcnlfaGFuZGxlICp4ZW5fZm1lbTsKKwogdm9pZCBkZXN0 cm95X2h2bV9kb21haW4oYm9vbCByZWJvb3QpOwogCiAvKiBzaHV0ZG93bi9kZXN0cm95IGN1cnJl bnQgZG9tYWluIGJlY2F1c2Ugb2YgYW4gZXJyb3IgKi8KQEAgLTEwNyw4ICsxMTEsNyBAQCBzdGF0 aWMgaW5saW5lIGludCB4ZW5fZ2V0X3ZtcG9ydF9yZWdzX3Bmbih4Y19pbnRlcmZhY2UgKnhjLCBk b21pZF90IGRvbSwKIAogI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgaW50IHhlbl9nZXRfZGVmYXVs dF9pb3JlcV9zZXJ2ZXJfaW5mbyh4Y19pbnRlcmZhY2UgKnhjLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9tLAorc3RhdGljIGlu bGluZSBpbnQgeGVuX2dldF9kZWZhdWx0X2lvcmVxX3NlcnZlcl9pbmZvKGRvbWlkX3QgZG9tLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9w Zm5fdCAqaW9yZXFfcGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHhlbl9wZm5fdCAqYnVmaW9yZXFfcGZuLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2dGNobl9wb3J0X3QKQEAgLTExNyw3 ICsxMjAsNyBAQCBzdGF0aWMgaW5saW5lIGludCB4ZW5fZ2V0X2RlZmF1bHRfaW9yZXFfc2VydmVy X2luZm8oeGNfaW50ZXJmYWNlICp4YywKICAgICB1bnNpZ25lZCBsb25nIHBhcmFtOwogICAgIGlu dCByYzsKIAotICAgIHJjID0geGNfZ2V0X2h2bV9wYXJhbSh4YywgZG9tLCBIVk1fUEFSQU1fSU9S RVFfUEZOLCAmcGFyYW0pOworICAgIHJjID0geGNfZ2V0X2h2bV9wYXJhbSh4ZW5feGMsIGRvbSwg SFZNX1BBUkFNX0lPUkVRX1BGTiwgJnBhcmFtKTsKICAgICBpZiAocmMgPCAwKSB7CiAgICAgICAg IGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGdldCBIVk1fUEFSQU1fSU9SRVFfUEZOXG4iKTsK ICAgICAgICAgcmV0dXJuIC0xOwpAQCAtMTI1LDcgKzEyOCw3IEBAIHN0YXRpYyBpbmxpbmUgaW50 IHhlbl9nZXRfZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyh4Y19pbnRlcmZhY2UgKnhjLAogCiAg ICAgKmlvcmVxX3BmbiA9IHBhcmFtOwogCi0gICAgcmMgPSB4Y19nZXRfaHZtX3BhcmFtKHhjLCBk b20sIEhWTV9QQVJBTV9CVUZJT1JFUV9QRk4sICZwYXJhbSk7CisgICAgcmMgPSB4Y19nZXRfaHZt X3BhcmFtKHhlbl94YywgZG9tLCBIVk1fUEFSQU1fQlVGSU9SRVFfUEZOLCAmcGFyYW0pOwogICAg IGlmIChyYyA8IDApIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gZ2V0IEhW TV9QQVJBTV9CVUZJT1JFUV9QRk5cbiIpOwogICAgICAgICByZXR1cm4gLTE7CkBAIC0xMzMsNyAr MTM2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgeGVuX2dldF9kZWZhdWx0X2lvcmVxX3NlcnZlcl9p bmZvKHhjX2ludGVyZmFjZSAqeGMsCiAKICAgICAqYnVmaW9yZXFfcGZuID0gcGFyYW07CiAKLSAg ICByYyA9IHhjX2dldF9odm1fcGFyYW0oeGMsIGRvbSwgSFZNX1BBUkFNX0JVRklPUkVRX0VWVENI TiwKKyAgICByYyA9IHhjX2dldF9odm1fcGFyYW0oeGVuX3hjLCBkb20sIEhWTV9QQVJBTV9CVUZJ T1JFUV9FVlRDSE4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZwYXJhbSk7CiAgICAgaWYg KHJjIDwgMCkgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBnZXQgSFZNX1BB UkFNX0JVRklPUkVRX0VWVENITlxuIik7CkBAIC0xNTYsNjMgKzE1OSw2NCBAQCBzdGF0aWMgaW5s aW5lIGludCB4ZW5fZ2V0X2RlZmF1bHRfaW9yZXFfc2VydmVyX2luZm8oeGNfaW50ZXJmYWNlICp4 YywKIAogdHlwZWRlZiB1aW50MTZfdCBpb3NlcnZpZF90OwogCi1zdGF0aWMgaW5saW5lIHZvaWQg eGVuX21hcF9tZW1vcnlfc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0 YXRpYyBpbmxpbmUgdm9pZCB4ZW5fbWFwX21lbW9yeV9zZWN0aW9uKGRvbWlkX3QgZG9tLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3NlcnZp ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lv blNlY3Rpb24gKnNlY3Rpb24pCiB7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBf bWVtb3J5X3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCitzdGF0aWMgaW5s aW5lIHZvaWQgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9uKGRvbWlkX3QgZG9tLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90IGlvc2VydmlkLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25T ZWN0aW9uICpzZWN0aW9uKQogewogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX21hcF9pb19z ZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lk IHhlbl9tYXBfaW9fc2VjdGlvbihkb21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3NlcnZpZCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKIHsKIH0KIAot c3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9pb19zZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMs IGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9pb19zZWN0aW9uKGRv bWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2Vy dmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKIHsKIH0KIAotc3RhdGljIGlubGluZSB2b2lk IHhlbl9tYXBfcGNpZGV2KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlu bGluZSB2b2lkIHhlbl9tYXBfcGNpZGV2KGRvbWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUENJRGV2aWNlICpwY2lfZGV2KQogewogfQogCi1zdGF0aWMgaW5saW5l IHZvaWQgeGVuX3VubWFwX3BjaWRldih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0 YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfcGNpZGV2KGRvbWlkX3QgZG9tLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3NlcnZpZCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSURldmljZSAqcGNpX2RldikKIHsKIH0KIAot c3RhdGljIGlubGluZSB2b2lkIHhlbl9jcmVhdGVfaW9yZXFfc2VydmVyKHhjX2ludGVyZmFjZSAq eGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl9jcmVhdGVfaW9yZXFfc2Vy dmVyKGRvbWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlvc2VydmlkX3QgKmlvc2VydmlkKQogewogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgeGVu X2Rlc3Ryb3lfaW9yZXFfc2VydmVyKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3Rh dGljIGlubGluZSB2b2lkIHhlbl9kZXN0cm95X2lvcmVxX3NlcnZlcihkb21pZF90IGRvbSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBpb3Nl cnZpZCkKIHsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgeGVuX2dldF9pb3JlcV9zZXJ2ZXJfaW5m byh4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0YXRpYyBpbmxpbmUgaW50IHhlbl9n ZXRfaW9yZXFfc2VydmVyX2luZm8oZG9taWRfdCBkb20sCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCAqaW9yZXFfcGZuLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgKmJ1Zmlv cmVxX3BmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0 Y2huX3BvcnRfdCAqYnVmaW9yZXFfZXZ0Y2huKQogewotICAgIHJldHVybiB4ZW5fZ2V0X2RlZmF1 bHRfaW9yZXFfc2VydmVyX2luZm8oeGMsIGRvbSwgaW9yZXFfcGZuLCBidWZpb3JlcV9wZm4sCisg ICAgcmV0dXJuIHhlbl9nZXRfZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb20sIGlvcmVxX3Bm biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmlvcmVx X3BmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zmlv cmVxX2V2dGNobik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHhlbl9zZXRfaW9yZXFfc2VydmVy X3N0YXRlKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSBpbnQg eGVuX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoZG9taWRfdCBkb20sCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90IGlvc2VydmlkLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUpCiB7CkBA IC0yMjQsNyArMjI4LDcgQEAgc3RhdGljIGlubGluZSBpbnQgeGVuX3NldF9pb3JlcV9zZXJ2ZXJf c3RhdGUoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAKIHN0YXRpYyBib29sIHVzZV9k ZWZhdWx0X2lvcmVxX3NlcnZlcjsKIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfbWVtb3J5 X3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCitzdGF0aWMgaW5saW5lIHZv aWQgeGVuX21hcF9tZW1vcnlfc2VjdGlvbihkb21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0 aW9uKQogewpAQCAtMjM3LDExICsyNDEsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBf bWVtb3J5X3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAgICAgfQogCiAg ICAgdHJhY2VfeGVuX21hcF9tbWlvX3JhbmdlKGlvc2VydmlkLCBzdGFydF9hZGRyLCBlbmRfYWRk cik7Ci0gICAgeGNfaHZtX21hcF9pb19yYW5nZV90b19pb3JlcV9zZXJ2ZXIoeGMsIGRvbSwgaW9z ZXJ2aWQsIDEsCisgICAgeGNfaHZtX21hcF9pb19yYW5nZV90b19pb3JlcV9zZXJ2ZXIoeGVuX3hj LCBkb20sIGlvc2VydmlkLCAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0YXJ0X2FkZHIsIGVuZF9hZGRyKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl91 bm1hcF9tZW1vcnlfc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0YXRp YyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfbWVtb3J5X3NlY3Rpb24oZG9taWRfdCBkb20sCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2 aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJl Z2lvblNlY3Rpb24gKnNlY3Rpb24pCiB7CkBAIC0yNTMsMTMgKzI1NywxMiBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlk X3QgZG9tLAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0KICAgICB0cmFjZV94ZW5fdW5tYXBf bW1pb19yYW5nZShpb3NlcnZpZCwgc3RhcnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV91 bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4YywgZG9tLCBpb3NlcnZpZCwgMSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfYWRkciwgZW5k X2FkZHIpOworICAgIHhjX2h2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4ZW5f eGMsIGRvbSwgaW9zZXJ2aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDEsIHN0YXJ0X2FkZHIsIGVuZF9hZGRyKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lk IHhlbl9tYXBfaW9fc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKK3N0YXRp YyBpbmxpbmUgdm9pZCB4ZW5fbWFwX2lvX3NlY3Rpb24oZG9taWRfdCBkb20sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rp b24pCiB7CkBAIC0yNzEsMTMgKzI3NCwxMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgeGVuX21hcF9p b19zZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAogICAgICAgICByZXR1cm47 CiAgICAgfQogCi0KICAgICB0cmFjZV94ZW5fbWFwX3BvcnRpb19yYW5nZShpb3NlcnZpZCwgc3Rh cnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV9tYXBfaW9fcmFuZ2VfdG9faW9yZXFfc2Vy dmVyKHhjLCBkb20sIGlvc2VydmlkLCAwLAorICAgIHhjX2h2bV9tYXBfaW9fcmFuZ2VfdG9faW9y ZXFfc2VydmVyKHhlbl94YywgZG9tLCBpb3NlcnZpZCwgMCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdGFydF9hZGRyLCBlbmRfYWRkcik7CiB9CiAKLXN0YXRpYyBp bmxpbmUgdm9pZCB4ZW5fdW5tYXBfaW9fc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90 IGRvbSwKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfaW9fc2VjdGlvbihkb21pZF90IGRv bSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90IGlv c2VydmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJl Z2lvblNlY3Rpb24gKnNlY3Rpb24pCiB7CkBAIC0yOTAsMTEgKzI5MiwxMSBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgeGVuX3VubWFwX2lvX3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBk b20sCiAgICAgfQogCiAgICAgdHJhY2VfeGVuX3VubWFwX3BvcnRpb19yYW5nZShpb3NlcnZpZCwg c3RhcnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV91bm1hcF9pb19yYW5nZV9mcm9tX2lv cmVxX3NlcnZlcih4YywgZG9tLCBpb3NlcnZpZCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RhcnRfYWRkciwgZW5kX2FkZHIpOworICAgIHhjX2h2bV91 bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4ZW5feGMsIGRvbSwgaW9zZXJ2aWQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHN0YXJ0X2FkZHIs IGVuZF9hZGRyKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfcGNpZGV2KHhjX2lu dGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfcGNp ZGV2KGRvbWlkX3QgZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2Vy dmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRGV2 aWNlICpwY2lfZGV2KQogewpAQCAtMzA0LDEzICszMDYsMTMgQEAgc3RhdGljIGlubGluZSB2b2lk IHhlbl9tYXBfcGNpZGV2KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAogCiAgICAgdHJh Y2VfeGVuX21hcF9wY2lkZXYoaW9zZXJ2aWQsIHBjaV9idXNfbnVtKHBjaV9kZXYtPmJ1cyksCiAg ICAgICAgICAgICAgICAgICAgICAgICAgUENJX1NMT1QocGNpX2Rldi0+ZGV2Zm4pLCBQQ0lfRlVO QyhwY2lfZGV2LT5kZXZmbikpOwotICAgIHhjX2h2bV9tYXBfcGNpZGV2X3RvX2lvcmVxX3NlcnZl cih4YywgZG9tLCBpb3NlcnZpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMCwgcGNpX2J1c19udW0ocGNpX2Rldi0+YnVzKSwKKyAgICB4Y19odm1fbWFwX3BjaWRldl90 b19pb3JlcV9zZXJ2ZXIoeGVuX3hjLCBkb20sIGlvc2VydmlkLCAwLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwY2lfYnVzX251bShwY2lfZGV2LT5idXMpLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfU0xPVChwY2lfZGV2LT5kZXZmbiks CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9GVU5DKHBjaV9kZXYt PmRldmZuKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfcGNpZGV2KHhjX2lu dGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9w Y2lkZXYoZG9taWRfdCBkb20sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp b3NlcnZpZF90IGlvc2VydmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UENJRGV2aWNlICpwY2lfZGV2KQogewpAQCAtMzIwLDE2ICszMjIsMTcgQEAgc3RhdGljIGlubGlu ZSB2b2lkIHhlbl91bm1hcF9wY2lkZXYoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAK ICAgICB0cmFjZV94ZW5fdW5tYXBfcGNpZGV2KGlvc2VydmlkLCBwY2lfYnVzX251bShwY2lfZGV2 LT5idXMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX1NMT1QocGNpX2Rldi0+ZGV2 Zm4pLCBQQ0lfRlVOQyhwY2lfZGV2LT5kZXZmbikpOwotICAgIHhjX2h2bV91bm1hcF9wY2lkZXZf ZnJvbV9pb3JlcV9zZXJ2ZXIoeGMsIGRvbSwgaW9zZXJ2aWQsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwLCBwY2lfYnVzX251bShwY2lfZGV2LT5idXMpLAorICAg IHhjX2h2bV91bm1hcF9wY2lkZXZfZnJvbV9pb3JlcV9zZXJ2ZXIoeGVuX3hjLCBkb20sIGlvc2Vy dmlkLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNpX2J1 c19udW0ocGNpX2Rldi0+YnVzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBDSV9TTE9UKHBjaV9kZXYtPmRldmZuKSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBDSV9GVU5DKHBjaV9kZXYtPmRldmZuKSk7CiB9CiAKLXN0YXRp YyBpbmxpbmUgdm9pZCB4ZW5fY3JlYXRlX2lvcmVxX3NlcnZlcih4Y19pbnRlcmZhY2UgKnhjLCBk b21pZF90IGRvbSwKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fY3JlYXRlX2lvcmVxX3NlcnZlcihk b21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp b3NlcnZpZF90ICppb3NlcnZpZCkKIHsKLSAgICBpbnQgcmMgPSB4Y19odm1fY3JlYXRlX2lvcmVx X3NlcnZlcih4YywgZG9tLCBIVk1fSU9SRVFTUlZfQlVGSU9SRVFfQVRPTUlDLAorICAgIGludCBy YyA9IHhjX2h2bV9jcmVhdGVfaW9yZXFfc2VydmVyKHhlbl94YywgZG9tLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhWTV9JT1JFUVNSVl9CVUZJT1JFUV9BVE9NSUMs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWQpOwogCiAg ICAgaWYgKHJjID09IDApIHsKQEAgLTM0Miw3ICszNDUsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg eGVuX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAg ICAgdHJhY2VfeGVuX2RlZmF1bHRfaW9yZXFfc2VydmVyKCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUg dm9pZCB4ZW5fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBk b20sCitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX2Rlc3Ryb3lfaW9yZXFfc2VydmVyKGRvbWlkX3Qg ZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZp ZF90IGlvc2VydmlkKQogewogICAgIGlmICh1c2VfZGVmYXVsdF9pb3JlcV9zZXJ2ZXIpIHsKQEAg LTM1MCwyNyArMzUzLDI3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZGVzdHJveV9pb3JlcV9z ZXJ2ZXIoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCiAgICAgfQogCiAgICAgdHJhY2Vf eGVuX2lvcmVxX3NlcnZlcl9kZXN0cm95KGlvc2VydmlkKTsKLSAgICB4Y19odm1fZGVzdHJveV9p b3JlcV9zZXJ2ZXIoeGMsIGRvbSwgaW9zZXJ2aWQpOworICAgIHhjX2h2bV9kZXN0cm95X2lvcmVx X3NlcnZlcih4ZW5feGMsIGRvbSwgaW9zZXJ2aWQpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCB4 ZW5fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAor c3RhdGljIGlubGluZSBpbnQgeGVuX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb21pZF90IGRvbSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCBp b3NlcnZpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVu X3Bmbl90ICppb3JlcV9wZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHhlbl9wZm5fdCAqYnVmaW9yZXFfcGZuLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBldnRjaG5fcG9ydF90ICpidWZpb3JlcV9ldnRjaG4pCiB7CiAg ICAgaWYgKHVzZV9kZWZhdWx0X2lvcmVxX3NlcnZlcikgewotICAgICAgICByZXR1cm4geGVuX2dl dF9kZWZhdWx0X2lvcmVxX3NlcnZlcl9pbmZvKHhjLCBkb20sIGlvcmVxX3BmbiwKKyAgICAgICAg cmV0dXJuIHhlbl9nZXRfZGVmYXVsdF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb20sIGlvcmVxX3BmbiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZpb3Jl cV9wZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YnVmaW9yZXFfZXZ0Y2huKTsKICAgICB9CiAKLSAgICByZXR1cm4geGNfaHZtX2dldF9pb3JlcV9z ZXJ2ZXJfaW5mbyh4YywgZG9tLCBpb3NlcnZpZCwKKyAgICByZXR1cm4geGNfaHZtX2dldF9pb3Jl cV9zZXJ2ZXJfaW5mbyh4ZW5feGMsIGRvbSwgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW9yZXFfcGZuLCBidWZpb3JlcV9wZm4sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmaW9yZXFfZXZ0Y2huKTsKIH0KIAotc3Rh dGljIGlubGluZSBpbnQgeGVuX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoeGNfaW50ZXJmYWNlICp4 YywgZG9taWRfdCBkb20sCitzdGF0aWMgaW5saW5lIGludCB4ZW5fc2V0X2lvcmVxX3NlcnZlcl9z dGF0ZShkb21pZF90IGRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlvc2VydmlkX3QgaW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBib29sIGVuYWJsZSkKIHsKQEAgLTM3OSw3ICszODIsOCBAQCBzdGF0 aWMgaW5saW5lIGludCB4ZW5fc2V0X2lvcmVxX3NlcnZlcl9zdGF0ZSh4Y19pbnRlcmZhY2UgKnhj LCBkb21pZF90IGRvbSwKICAgICB9CiAKICAgICB0cmFjZV94ZW5faW9yZXFfc2VydmVyX3N0YXRl KGlvc2VydmlkLCBlbmFibGUpOwotICAgIHJldHVybiB4Y19odm1fc2V0X2lvcmVxX3NlcnZlcl9z dGF0ZSh4YywgZG9tLCBpb3NlcnZpZCwgZW5hYmxlKTsKKyAgICByZXR1cm4geGNfaHZtX3NldF9p b3JlcV9zZXJ2ZXJfc3RhdGUoeGVuX3hjLCBkb20sIGlvc2VydmlkLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdp dCBhL3hlbi1jb21tb24uYyBiL3hlbi1jb21tb24uYwppbmRleCBmZDJjOTI4Li43MDNlN2E1IDEw MDY0NAotLS0gYS94ZW4tY29tbW9uLmMKKysrIGIveGVuLWNvbW1vbi5jCkBAIC0yNSw2ICsyNSw5 IEBACiAgICAgZG8geyB9IHdoaWxlICgwKQogI2VuZGlmCiAKK3hjX2ludGVyZmFjZSAqeGVuX3hj OworeGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhlbl9mbWVtOworCiBzdGF0aWMgaW50IHN0b3Jl X2Rldl9pbmZvKGludCBkb21pZCwgQ2hhcmRldiAqY3MsIGNvbnN0IGNoYXIgKnN0cmluZykKIHsK ICAgICBzdHJ1Y3QgeHNfaGFuZGxlICp4cyA9IE5VTEw7CmRpZmYgLS1naXQgYS94ZW4taHZtLmMg Yi94ZW4taHZtLmMKaW5kZXggNTA0M2JlYi4uZGJiOGM2NiAxMDA2NDQKLS0tIGEveGVuLWh2bS5j CisrKyBiL3hlbi1odm0uYwpAQCAtNDU0LDEwICs0NTQsMTAgQEAgc3RhdGljIHZvaWQgeGVuX3Nl dF9tZW1vcnkoc3RydWN0IE1lbW9yeUxpc3RlbmVyICpsaXN0ZW5lciwKICAgICAgICAgcmV0dXJu OwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChhZGQpIHsKLSAgICAgICAgICAgIHhlbl9tYXBf bWVtb3J5X3NlY3Rpb24oeGVuX3hjLCB4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwKKyAgICAg ICAgICAgIHhlbl9tYXBfbWVtb3J5X3NlY3Rpb24oeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24pOwogICAgICAgICB9 IGVsc2UgewotICAgICAgICAgICAgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9uKHhlbl94YywgeGVu X2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCisgICAgICAgICAgICB4ZW5fdW5tYXBfbWVtb3J5X3Nl Y3Rpb24oeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VjdGlvbik7CiAgICAgICAgIH0KICAgICB9CkBAIC01MjEsNyArNTIx LDcgQEAgc3RhdGljIHZvaWQgeGVuX2lvX2FkZChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCiAK ICAgICBtZW1vcnlfcmVnaW9uX3JlZihtcik7CiAKLSAgICB4ZW5fbWFwX2lvX3NlY3Rpb24oeGVu X3hjLCB4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwgc2VjdGlvbik7CisgICAgeGVuX21hcF9p b19zZWN0aW9uKHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBzZWN0aW9uKTsKIH0KIAogc3Rh dGljIHZvaWQgeGVuX2lvX2RlbChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCkBAIC01MzQsNyAr NTM0LDcgQEAgc3RhdGljIHZvaWQgeGVuX2lvX2RlbChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIs CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB4ZW5fdW5tYXBfaW9fc2VjdGlvbih4ZW5f eGMsIHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBzZWN0aW9uKTsKKyAgICB4ZW5fdW5tYXBf aW9fc2VjdGlvbih4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwgc2VjdGlvbik7CiAKICAgICBt ZW1vcnlfcmVnaW9uX3VucmVmKG1yKTsKIH0KQEAgLTU0Nyw3ICs1NDcsNyBAQCBzdGF0aWMgdm9p ZCB4ZW5fZGV2aWNlX3JlYWxpemUoRGV2aWNlTGlzdGVuZXIgKmxpc3RlbmVyLAogICAgIGlmIChv YmplY3RfZHluYW1pY19jYXN0KE9CSkVDVChkZXYpLCBUWVBFX1BDSV9ERVZJQ0UpKSB7CiAgICAg ICAgIFBDSURldmljZSAqcGNpX2RldiA9IFBDSV9ERVZJQ0UoZGV2KTsKIAotICAgICAgICB4ZW5f bWFwX3BjaWRldih4ZW5feGMsIHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBwY2lfZGV2KTsK KyAgICAgICAgeGVuX21hcF9wY2lkZXYoeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsIHBjaV9k ZXYpOwogICAgIH0KIH0KIApAQCAtNTU5LDcgKzU1OSw3IEBAIHN0YXRpYyB2b2lkIHhlbl9kZXZp Y2VfdW5yZWFsaXplKERldmljZUxpc3RlbmVyICpsaXN0ZW5lciwKICAgICBpZiAob2JqZWN0X2R5 bmFtaWNfY2FzdChPQkpFQ1QoZGV2KSwgVFlQRV9QQ0lfREVWSUNFKSkgewogICAgICAgICBQQ0lE ZXZpY2UgKnBjaV9kZXYgPSBQQ0lfREVWSUNFKGRldik7CiAKLSAgICAgICAgeGVuX3VubWFwX3Bj aWRldih4ZW5feGMsIHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLCBwY2lfZGV2KTsKKyAgICAg ICAgeGVuX3VubWFwX3BjaWRldih4ZW5fZG9taWQsIHN0YXRlLT5pb3NlcnZpZCwgcGNpX2Rldik7 CiAgICAgfQogfQogCkBAIC0xMTM5LDcgKzExMzksNyBAQCBzdGF0aWMgdm9pZCB4ZW5faHZtX2No YW5nZV9zdGF0ZV9oYW5kbGVyKHZvaWQgKm9wYXF1ZSwgaW50IHJ1bm5pbmcsCiAgICAgICAgIHhl bl9tYWluX2xvb3BfcHJlcGFyZShzdGF0ZSk7CiAgICAgfQogCi0gICAgeGVuX3NldF9pb3JlcV9z ZXJ2ZXJfc3RhdGUoeGVuX3hjLCB4ZW5fZG9taWQsCisgICAgeGVuX3NldF9pb3JlcV9zZXJ2ZXJf c3RhdGUoeGVuX2RvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5p b3NlcnZpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocnN0YXRlID09IFJVTl9T VEFURV9SVU5OSU5HKSk7CiB9CkBAIC0xMjI3LDcgKzEyMjcsNyBAQCB2b2lkIHhlbl9odm1faW5p dChQQ01hY2hpbmVTdGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICoqcmFtX21lbW9yeSkKICAgICAg ICAgZ290byBlcnI7CiAgICAgfQogCi0gICAgeGVuX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoeGVuX3hj LCB4ZW5fZG9taWQsICZzdGF0ZS0+aW9zZXJ2aWQpOworICAgIHhlbl9jcmVhdGVfaW9yZXFfc2Vy dmVyKHhlbl9kb21pZCwgJnN0YXRlLT5pb3NlcnZpZCk7CiAKICAgICBzdGF0ZS0+ZXhpdC5ub3Rp ZnkgPSB4ZW5fZXhpdF9ub3RpZmllcjsKICAgICBxZW11X2FkZF9leGl0X25vdGlmaWVyKCZzdGF0 ZS0+ZXhpdCk7CkBAIC0xMjM4LDcgKzEyMzgsNyBAQCB2b2lkIHhlbl9odm1faW5pdChQQ01hY2hp bmVTdGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICoqcmFtX21lbW9yeSkKICAgICBzdGF0ZS0+d2Fr ZXVwLm5vdGlmeSA9IHhlbl93YWtldXBfbm90aWZpZXI7CiAgICAgcWVtdV9yZWdpc3Rlcl93YWtl dXBfbm90aWZpZXIoJnN0YXRlLT53YWtldXApOwogCi0gICAgcmMgPSB4ZW5fZ2V0X2lvcmVxX3Nl cnZlcl9pbmZvKHhlbl94YywgeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsCisgICAgcmMgPSB4 ZW5fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKHhlbl9kb21pZCwgc3RhdGUtPmlvc2VydmlkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW9yZXFfcGZuLCAmYnVmaW9yZXFfcGZu LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYnVmaW9yZXFfZXZ0Y2huKTsK ICAgICBpZiAocmMgPCAwKSB7CkBAIC0xMjg4LDcgKzEyODgsNyBAQCB2b2lkIHhlbl9odm1faW5p dChQQ01hY2hpbmVTdGF0ZSAqcGNtcywgTWVtb3J5UmVnaW9uICoqcmFtX21lbW9yeSkKICAgICAv KiBOb3RlOiBjcHVzIGlzIGVtcHR5IGF0IHRoaXMgcG9pbnQgaW4gaW5pdCAqLwogICAgIHN0YXRl LT5jcHVfYnlfdmNwdV9pZCA9IGdfbWFsbG9jMChtYXhfY3B1cyAqIHNpemVvZihDUFVTdGF0ZSAq KSk7CiAKLSAgICByYyA9IHhlbl9zZXRfaW9yZXFfc2VydmVyX3N0YXRlKHhlbl94YywgeGVuX2Rv bWlkLCBzdGF0ZS0+aW9zZXJ2aWQsIHRydWUpOworICAgIHJjID0geGVuX3NldF9pb3JlcV9zZXJ2 ZXJfc3RhdGUoeGVuX2RvbWlkLCBzdGF0ZS0+aW9zZXJ2aWQsIHRydWUpOwogICAgIGlmIChyYyA8 IDApIHsKICAgICAgICAgZXJyb3JfcmVwb3J0KCJmYWlsZWQgdG8gZW5hYmxlIGlvcmVxIHNlcnZl ciBpbmZvOiBlcnJvciAlZCBoYW5kbGU9JXAiLAogICAgICAgICAgICAgICAgICAgICAgZXJybm8s IHhlbl94Yyk7Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=