From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2 REPOST 06/12] x86/hvm/ioreq: rename .*pfn and .*gmfn to .*gfn Date: Tue, 22 Aug 2017 15:51:00 +0100 Message-ID: <20170822145107.6877-7-paul.durrant@citrix.com> References: <20170822145107.6877-1-paul.durrant@citrix.com> 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 1dkAWS-0002DD-8R for xen-devel@lists.xenproject.org; Tue, 22 Aug 2017 14:51:16 +0000 In-Reply-To: <20170822145107.6877-1-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 Cc: Andrew Cooper , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org U2luY2UgSU9SRVEgc2VydmVycyBhcmUgb25seSByZWxldmFudCB0byBIVk0gZ3Vlc3RzIGFuZCBh bGwgdGhlIG5hbWVzIGluCnF1ZXN0aW9uIHVuZXF1aXZvY2FsbHkgcmVmZXIgdG8gZ3Vlc3QgZnJh bWUgbnVtYmVycywgbmFtZSB0aGVtIGFsbCAuKmdmbgp0byBhdm9pZCBhbnkgY29uZnVzaW9uLgoK VGhpcyBwYXRjaCBpcyBwdXJlbHkgY29zbWV0aWMuIE5vIHNlbWFudGljIG9yIGZ1bmN0aW9uYWwg Y2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4 LmNvbT4KLS0tCkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcg Q29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnMvZGV2aWNl bW9kZWwvY29yZS5jICAgICAgICAgICAgICAgICAgIHwgMTAgKystLQogdG9vbHMvbGlicy9kZXZp Y2Vtb2RlbC9pbmNsdWRlL3hlbmRldmljZW1vZGVsLmggfCAxMiArKy0tCiB4ZW4vYXJjaC94ODYv aHZtL2RtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICstCiB4ZW4vYXJjaC94ODYv aHZtL2h2bS5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICstCiB4ZW4vYXJjaC94ODYv aHZtL2lvcmVxLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDc0ICsrKysrKysrKysrKy0tLS0t LS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oICAgICAgICAgICAgICAg IHwgIDQgKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVxLmggICAgICAgICAgICAgICAg IHwgIDQgKy0KIHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3AuaCAgICAgICAgICAgICAgICAg IHwgMjAgKysrLS0tLQogOCBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCA2NyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJzL2RldmljZW1vZGVsL2NvcmUuYyBiL3Rv b2xzL2xpYnMvZGV2aWNlbW9kZWwvY29yZS5jCmluZGV4IGQ3YzY0NzYwMDYuLmZjYjI2MGQyOWIg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvY29yZS5jCisrKyBiL3Rvb2xzL2xp YnMvZGV2aWNlbW9kZWwvY29yZS5jCkBAIC0xNzQsNyArMTc0LDcgQEAgaW50IHhlbmRldmljZW1v ZGVsX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoCiAKIGludCB4ZW5kZXZpY2Vtb2RlbF9nZXRfaW9yZXFf c2VydmVyX2luZm8oCiAgICAgeGVuZGV2aWNlbW9kZWxfaGFuZGxlICpkbW9kLCBkb21pZF90IGRv bWlkLCBpb3NlcnZpZF90IGlkLAotICAgIHhlbl9wZm5fdCAqaW9yZXFfcGZuLCB4ZW5fcGZuX3Qg KmJ1ZmlvcmVxX3BmbiwKKyAgICB4ZW5fcGZuX3QgKmlvcmVxX2dmbiwgeGVuX3Bmbl90ICpidWZp b3JlcV9nZm4sCiAgICAgZXZ0Y2huX3BvcnRfdCAqYnVmaW9yZXFfcG9ydCkKIHsKICAgICBzdHJ1 Y3QgeGVuX2RtX29wIG9wOwpAQCAtMTkyLDExICsxOTIsMTEgQEAgaW50IHhlbmRldmljZW1vZGVs X2dldF9pb3JlcV9zZXJ2ZXJfaW5mbygKICAgICBpZiAocmMpCiAgICAgICAgIHJldHVybiByYzsK IAotICAgIGlmIChpb3JlcV9wZm4pCi0gICAgICAgICppb3JlcV9wZm4gPSBkYXRhLT5pb3JlcV9w Zm47CisgICAgaWYgKGlvcmVxX2dmbikKKyAgICAgICAgKmlvcmVxX2dmbiA9IGRhdGEtPmlvcmVx X2dmbjsKIAotICAgIGlmIChidWZpb3JlcV9wZm4pCi0gICAgICAgICpidWZpb3JlcV9wZm4gPSBk YXRhLT5idWZpb3JlcV9wZm47CisgICAgaWYgKGJ1ZmlvcmVxX2dmbikKKyAgICAgICAgKmJ1Zmlv cmVxX2dmbiA9IGRhdGEtPmJ1ZmlvcmVxX2dmbjsKIAogICAgIGlmIChidWZpb3JlcV9wb3J0KQog ICAgICAgICAqYnVmaW9yZXFfcG9ydCA9IGRhdGEtPmJ1ZmlvcmVxX3BvcnQ7CmRpZmYgLS1naXQg YS90b29scy9saWJzL2RldmljZW1vZGVsL2luY2x1ZGUveGVuZGV2aWNlbW9kZWwuaCBiL3Rvb2xz L2xpYnMvZGV2aWNlbW9kZWwvaW5jbHVkZS94ZW5kZXZpY2Vtb2RlbC5oCmluZGV4IDU4MGZhZDJm NDkuLjEzMjE2ZGIwNGEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvaW5jbHVk ZS94ZW5kZXZpY2Vtb2RlbC5oCisrKyBiL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvaW5jbHVkZS94 ZW5kZXZpY2Vtb2RlbC5oCkBAIC02MCwxNyArNjAsMTcgQEAgaW50IHhlbmRldmljZW1vZGVsX2Ny ZWF0ZV9pb3JlcV9zZXJ2ZXIoCiAgKiBAcGFybSBkbW9kIGEgaGFuZGxlIHRvIGFuIG9wZW4gZGV2 aWNlbW9kZWwgaW50ZXJmYWNlLgogICogQHBhcm0gZG9taWQgdGhlIGRvbWFpbiBpZCB0byBiZSBz ZXJ2aWNlZAogICogQHBhcm0gaWQgdGhlIElPUkVRIFNlcnZlciBpZC4KLSAqIEBwYXJtIGlvcmVx X3BmbiBwb2ludGVyIHRvIGEgeGVuX3Bmbl90IHRvIHJlY2VpdmUgdGhlIHN5bmNocm9ub3VzIGlv cmVxCi0gKiAgICAgICAgICAgICAgICAgIGdtZm4KLSAqIEBwYXJtIGJ1ZmlvcmVxX3BmbiBwb2lu dGVyIHRvIGEgeGVuX3Bmbl90IHRvIHJlY2VpdmUgdGhlIGJ1ZmZlcmVkIGlvcmVxCi0gKiAgICAg ICAgICAgICAgICAgICAgZ21mbgorICogQHBhcm0gaW9yZXFfZ2ZuIHBvaW50ZXIgdG8gYSB4ZW5f cGZuX3QgdG8gcmVjZWl2ZSB0aGUgc3luY2hyb25vdXMgaW9yZXEKKyAqICAgICAgICAgICAgICAg ICAgZ2ZuCisgKiBAcGFybSBidWZpb3JlcV9nZm4gcG9pbnRlciB0byBhIHhlbl9wZm5fdCB0byBy ZWNlaXZlIHRoZSBidWZmZXJlZCBpb3JlcQorICogICAgICAgICAgICAgICAgICAgIGdmbgogICog QHBhcm0gYnVmaW9yZXFfcG9ydCBwb2ludGVyIHRvIGEgZXZ0Y2huX3BvcnRfdCB0byByZWNlaXZl IHRoZSBidWZmZXJlZAogICogICAgICAgICAgICAgICAgICAgICBpb3JlcSBldmVudCBjaGFubmVs CiAgKiBAcmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZmFpbHVyZS4KICAqLwogaW50IHhlbmRl dmljZW1vZGVsX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbygKICAgICB4ZW5kZXZpY2Vtb2RlbF9oYW5k bGUgKmRtb2QsIGRvbWlkX3QgZG9taWQsIGlvc2VydmlkX3QgaWQsCi0gICAgeGVuX3Bmbl90ICpp b3JlcV9wZm4sIHhlbl9wZm5fdCAqYnVmaW9yZXFfcGZuLAorICAgIHhlbl9wZm5fdCAqaW9yZXFf Z2ZuLCB4ZW5fcGZuX3QgKmJ1ZmlvcmVxX2dmbiwKICAgICBldnRjaG5fcG9ydF90ICpidWZpb3Jl cV9wb3J0KTsKIAogLyoqCkBAIC0xNjgsNyArMTY4LDcgQEAgaW50IHhlbmRldmljZW1vZGVsX2Rl c3Ryb3lfaW9yZXFfc2VydmVyKAogICogVGhpcyBmdW5jdGlvbiBzZXRzIElPUkVRIFNlcnZlciBz dGF0ZS4gQW4gSU9SRVEgU2VydmVyCiAgKiB3aWxsIG5vdCBiZSBwYXNzZWQgZW11bGF0aW9uIHJl cXVlc3RzIHVudGlsIGl0IGlzIGluCiAgKiB0aGUgZW5hYmxlZCBzdGF0ZS4KLSAqIE5vdGUgdGhh dCB0aGUgY29udGVudHMgb2YgdGhlIGlvcmVxX3BmbiBhbmQgYnVmaW9yZXFfcGZuIGFyZQorICog Tm90ZSB0aGF0IHRoZSBjb250ZW50cyBvZiB0aGUgaW9yZXFfZ2ZuIGFuZCBidWZpb3JlcV9nZm4g YXJlCiAgKiBub3QgbWVhbmluZ2Z1bCB1bnRpbCB0aGUgSU9SRVEgU2VydmVyIGlzIGluIHRoZSBl bmFibGVkIHN0YXRlLgogICoKICAqIEBwYXJtIGRtb2QgYSBoYW5kbGUgdG8gYW4gb3BlbiBkZXZp Y2Vtb2RlbCBpbnRlcmZhY2UuCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94 ZW4vYXJjaC94ODYvaHZtL2RtLmMKaW5kZXggNGNmNmRlZWRjNy4uZjdjYjg4M2ZlYyAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L2h2bS9kbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwpA QCAtNDI2LDggKzQyNiw4IEBAIHN0YXRpYyBpbnQgZG1fb3AoY29uc3Qgc3RydWN0IGRtb3BfYXJn cyAqb3BfYXJncykKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIHJjID0gaHZtX2dldF9p b3JlcV9zZXJ2ZXJfaW5mbyhkLCBkYXRhLT5pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZkYXRhLT5pb3JlcV9wZm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZGF0YS0+YnVmaW9yZXFfcGZuLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmRhdGEtPmlvcmVxX2dmbiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZkYXRhLT5idWZpb3JlcV9nZm4sCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZGF0YS0+YnVmaW9yZXFfcG9ydCk7CiAgICAgICAgIGJy ZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCmluZGV4IDZjYjkwM2RlZjUuLjU4YjRhZmExZDEgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAt NDE4NSwyMCArNDE4NSwyMCBAQCBzdGF0aWMgaW50IGh2bW9wX3NldF9wYXJhbSgKICAgICAgICAg ICAgIHJjID0gLUVJTlZBTDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBIVk1fUEFSQU1fSU9S RVFfU0VSVkVSX1BGTjoKLSAgICAgICAgZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX2dtZm4uYmFz ZSA9IGEudmFsdWU7CisgICAgICAgIGQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9nZm4uYmFzZSA9 IGEudmFsdWU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSFZNX1BBUkFNX05SX0lPUkVRX1NF UlZFUl9QQUdFUzoKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIGludCBpOwogCiAgICAgICAgIGlm ICggYS52YWx1ZSA9PSAwIHx8Ci0gICAgICAgICAgICAgYS52YWx1ZSA+IHNpemVvZihkLT5hcmNo Lmh2bV9kb21haW4uaW9yZXFfZ21mbi5tYXNrKSAqIDggKQorICAgICAgICAgICAgIGEudmFsdWUg PiBzaXplb2YoZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX2dmbi5tYXNrKSAqIDggKQogICAgICAg ICB7CiAgICAgICAgICAgICByYyA9IC1FSU5WQUw7CiAgICAgICAgICAgICBicmVhazsKICAgICAg ICAgfQogICAgICAgICBmb3IgKCBpID0gMDsgaSA8IGEudmFsdWU7IGkrKyApCi0gICAgICAgICAg ICBzZXRfYml0KGksICZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ21mbi5tYXNrKTsKKyAgICAg ICAgICAgIHNldF9iaXQoaSwgJmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9nZm4ubWFzayk7CiAK ICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9pb3Jl cS5jIGIveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jCmluZGV4IGIyYThiMGU5ODYuLjNlNzUzYmEy MjQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYworKysgYi94ZW4vYXJjaC94 ODYvaHZtL2lvcmVxLmMKQEAgLTE4MSwxNyArMTgxLDE3IEBAIGJvb2xfdCBoYW5kbGVfaHZtX2lv X2NvbXBsZXRpb24oc3RydWN0IHZjcHUgKnYpCiAgICAgcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBp bnQgaHZtX2FsbG9jX2lvcmVxX2dtZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyAq Z21mbikKK3N0YXRpYyBpbnQgaHZtX2FsbG9jX2lvcmVxX2dmbihzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBsb25nICpnZm4pCiB7CiAgICAgdW5zaWduZWQgaW50IGk7CiAgICAgaW50IHJjOwog CiAgICAgcmMgPSAtRU5PTUVNOwotICAgIGZvciAoIGkgPSAwOyBpIDwgc2l6ZW9mKGQtPmFyY2gu aHZtX2RvbWFpbi5pb3JlcV9nbWZuLm1hc2spICogODsgaSsrICkKKyAgICBmb3IgKCBpID0gMDsg aSA8IHNpemVvZihkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ2ZuLm1hc2spICogODsgaSsrICkK ICAgICB7Ci0gICAgICAgIGlmICggdGVzdF9hbmRfY2xlYXJfYml0KGksICZkLT5hcmNoLmh2bV9k b21haW4uaW9yZXFfZ21mbi5tYXNrKSApCisgICAgICAgIGlmICggdGVzdF9hbmRfY2xlYXJfYml0 KGksICZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ2ZuLm1hc2spICkKICAgICAgICAgewotICAg ICAgICAgICAgKmdtZm4gPSBkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ21mbi5iYXNlICsgaTsK KyAgICAgICAgICAgICpnZm4gPSBkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ2ZuLmJhc2UgKyBp OwogICAgICAgICAgICAgcmMgPSAwOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAg LTIwMCwxMiArMjAwLDEyIEBAIHN0YXRpYyBpbnQgaHZtX2FsbG9jX2lvcmVxX2dtZm4oc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyAqZ21mbikKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0 YXRpYyB2b2lkIGh2bV9mcmVlX2lvcmVxX2dtZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg bG9uZyBnbWZuKQorc3RhdGljIHZvaWQgaHZtX2ZyZWVfaW9yZXFfZ2ZuKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGxvbmcgZ2ZuKQogewotICAgIHVuc2lnbmVkIGludCBpID0gZ21mbiAtIGQt PmFyY2guaHZtX2RvbWFpbi5pb3JlcV9nbWZuLmJhc2U7CisgICAgdW5zaWduZWQgaW50IGkgPSBn Zm4gLSBkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ2ZuLmJhc2U7CiAKLSAgICBpZiAoIGdtZm4g IT0gZ2ZuX3goSU5WQUxJRF9HRk4pICkKLSAgICAgICAgc2V0X2JpdChpLCAmZC0+YXJjaC5odm1f ZG9tYWluLmlvcmVxX2dtZm4ubWFzayk7CisgICAgaWYgKCBnZm4gIT0gZ2ZuX3goSU5WQUxJRF9H Rk4pICkKKyAgICAgICAgc2V0X2JpdChpLCAmZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX2dmbi5t YXNrKTsKIH0KIAogc3RhdGljIHZvaWQgaHZtX3VubWFwX2lvcmVxX3BhZ2Uoc3RydWN0IGh2bV9p b3JlcV9zZXJ2ZXIgKnMsIGJvb2xfdCBidWYpCkBAIC0yMTYsNyArMjE2LDcgQEAgc3RhdGljIHZv aWQgaHZtX3VubWFwX2lvcmVxX3BhZ2Uoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2xf dCBidWYpCiB9CiAKIHN0YXRpYyBpbnQgaHZtX21hcF9pb3JlcV9wYWdlKAotICAgIHN0cnVjdCBo dm1faW9yZXFfc2VydmVyICpzLCBib29sX3QgYnVmLCB1bnNpZ25lZCBsb25nIGdtZm4pCisgICAg c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2xfdCBidWYsIHVuc2lnbmVkIGxvbmcgZ2Zu KQogewogICAgIHN0cnVjdCBkb21haW4gKmQgPSBzLT5kb21haW47CiAgICAgc3RydWN0IGh2bV9p b3JlcV9wYWdlICppb3JwID0gYnVmID8gJnMtPmJ1ZmlvcmVxIDogJnMtPmlvcmVxOwpAQCAtMjI0 LDcgKzIyNCw3IEBAIHN0YXRpYyBpbnQgaHZtX21hcF9pb3JlcV9wYWdlKAogICAgIHZvaWQgKnZh OwogICAgIGludCByYzsKIAotICAgIGlmICggKHJjID0gcHJlcGFyZV9yaW5nX2Zvcl9oZWxwZXIo ZCwgZ21mbiwgJnBhZ2UsICZ2YSkpICkKKyAgICBpZiAoIChyYyA9IHByZXBhcmVfcmluZ19mb3Jf aGVscGVyKGQsIGdmbiwgJnBhZ2UsICZ2YSkpICkKICAgICAgICAgcmV0dXJuIHJjOwogCiAgICAg aWYgKCAoaW9ycC0+dmEgIT0gTlVMTCkgfHwgZC0+aXNfZHlpbmcgKQpAQCAtMjM1LDcgKzIzNSw3 IEBAIHN0YXRpYyBpbnQgaHZtX21hcF9pb3JlcV9wYWdlKAogCiAgICAgaW9ycC0+dmEgPSB2YTsK ICAgICBpb3JwLT5wYWdlID0gcGFnZTsKLSAgICBpb3JwLT5nbWZuID0gZ21mbjsKKyAgICBpb3Jw LT5nZm4gPSBnZm47CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTI2NCwyMyArMjY0LDIzIEBAIGJv b2xfdCBpc19pb3JlcV9zZXJ2ZXJfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3Qg cGFnZV9pbmZvICpwYWdlKQogICAgIHJldHVybiBmb3VuZDsKIH0KIAotc3RhdGljIHZvaWQgaHZt X3JlbW92ZV9pb3JlcV9nbWZuKAorc3RhdGljIHZvaWQgaHZtX3JlbW92ZV9pb3JlcV9nZm4oCiAg ICAgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGh2bV9pb3JlcV9wYWdlICppb3JwKQogewotICAg IGlmICggZ3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFnZShkLCBfZ2ZuKGlvcnAtPmdtZm4pLAorICAg IGlmICggZ3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFnZShkLCBfZ2ZuKGlvcnAtPmdmbiksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9tZm4ocGFnZV90b19tZm4oaW9ycC0+cGFn ZSkpLCAwKSApCiAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKICAgICBjbGVhcl9wYWdlKGlvcnAt PnZhKTsKIH0KIAotc3RhdGljIGludCBodm1fYWRkX2lvcmVxX2dtZm4oCitzdGF0aWMgaW50IGh2 bV9hZGRfaW9yZXFfZ2ZuKAogICAgIHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBodm1faW9yZXFf cGFnZSAqaW9ycCkKIHsKICAgICBpbnQgcmM7CiAKICAgICBjbGVhcl9wYWdlKGlvcnAtPnZhKTsK IAotICAgIHJjID0gZ3Vlc3RfcGh5c21hcF9hZGRfcGFnZShkLCBfZ2ZuKGlvcnAtPmdtZm4pLAor ICAgIHJjID0gZ3Vlc3RfcGh5c21hcF9hZGRfcGFnZShkLCBfZ2ZuKGlvcnAtPmdmbiksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9tZm4ocGFnZV90b19tZm4oaW9ycC0+cGFnZSkp LCAwKTsKICAgICBpZiAoIHJjID09IDAgKQogICAgICAgICBwYWdpbmdfbWFya19kaXJ0eShkLCBf bWZuKHBhZ2VfdG9fbWZuKGlvcnAtPnBhZ2UpKSk7CkBAIC00MTIsMTcgKzQxMiwxNyBAQCBzdGF0 aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX3JlbW92ZV9hbGxfdmNwdXMoc3RydWN0IGh2bV9pb3Jl cV9zZXJ2ZXIgKnMpCiB9CiAKIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9tYXBfcGFnZXMo c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaW9yZXFfcGZuLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJ1ZmlvcmVxX3BmbikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBpb3JlcV9nZm4sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYnVmaW9yZXFf Z2ZuKQogewogICAgIGludCByYzsKIAotICAgIHJjID0gaHZtX21hcF9pb3JlcV9wYWdlKHMsIDAs IGlvcmVxX3Bmbik7CisgICAgcmMgPSBodm1fbWFwX2lvcmVxX3BhZ2UocywgMCwgaW9yZXFfZ2Zu KTsKICAgICBpZiAoIHJjICkKICAgICAgICAgcmV0dXJuIHJjOwogCi0gICAgaWYgKCBidWZpb3Jl cV9wZm4gIT0gZ2ZuX3goSU5WQUxJRF9HRk4pICkKLSAgICAgICAgcmMgPSBodm1fbWFwX2lvcmVx X3BhZ2UocywgMSwgYnVmaW9yZXFfcGZuKTsKKyAgICBpZiAoIGJ1ZmlvcmVxX2dmbiAhPSBnZm5f eChJTlZBTElEX0dGTikgKQorICAgICAgICByYyA9IGh2bV9tYXBfaW9yZXFfcGFnZShzLCAxLCBi dWZpb3JlcV9nZm4pOwogCiAgICAgaWYgKCByYyApCiAgICAgICAgIGh2bV91bm1hcF9pb3JlcV9w YWdlKHMsIDApOwpAQCAtNDM1LDggKzQzNSw4IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZl cl9zZXR1cF9wYWdlcyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgaGFuZGxlX2J1ZmlvcmVxKQogewogICAg IHN0cnVjdCBkb21haW4gKmQgPSBzLT5kb21haW47Ci0gICAgdW5zaWduZWQgbG9uZyBpb3JlcV9w Zm4gPSBnZm5feChJTlZBTElEX0dGTik7Ci0gICAgdW5zaWduZWQgbG9uZyBidWZpb3JlcV9wZm4g PSBnZm5feChJTlZBTElEX0dGTik7CisgICAgdW5zaWduZWQgbG9uZyBpb3JlcV9nZm4gPSBnZm5f eChJTlZBTElEX0dGTik7CisgICAgdW5zaWduZWQgbG9uZyBidWZpb3JlcV9nZm4gPSBnZm5feChJ TlZBTElEX0dGTik7CiAgICAgaW50IHJjOwogCiAgICAgaWYgKCBpc19kZWZhdWx0ICkKQEAgLTQ1 MSwxOCArNDUxLDE4IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9zZXR1cF9wYWdlcyhz dHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAgICAgICAgICAgICAgICAgICBkLT5hcmNoLmh2 bV9kb21haW4ucGFyYW1zW0hWTV9QQVJBTV9CVUZJT1JFUV9QRk5dKTsKICAgICB9CiAKLSAgICBy YyA9IGh2bV9hbGxvY19pb3JlcV9nbWZuKGQsICZpb3JlcV9wZm4pOworICAgIHJjID0gaHZtX2Fs bG9jX2lvcmVxX2dmbihkLCAmaW9yZXFfZ2ZuKTsKIAogICAgIGlmICggIXJjICYmIGhhbmRsZV9i dWZpb3JlcSApCi0gICAgICAgIHJjID0gaHZtX2FsbG9jX2lvcmVxX2dtZm4oZCwgJmJ1ZmlvcmVx X3Bmbik7CisgICAgICAgIHJjID0gaHZtX2FsbG9jX2lvcmVxX2dmbihkLCAmYnVmaW9yZXFfZ2Zu KTsKIAogICAgIGlmICggIXJjICkKLSAgICAgICAgcmMgPSBodm1faW9yZXFfc2VydmVyX21hcF9w YWdlcyhzLCBpb3JlcV9wZm4sIGJ1ZmlvcmVxX3Bmbik7CisgICAgICAgIHJjID0gaHZtX2lvcmVx X3NlcnZlcl9tYXBfcGFnZXMocywgaW9yZXFfZ2ZuLCBidWZpb3JlcV9nZm4pOwogCiAgICAgaWYg KCByYyApCiAgICAgewotICAgICAgICBodm1fZnJlZV9pb3JlcV9nbWZuKGQsIGlvcmVxX3Bmbik7 Ci0gICAgICAgIGh2bV9mcmVlX2lvcmVxX2dtZm4oZCwgYnVmaW9yZXFfcGZuKTsKKyAgICAgICAg aHZtX2ZyZWVfaW9yZXFfZ2ZuKGQsIGlvcmVxX2dmbik7CisgICAgICAgIGh2bV9mcmVlX2lvcmVx X2dmbihkLCBidWZpb3JlcV9nZm4pOwogICAgIH0KIAogICAgIHJldHVybiByYzsKQEAgLTQ4Miw5 ICs0ODIsOSBAQCBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX3VubWFwX3BhZ2VzKHN0cnVj dCBodm1faW9yZXFfc2VydmVyICpzLAogICAgIGlmICggIWlzX2RlZmF1bHQgKQogICAgIHsKICAg ICAgICAgaWYgKCBoYW5kbGVfYnVmaW9yZXEgKQotICAgICAgICAgICAgaHZtX2ZyZWVfaW9yZXFf Z21mbihkLCBzLT5idWZpb3JlcS5nbWZuKTsKKyAgICAgICAgICAgIGh2bV9mcmVlX2lvcmVxX2dm bihkLCBzLT5idWZpb3JlcS5nZm4pOwogCi0gICAgICAgIGh2bV9mcmVlX2lvcmVxX2dtZm4oZCwg cy0+aW9yZXEuZ21mbik7CisgICAgICAgIGh2bV9mcmVlX2lvcmVxX2dmbihkLCBzLT5pb3JlcS5n Zm4pOwogICAgIH0KIH0KIApAQCAtNTU2LDEwICs1NTYsMTAgQEAgc3RhdGljIHZvaWQgaHZtX2lv cmVxX3NlcnZlcl9lbmFibGUoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAKICAgICBpZiAo ICFpc19kZWZhdWx0ICkKICAgICB7Ci0gICAgICAgIGh2bV9yZW1vdmVfaW9yZXFfZ21mbihkLCAm cy0+aW9yZXEpOworICAgICAgICBodm1fcmVtb3ZlX2lvcmVxX2dmbihkLCAmcy0+aW9yZXEpOwog CiAgICAgICAgIGlmICggaGFuZGxlX2J1ZmlvcmVxICkKLSAgICAgICAgICAgIGh2bV9yZW1vdmVf aW9yZXFfZ21mbihkLCAmcy0+YnVmaW9yZXEpOworICAgICAgICAgICAgaHZtX3JlbW92ZV9pb3Jl cV9nZm4oZCwgJnMtPmJ1ZmlvcmVxKTsKICAgICB9CiAKICAgICBzLT5lbmFibGVkID0gMTsKQEAg LTU4Nyw5ICs1ODcsOSBAQCBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2Rpc2FibGUoc3Ry dWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAgICAgaWYgKCAhaXNfZGVmYXVsdCApCiAgICAgewog ICAgICAgICBpZiAoIGhhbmRsZV9idWZpb3JlcSApCi0gICAgICAgICAgICBodm1fYWRkX2lvcmVx X2dtZm4oZCwgJnMtPmJ1ZmlvcmVxKTsKKyAgICAgICAgICAgIGh2bV9hZGRfaW9yZXFfZ2ZuKGQs ICZzLT5idWZpb3JlcSk7CiAKLSAgICAgICAgaHZtX2FkZF9pb3JlcV9nbWZuKGQsICZzLT5pb3Jl cSk7CisgICAgICAgIGh2bV9hZGRfaW9yZXFfZ2ZuKGQsICZzLT5pb3JlcSk7CiAgICAgfQogCiAg ICAgcy0+ZW5hYmxlZCA9IDA7CkBAIC03NzYsOCArNzc2LDggQEAgaW50IGh2bV9kZXN0cm95X2lv cmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkKQogfQogCiBpbnQgaHZt X2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyhzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqaW9yZXFfcGZuLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqYnVmaW9yZXFfcGZu LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqaW9yZXFfZ2Zu LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqYnVmaW9yZXFf Z2ZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0Y2huX3BvcnRfdCAqYnVmaW9y ZXFfcG9ydCkKIHsKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKQEAgLTc5NiwxMSAr Nzk2LDExIEBAIGludCBodm1fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKHN0cnVjdCBkb21haW4gKmQs IGlvc2VydmlkX3QgaWQsCiAgICAgICAgIGlmICggcy0+aWQgIT0gaWQgKQogICAgICAgICAgICAg Y29udGludWU7CiAKLSAgICAgICAgKmlvcmVxX3BmbiA9IHMtPmlvcmVxLmdtZm47CisgICAgICAg ICppb3JlcV9nZm4gPSBzLT5pb3JlcS5nZm47CiAKICAgICAgICAgaWYgKCBzLT5idWZpb3JlcS52 YSAhPSBOVUxMICkKICAgICAgICAgewotICAgICAgICAgICAgKmJ1ZmlvcmVxX3BmbiA9IHMtPmJ1 ZmlvcmVxLmdtZm47CisgICAgICAgICAgICAqYnVmaW9yZXFfZ2ZuID0gcy0+YnVmaW9yZXEuZ2Zu OwogICAgICAgICAgICAgKmJ1ZmlvcmVxX3BvcnQgPSBzLT5idWZpb3JlcV9ldnRjaG47CiAgICAg ICAgIH0KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggYi94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaAppbmRleCBkMjg5OWM5YmIyLi5jZTUzNmY3 NWVmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaAorKysgYi94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1 ZGUgPHB1YmxpYy9odm0vZG1fb3AuaD4KIAogc3RydWN0IGh2bV9pb3JlcV9wYWdlIHsKLSAgICB1 bnNpZ25lZCBsb25nIGdtZm47CisgICAgdW5zaWduZWQgbG9uZyBnZm47CiAgICAgc3RydWN0IHBh Z2VfaW5mbyAqcGFnZTsKICAgICB2b2lkICp2YTsKIH07CkBAIC0xMDUsNyArMTA1LDcgQEAgc3Ry dWN0IGh2bV9kb21haW4gewogICAgIHN0cnVjdCB7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgYmFz ZTsKICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrOwotICAgIH0gaW9yZXFfZ21mbjsKKyAgICB9 IGlvcmVxX2dmbjsKIAogICAgIC8qIExvY2sgcHJvdGVjdHMgYWxsIG90aGVyIHZhbHVlcyBpbiB0 aGUgc3ViLXN0cnVjdCBhbmQgdGhlIGRlZmF1bHQgKi8KICAgICBzdHJ1Y3QgewpkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv aHZtL2lvcmVxLmgKaW5kZXggYjQzNjY3YTM2Ny4uNDNmYmUxMTVkYyAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS9pb3JlcS5oCkBAIC0yOCw4ICsyOCw4IEBAIGludCBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihz dHJ1Y3QgZG9tYWluICpkLCBkb21pZF90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlvc2VydmlkX3QgKmlkKTsKIGludCBodm1fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoc3RydWN0 IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCk7CiBpbnQgaHZtX2dldF9pb3JlcV9zZXJ2ZXJfaW5m byhzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyAqaW9yZXFfcGZuLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyAqYnVmaW9yZXFfcGZuLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqaW9yZXFfZ2ZuLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqYnVmaW9yZXFfZ2ZuLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZXZ0Y2huX3BvcnRfdCAqYnVmaW9yZXFfcG9ydCk7CiBpbnQgaHZtX21h cF9pb19yYW5nZV90b19pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBp ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0eXBlLCB1 aW50NjRfdCBzdGFydCwKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3Au aCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3AuaAppbmRleCAyYTRjM2Q5MzhkLi42YmJh YjVmY2EzIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2RtX29wLmgKKysrIGIv eGVuL2luY2x1ZGUvcHVibGljL2h2bS9kbV9vcC5oCkBAIC00MSw5ICs0MSw5IEBACiAgKiBBIGRv bWFpbiBzdXBwb3J0cyBhIHNpbmdsZSAnbGVnYWN5JyBJT1JFUSBTZXJ2ZXIgd2hpY2ggaXMgaW5z dGFudGlhdGVkIGlmCiAgKiBwYXJhbWV0ZXIuLi4KICAqCi0gKiBIVk1fUEFSQU1fSU9SRVFfUEZO IGlzIHJlYWQgKHRvIGdldCB0aGUgZ21mbiBjb250YWluaW5nIHRoZSBzeW5jaHJvbm91cworICog SFZNX1BBUkFNX0lPUkVRX1BGTiBpcyByZWFkICh0byBnZXQgdGhlIGdmbiBjb250YWluaW5nIHRo ZSBzeW5jaHJvbm91cwogICogaW9yZXEgc3RydWN0dXJlcyksIG9yLi4uCi0gKiBIVk1fUEFSQU1f QlVGSU9SRVFfUEZOIGlzIHJlYWQgKHRvIGdldCB0aGUgZ21mbiBjb250YWluaW5nIHRoZSBidWZm ZXJlZAorICogSFZNX1BBUkFNX0JVRklPUkVRX1BGTiBpcyByZWFkICh0byBnZXQgdGhlIGdmbiBj b250YWluaW5nIHRoZSBidWZmZXJlZAogICogaW9yZXEgcmluZyksIG9yLi4uCiAgKiBIVk1fUEFS QU1fQlVGSU9SRVFfRVZUQ0hOIGlzIHJlYWQgKHRvIGdldCB0aGUgZXZlbnQgY2hhbm5lbCB0aGF0 IFhlbiB1c2VzCiAgKiB0byByZXF1ZXN0IGJ1ZmZlcmVkIEkvTyBlbXVsYXRpb24pLgpAQCAtODEs MTQgKzgxLDE0IEBAIHN0cnVjdCB4ZW5fZG1fb3BfY3JlYXRlX2lvcmVxX3NlcnZlciB7CiAgKgog ICogVGhlIGVtdWxhdG9yIG5lZWRzIHRvIG1hcCB0aGUgc3luY2hyb25vdXMgaW9yZXEgc3RydWN0 dXJlcyBhbmQgYnVmZmVyZWQKICAqIGlvcmVxIHJpbmcgKGlmIGl0IGV4aXN0cykgdGhhdCBYZW4g dXNlcyB0byByZXF1ZXN0IGVtdWxhdGlvbi4gVGhlc2UgYXJlCi0gKiBob3N0ZWQgaW4gdGhlIHRh cmdldCBkb21haW4ncyBnbWZucyA8aW9yZXFfcGZuPiBhbmQgPGJ1ZmlvcmVxX3Bmbj4KKyAqIGhv c3RlZCBpbiB0aGUgdGFyZ2V0IGRvbWFpbidzIGdtZm5zIDxpb3JlcV9nZm4+IGFuZCA8YnVmaW9y ZXFfZ2ZuPgogICogcmVzcGVjdGl2ZWx5LiBJbiBhZGRpdGlvbiwgaWYgdGhlIElPUkVRIFNlcnZl ciBpcyBoYW5kbGluZyBidWZmZXJlZAogICogZW11bGF0aW9uIHJlcXVlc3RzLCB0aGUgZW11bGF0 b3IgbmVlZHMgdG8gYmluZCB0byBldmVudCBjaGFubmVsCiAgKiA8YnVmaW9yZXFfcG9ydD4gdG8g bGlzdGVuIGZvciB0aGVtLiAoVGhlIGV2ZW50IGNoYW5uZWxzIHVzZWQgZm9yCiAgKiBzeW5jaHJv bm91cyBlbXVsYXRpb24gcmVxdWVzdHMgYXJlIHNwZWNpZmllZCBpbiB0aGUgcGVyLUNQVSBpb3Jl cQotICogc3RydWN0dXJlcyBpbiA8aW9yZXFfcGZuPikuCisgKiBzdHJ1Y3R1cmVzIGluIDxpb3Jl cV9nZm4+KS4KICAqIElmIHRoZSBJT1JFUSBTZXJ2ZXIgaXMgbm90IGhhbmRsaW5nIGJ1ZmZlcmVk IGVtdWxhdGlvbiByZXF1ZXN0cyB0aGVuIHRoZQotICogdmFsdWVzIGhhbmRlZCBiYWNrIGluIDxi dWZpb3JlcV9wZm4+IGFuZCA8YnVmaW9yZXFfcG9ydD4gd2lsbCBib3RoIGJlIDAuCisgKiB2YWx1 ZXMgaGFuZGVkIGJhY2sgaW4gPGJ1ZmlvcmVxX2dmbj4gYW5kIDxidWZpb3JlcV9wb3J0PiB3aWxs IGJvdGggYmUgMC4KICAqLwogI2RlZmluZSBYRU5fRE1PUF9nZXRfaW9yZXFfc2VydmVyX2luZm8g MgogCkBAIC05OCwxMCArOTgsMTAgQEAgc3RydWN0IHhlbl9kbV9vcF9nZXRfaW9yZXFfc2VydmVy X2luZm8gewogICAgIHVpbnQxNl90IHBhZDsKICAgICAvKiBPVVQgLSBidWZmZXJlZCBpb3JlcSBw b3J0ICovCiAgICAgZXZ0Y2huX3BvcnRfdCBidWZpb3JlcV9wb3J0OwotICAgIC8qIE9VVCAtIHN5 bmMgaW9yZXEgcGZuICovCi0gICAgdWludDY0X2FsaWduZWRfdCBpb3JlcV9wZm47Ci0gICAgLyog T1VUIC0gYnVmZmVyZWQgaW9yZXEgcGZuICovCi0gICAgdWludDY0X2FsaWduZWRfdCBidWZpb3Jl cV9wZm47CisgICAgLyogT1VUIC0gc3luYyBpb3JlcSBnZm4gKi8KKyAgICB1aW50NjRfYWxpZ25l ZF90IGlvcmVxX2dmbjsKKyAgICAvKiBPVVQgLSBidWZmZXJlZCBpb3JlcSBnZm4gKi8KKyAgICB1 aW50NjRfYWxpZ25lZF90IGJ1ZmlvcmVxX2dmbjsKIH07CiAKIC8qCkBAIC0xNTAsNyArMTUwLDcg QEAgc3RydWN0IHhlbl9kbV9vcF9pb3JlcV9zZXJ2ZXJfcmFuZ2UgewogICoKICAqIFRoZSBJT1JF USBTZXJ2ZXIgd2lsbCBub3QgYmUgcGFzc2VkIGFueSBlbXVsYXRpb24gcmVxdWVzdHMgdW50aWwg aXQgaXMKICAqIGluIHRoZSBlbmFibGVkIHN0YXRlLgotICogTm90ZSB0aGF0IHRoZSBjb250ZW50 cyBvZiB0aGUgaW9yZXFfcGZuIGFuZCBidWZpb3JlcV9mbiAoc2VlCisgKiBOb3RlIHRoYXQgdGhl IGNvbnRlbnRzIG9mIHRoZSBpb3JlcV9nZm4gYW5kIGJ1ZmlvcmVxX2dmbiAoc2VlCiAgKiBYRU5f RE1PUF9nZXRfaW9yZXFfc2VydmVyX2luZm8pIGFyZSBub3QgbWVhbmluZ2Z1bCB1bnRpbCB0aGUg SU9SRVEgU2VydmVyCiAgKiBpcyBpbiB0aGUgZW5hYmxlZCBzdGF0ZS4KICAqLwotLSAKMi4xMS4w CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==