From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v5 06/12] x86/hvm/ioreq: rename .*pfn and .*gmfn to .*gfn Date: Fri, 8 Sep 2017 16:21:31 +0100 Message-ID: <20170908152137.22808-7-paul.durrant@citrix.com> References: <20170908152137.22808-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqL6H-0007d9-7Y for xen-devel@lists.xenproject.org; Fri, 08 Sep 2017 15:21:45 +0000 In-Reply-To: <20170908152137.22808-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 U2luY2UgaW9yZXEgc2VydmVycyBhcmUgb25seSByZWxldmFudCB0byBIVk0gZ3Vlc3RzIGFuZCBh bGwgdGhlIG5hbWVzIGluCnF1ZXN0aW9uIHVuZXF1aXZvY2FsbHkgcmVmZXIgdG8gZ3Vlc3QgZnJh bWUgbnVtYmVycywgbmFtZSB0aGVtIGFsbCAuKmdmbgp0byBhdm9pZCBhbnkgY29uZnVzaW9uLgoK VGhpcyBwYXRjaCBpcyBwdXJlbHkgY29zbWV0aWMuIE5vIHNlbWFudGljIG9yIGZ1bmN0aW9uYWwg Y2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4 LmNvbT4KUmV2aWV3ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+ClJldmlld2Vk LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCkNjOiBKYW4g QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v cGVyM0BjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnMvZGV2aWNlbW9kZWwvY29yZS5jICAgICAg ICAgICAgICAgICAgIHwgMTAgKystLQogdG9vbHMvbGlicy9kZXZpY2Vtb2RlbC9pbmNsdWRlL3hl bmRldmljZW1vZGVsLmggfCAxMiArKy0tCiB4ZW4vYXJjaC94ODYvaHZtL2RtLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICA0ICstCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICA2ICstCiB4ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMgICAgICAg ICAgICAgICAgICAgICAgICB8IDc0ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIHhlbi9pbmNs dWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oICAgICAgICAgICAgICAgIHwgIDQgKy0KIHhlbi9pbmNs dWRlL2FzbS14ODYvaHZtL2lvcmVxLmggICAgICAgICAgICAgICAgIHwgIDQgKy0KIHhlbi9pbmNs dWRlL3B1YmxpYy9odm0vZG1fb3AuaCAgICAgICAgICAgICAgICAgIHwgMjAgKysrLS0tLQogOCBm aWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS90b29scy9saWJzL2RldmljZW1vZGVsL2NvcmUuYyBiL3Rvb2xzL2xpYnMvZGV2aWNlbW9k ZWwvY29yZS5jCmluZGV4IGQ3YzY0NzYwMDYuLmZjYjI2MGQyOWIgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnMvZGV2aWNlbW9kZWwvY29yZS5jCisrKyBiL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvY29y ZS5jCkBAIC0xNzQsNyArMTc0LDcgQEAgaW50IHhlbmRldmljZW1vZGVsX2NyZWF0ZV9pb3JlcV9z ZXJ2ZXIoCiAKIGludCB4ZW5kZXZpY2Vtb2RlbF9nZXRfaW9yZXFfc2VydmVyX2luZm8oCiAgICAg eGVuZGV2aWNlbW9kZWxfaGFuZGxlICpkbW9kLCBkb21pZF90IGRvbWlkLCBpb3NlcnZpZF90IGlk LAotICAgIHhlbl9wZm5fdCAqaW9yZXFfcGZuLCB4ZW5fcGZuX3QgKmJ1ZmlvcmVxX3BmbiwKKyAg ICB4ZW5fcGZuX3QgKmlvcmVxX2dmbiwgeGVuX3Bmbl90ICpidWZpb3JlcV9nZm4sCiAgICAgZXZ0 Y2huX3BvcnRfdCAqYnVmaW9yZXFfcG9ydCkKIHsKICAgICBzdHJ1Y3QgeGVuX2RtX29wIG9wOwpA QCAtMTkyLDExICsxOTIsMTEgQEAgaW50IHhlbmRldmljZW1vZGVsX2dldF9pb3JlcV9zZXJ2ZXJf aW5mbygKICAgICBpZiAocmMpCiAgICAgICAgIHJldHVybiByYzsKIAotICAgIGlmIChpb3JlcV9w Zm4pCi0gICAgICAgICppb3JlcV9wZm4gPSBkYXRhLT5pb3JlcV9wZm47CisgICAgaWYgKGlvcmVx X2dmbikKKyAgICAgICAgKmlvcmVxX2dmbiA9IGRhdGEtPmlvcmVxX2dmbjsKIAotICAgIGlmIChi dWZpb3JlcV9wZm4pCi0gICAgICAgICpidWZpb3JlcV9wZm4gPSBkYXRhLT5idWZpb3JlcV9wZm47 CisgICAgaWYgKGJ1ZmlvcmVxX2dmbikKKyAgICAgICAgKmJ1ZmlvcmVxX2dmbiA9IGRhdGEtPmJ1 ZmlvcmVxX2dmbjsKIAogICAgIGlmIChidWZpb3JlcV9wb3J0KQogICAgICAgICAqYnVmaW9yZXFf cG9ydCA9IGRhdGEtPmJ1ZmlvcmVxX3BvcnQ7CmRpZmYgLS1naXQgYS90b29scy9saWJzL2Rldmlj ZW1vZGVsL2luY2x1ZGUveGVuZGV2aWNlbW9kZWwuaCBiL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwv aW5jbHVkZS94ZW5kZXZpY2Vtb2RlbC5oCmluZGV4IDU4MGZhZDJmNDkuLjEzMjE2ZGIwNGEgMTAw NjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvaW5jbHVkZS94ZW5kZXZpY2Vtb2RlbC5o CisrKyBiL3Rvb2xzL2xpYnMvZGV2aWNlbW9kZWwvaW5jbHVkZS94ZW5kZXZpY2Vtb2RlbC5oCkBA IC02MCwxNyArNjAsMTcgQEAgaW50IHhlbmRldmljZW1vZGVsX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIo CiAgKiBAcGFybSBkbW9kIGEgaGFuZGxlIHRvIGFuIG9wZW4gZGV2aWNlbW9kZWwgaW50ZXJmYWNl LgogICogQHBhcm0gZG9taWQgdGhlIGRvbWFpbiBpZCB0byBiZSBzZXJ2aWNlZAogICogQHBhcm0g aWQgdGhlIElPUkVRIFNlcnZlciBpZC4KLSAqIEBwYXJtIGlvcmVxX3BmbiBwb2ludGVyIHRvIGEg eGVuX3Bmbl90IHRvIHJlY2VpdmUgdGhlIHN5bmNocm9ub3VzIGlvcmVxCi0gKiAgICAgICAgICAg ICAgICAgIGdtZm4KLSAqIEBwYXJtIGJ1ZmlvcmVxX3BmbiBwb2ludGVyIHRvIGEgeGVuX3Bmbl90 IHRvIHJlY2VpdmUgdGhlIGJ1ZmZlcmVkIGlvcmVxCi0gKiAgICAgICAgICAgICAgICAgICAgZ21m bgorICogQHBhcm0gaW9yZXFfZ2ZuIHBvaW50ZXIgdG8gYSB4ZW5fcGZuX3QgdG8gcmVjZWl2ZSB0 aGUgc3luY2hyb25vdXMgaW9yZXEKKyAqICAgICAgICAgICAgICAgICAgZ2ZuCisgKiBAcGFybSBi dWZpb3JlcV9nZm4gcG9pbnRlciB0byBhIHhlbl9wZm5fdCB0byByZWNlaXZlIHRoZSBidWZmZXJl ZCBpb3JlcQorICogICAgICAgICAgICAgICAgICAgIGdmbgogICogQHBhcm0gYnVmaW9yZXFfcG9y dCBwb2ludGVyIHRvIGEgZXZ0Y2huX3BvcnRfdCB0byByZWNlaXZlIHRoZSBidWZmZXJlZAogICog ICAgICAgICAgICAgICAgICAgICBpb3JlcSBldmVudCBjaGFubmVsCiAgKiBAcmV0dXJuIDAgb24g c3VjY2VzcywgLTEgb24gZmFpbHVyZS4KICAqLwogaW50IHhlbmRldmljZW1vZGVsX2dldF9pb3Jl cV9zZXJ2ZXJfaW5mbygKICAgICB4ZW5kZXZpY2Vtb2RlbF9oYW5kbGUgKmRtb2QsIGRvbWlkX3Qg ZG9taWQsIGlvc2VydmlkX3QgaWQsCi0gICAgeGVuX3Bmbl90ICppb3JlcV9wZm4sIHhlbl9wZm5f dCAqYnVmaW9yZXFfcGZuLAorICAgIHhlbl9wZm5fdCAqaW9yZXFfZ2ZuLCB4ZW5fcGZuX3QgKmJ1 ZmlvcmVxX2dmbiwKICAgICBldnRjaG5fcG9ydF90ICpidWZpb3JlcV9wb3J0KTsKIAogLyoqCkBA IC0xNjgsNyArMTY4LDcgQEAgaW50IHhlbmRldmljZW1vZGVsX2Rlc3Ryb3lfaW9yZXFfc2VydmVy KAogICogVGhpcyBmdW5jdGlvbiBzZXRzIElPUkVRIFNlcnZlciBzdGF0ZS4gQW4gSU9SRVEgU2Vy dmVyCiAgKiB3aWxsIG5vdCBiZSBwYXNzZWQgZW11bGF0aW9uIHJlcXVlc3RzIHVudGlsIGl0IGlz IGluCiAgKiB0aGUgZW5hYmxlZCBzdGF0ZS4KLSAqIE5vdGUgdGhhdCB0aGUgY29udGVudHMgb2Yg dGhlIGlvcmVxX3BmbiBhbmQgYnVmaW9yZXFfcGZuIGFyZQorICogTm90ZSB0aGF0IHRoZSBjb250 ZW50cyBvZiB0aGUgaW9yZXFfZ2ZuIGFuZCBidWZpb3JlcV9nZm4gYXJlCiAgKiBub3QgbWVhbmlu Z2Z1bCB1bnRpbCB0aGUgSU9SRVEgU2VydmVyIGlzIGluIHRoZSBlbmFibGVkIHN0YXRlLgogICoK ICAqIEBwYXJtIGRtb2QgYSBoYW5kbGUgdG8gYW4gb3BlbiBkZXZpY2Vtb2RlbCBpbnRlcmZhY2Uu CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2Rt LmMKaW5kZXggNGNmNmRlZWRjNy4uZjdjYjg4M2ZlYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L2h2bS9kbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwpAQCAtNDI2LDggKzQyNiw4IEBA IHN0YXRpYyBpbnQgZG1fb3AoY29uc3Qgc3RydWN0IGRtb3BfYXJncyAqb3BfYXJncykKICAgICAg ICAgICAgIGJyZWFrOwogCiAgICAgICAgIHJjID0gaHZtX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyhk LCBkYXRhLT5pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRh LT5pb3JlcV9wZm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0 YS0+YnVmaW9yZXFfcGZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JmRhdGEtPmlvcmVxX2dmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZkYXRhLT5idWZpb3JlcV9nZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmZGF0YS0+YnVmaW9yZXFfcG9ydCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmlu ZGV4IDZjYjkwM2RlZjUuLjU4YjRhZmExZDEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v aHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtNDE4NSwyMCArNDE4NSwyMCBA QCBzdGF0aWMgaW50IGh2bW9wX3NldF9wYXJhbSgKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsK ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBIVk1fUEFSQU1fSU9SRVFfU0VSVkVSX1BGTjoKLSAg ICAgICAgZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX2dtZm4uYmFzZSA9IGEudmFsdWU7CisgICAg ICAgIGQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9nZm4uYmFzZSA9IGEudmFsdWU7CiAgICAgICAg IGJyZWFrOwogICAgIGNhc2UgSFZNX1BBUkFNX05SX0lPUkVRX1NFUlZFUl9QQUdFUzoKICAgICB7 CiAgICAgICAgIHVuc2lnbmVkIGludCBpOwogCiAgICAgICAgIGlmICggYS52YWx1ZSA9PSAwIHx8 Ci0gICAgICAgICAgICAgYS52YWx1ZSA+IHNpemVvZihkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFf Z21mbi5tYXNrKSAqIDggKQorICAgICAgICAgICAgIGEudmFsdWUgPiBzaXplb2YoZC0+YXJjaC5o dm1fZG9tYWluLmlvcmVxX2dmbi5tYXNrKSAqIDggKQogICAgICAgICB7CiAgICAgICAgICAgICBy YyA9IC1FSU5WQUw7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBmb3Ig KCBpID0gMDsgaSA8IGEudmFsdWU7IGkrKyApCi0gICAgICAgICAgICBzZXRfYml0KGksICZkLT5h cmNoLmh2bV9kb21haW4uaW9yZXFfZ21mbi5tYXNrKTsKKyAgICAgICAgICAgIHNldF9iaXQoaSwg JmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9nZm4ubWFzayk7CiAKICAgICAgICAgYnJlYWs7CiAg ICAgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jIGIveGVuL2FyY2gveDg2 L2h2bS9pb3JlcS5jCmluZGV4IDc1Mjk3NmQxNmQuLjY5OTEzY2YzY2QgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9odm0vaW9yZXEuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKQEAg LTE4MSwxNyArMTgxLDE3IEBAIGJvb2xfdCBoYW5kbGVfaHZtX2lvX2NvbXBsZXRpb24oc3RydWN0 IHZjcHUgKnYpCiAgICAgcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBpbnQgaHZtX2FsbG9jX2lvcmVx X2dtZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyAqZ21mbikKK3N0YXRpYyBpbnQg aHZtX2FsbG9jX2lvcmVxX2dmbihzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nICpnZm4p CiB7CiAgICAgdW5zaWduZWQgaW50IGk7CiAgICAgaW50IHJjOwogCiAgICAgcmMgPSAtRU5PTUVN OwotICAgIGZvciAoIGkgPSAwOyBpIDwgc2l6ZW9mKGQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9n bWZuLm1hc2spICogODsgaSsrICkKKyAgICBmb3IgKCBpID0gMDsgaSA8IHNpemVvZihkLT5hcmNo Lmh2bV9kb21haW4uaW9yZXFfZ2ZuLm1hc2spICogODsgaSsrICkKICAgICB7Ci0gICAgICAgIGlm ICggdGVzdF9hbmRfY2xlYXJfYml0KGksICZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ21mbi5t YXNrKSApCisgICAgICAgIGlmICggdGVzdF9hbmRfY2xlYXJfYml0KGksICZkLT5hcmNoLmh2bV9k b21haW4uaW9yZXFfZ2ZuLm1hc2spICkKICAgICAgICAgewotICAgICAgICAgICAgKmdtZm4gPSBk LT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ21mbi5iYXNlICsgaTsKKyAgICAgICAgICAgICpnZm4g PSBkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfZ2ZuLmJhc2UgKyBpOwogICAgICAgICAgICAgcmMg PSAwOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTIwMCwxMiArMjAwLDEyIEBA IHN0YXRpYyBpbnQgaHZtX2FsbG9jX2lvcmVxX2dtZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgbG9uZyAqZ21mbikKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyB2b2lkIGh2bV9mcmVl X2lvcmVxX2dtZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnbWZuKQorc3RhdGlj IHZvaWQgaHZtX2ZyZWVfaW9yZXFfZ2ZuKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg Z2ZuKQogewotICAgIHVuc2lnbmVkIGludCBpID0gZ21mbiAtIGQtPmFyY2guaHZtX2RvbWFpbi5p b3JlcV9nbWZuLmJhc2U7CisgICAgdW5zaWduZWQgaW50IGkgPSBnZm4gLSBkLT5hcmNoLmh2bV9k b21haW4uaW9yZXFfZ2ZuLmJhc2U7CiAKLSAgICBpZiAoIGdtZm4gIT0gZ2ZuX3goSU5WQUxJRF9H Rk4pICkKLSAgICAgICAgc2V0X2JpdChpLCAmZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX2dtZm4u bWFzayk7CisgICAgaWYgKCBnZm4gIT0gZ2ZuX3goSU5WQUxJRF9HRk4pICkKKyAgICAgICAgc2V0 X2JpdChpLCAmZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX2dmbi5tYXNrKTsKIH0KIAogc3RhdGlj IHZvaWQgaHZtX3VubWFwX2lvcmVxX3BhZ2Uoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJv b2xfdCBidWYpCkBAIC0yMTYsNyArMjE2LDcgQEAgc3RhdGljIHZvaWQgaHZtX3VubWFwX2lvcmVx X3BhZ2Uoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsIGJvb2xfdCBidWYpCiB9CiAKIHN0YXRp YyBpbnQgaHZtX21hcF9pb3JlcV9wYWdlKAotICAgIHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpz LCBib29sX3QgYnVmLCB1bnNpZ25lZCBsb25nIGdtZm4pCisgICAgc3RydWN0IGh2bV9pb3JlcV9z ZXJ2ZXIgKnMsIGJvb2xfdCBidWYsIHVuc2lnbmVkIGxvbmcgZ2ZuKQogewogICAgIHN0cnVjdCBk b21haW4gKmQgPSBzLT5kb21haW47CiAgICAgc3RydWN0IGh2bV9pb3JlcV9wYWdlICppb3JwID0g YnVmID8gJnMtPmJ1ZmlvcmVxIDogJnMtPmlvcmVxOwpAQCAtMjI0LDcgKzIyNCw3IEBAIHN0YXRp YyBpbnQgaHZtX21hcF9pb3JlcV9wYWdlKAogICAgIHZvaWQgKnZhOwogICAgIGludCByYzsKIAot ICAgIGlmICggKHJjID0gcHJlcGFyZV9yaW5nX2Zvcl9oZWxwZXIoZCwgZ21mbiwgJnBhZ2UsICZ2 YSkpICkKKyAgICBpZiAoIChyYyA9IHByZXBhcmVfcmluZ19mb3JfaGVscGVyKGQsIGdmbiwgJnBh Z2UsICZ2YSkpICkKICAgICAgICAgcmV0dXJuIHJjOwogCiAgICAgaWYgKCAoaW9ycC0+dmEgIT0g TlVMTCkgfHwgZC0+aXNfZHlpbmcgKQpAQCAtMjM1LDcgKzIzNSw3IEBAIHN0YXRpYyBpbnQgaHZt X21hcF9pb3JlcV9wYWdlKAogCiAgICAgaW9ycC0+dmEgPSB2YTsKICAgICBpb3JwLT5wYWdlID0g cGFnZTsKLSAgICBpb3JwLT5nbWZuID0gZ21mbjsKKyAgICBpb3JwLT5nZm4gPSBnZm47CiAKICAg ICByZXR1cm4gMDsKIH0KQEAgLTI2NCwyMyArMjY0LDIzIEBAIGJvb2xfdCBpc19pb3JlcV9zZXJ2 ZXJfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQog ICAgIHJldHVybiBmb3VuZDsKIH0KIAotc3RhdGljIHZvaWQgaHZtX3JlbW92ZV9pb3JlcV9nbWZu KAorc3RhdGljIHZvaWQgaHZtX3JlbW92ZV9pb3JlcV9nZm4oCiAgICAgc3RydWN0IGRvbWFpbiAq ZCwgc3RydWN0IGh2bV9pb3JlcV9wYWdlICppb3JwKQogewotICAgIGlmICggZ3Vlc3RfcGh5c21h cF9yZW1vdmVfcGFnZShkLCBfZ2ZuKGlvcnAtPmdtZm4pLAorICAgIGlmICggZ3Vlc3RfcGh5c21h cF9yZW1vdmVfcGFnZShkLCBfZ2ZuKGlvcnAtPmdmbiksCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF9tZm4ocGFnZV90b19tZm4oaW9ycC0+cGFnZSkpLCAwKSApCiAgICAgICAg IGRvbWFpbl9jcmFzaChkKTsKICAgICBjbGVhcl9wYWdlKGlvcnAtPnZhKTsKIH0KIAotc3RhdGlj IGludCBodm1fYWRkX2lvcmVxX2dtZm4oCitzdGF0aWMgaW50IGh2bV9hZGRfaW9yZXFfZ2ZuKAog ICAgIHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBodm1faW9yZXFfcGFnZSAqaW9ycCkKIHsKICAg ICBpbnQgcmM7CiAKICAgICBjbGVhcl9wYWdlKGlvcnAtPnZhKTsKIAotICAgIHJjID0gZ3Vlc3Rf cGh5c21hcF9hZGRfcGFnZShkLCBfZ2ZuKGlvcnAtPmdtZm4pLAorICAgIHJjID0gZ3Vlc3RfcGh5 c21hcF9hZGRfcGFnZShkLCBfZ2ZuKGlvcnAtPmdmbiksCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF9tZm4ocGFnZV90b19tZm4oaW9ycC0+cGFnZSkpLCAwKTsKICAgICBpZiAoIHJj ID09IDAgKQogICAgICAgICBwYWdpbmdfbWFya19kaXJ0eShkLCBfbWZuKHBhZ2VfdG9fbWZuKGlv cnAtPnBhZ2UpKSk7CkBAIC00MTIsMTcgKzQxMiwxNyBAQCBzdGF0aWMgdm9pZCBodm1faW9yZXFf c2VydmVyX3JlbW92ZV9hbGxfdmNwdXMoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMpCiB9CiAK IHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9tYXBfcGFnZXMoc3RydWN0IGh2bV9pb3JlcV9z ZXJ2ZXIgKnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgaW9yZXFfcGZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBsb25nIGJ1ZmlvcmVxX3BmbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyBpb3JlcV9nZm4sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYnVmaW9yZXFfZ2ZuKQogewogICAgIGludCBy YzsKIAotICAgIHJjID0gaHZtX21hcF9pb3JlcV9wYWdlKHMsIDAsIGlvcmVxX3Bmbik7CisgICAg cmMgPSBodm1fbWFwX2lvcmVxX3BhZ2UocywgMCwgaW9yZXFfZ2ZuKTsKICAgICBpZiAoIHJjICkK ICAgICAgICAgcmV0dXJuIHJjOwogCi0gICAgaWYgKCBidWZpb3JlcV9wZm4gIT0gZ2ZuX3goSU5W QUxJRF9HRk4pICkKLSAgICAgICAgcmMgPSBodm1fbWFwX2lvcmVxX3BhZ2UocywgMSwgYnVmaW9y ZXFfcGZuKTsKKyAgICBpZiAoIGJ1ZmlvcmVxX2dmbiAhPSBnZm5feChJTlZBTElEX0dGTikgKQor ICAgICAgICByYyA9IGh2bV9tYXBfaW9yZXFfcGFnZShzLCAxLCBidWZpb3JlcV9nZm4pOwogCiAg ICAgaWYgKCByYyApCiAgICAgICAgIGh2bV91bm1hcF9pb3JlcV9wYWdlKHMsIDApOwpAQCAtNDM1 LDggKzQzNSw4IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9zZXR1cF9wYWdlcyhzdHJ1 Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sX3QgaGFuZGxlX2J1ZmlvcmVxKQogewogICAgIHN0cnVjdCBkb21haW4gKmQg PSBzLT5kb21haW47Ci0gICAgdW5zaWduZWQgbG9uZyBpb3JlcV9wZm4gPSBnZm5feChJTlZBTElE X0dGTik7Ci0gICAgdW5zaWduZWQgbG9uZyBidWZpb3JlcV9wZm4gPSBnZm5feChJTlZBTElEX0dG Tik7CisgICAgdW5zaWduZWQgbG9uZyBpb3JlcV9nZm4gPSBnZm5feChJTlZBTElEX0dGTik7Cisg ICAgdW5zaWduZWQgbG9uZyBidWZpb3JlcV9nZm4gPSBnZm5feChJTlZBTElEX0dGTik7CiAgICAg aW50IHJjOwogCiAgICAgaWYgKCBpc19kZWZhdWx0ICkKQEAgLTQ1MSwxOCArNDUxLDE4IEBAIHN0 YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9zZXR1cF9wYWdlcyhzdHJ1Y3QgaHZtX2lvcmVxX3Nl cnZlciAqcywKICAgICAgICAgICAgICAgICAgICBkLT5hcmNoLmh2bV9kb21haW4ucGFyYW1zW0hW TV9QQVJBTV9CVUZJT1JFUV9QRk5dKTsKICAgICB9CiAKLSAgICByYyA9IGh2bV9hbGxvY19pb3Jl cV9nbWZuKGQsICZpb3JlcV9wZm4pOworICAgIHJjID0gaHZtX2FsbG9jX2lvcmVxX2dmbihkLCAm aW9yZXFfZ2ZuKTsKIAogICAgIGlmICggIXJjICYmIGhhbmRsZV9idWZpb3JlcSApCi0gICAgICAg IHJjID0gaHZtX2FsbG9jX2lvcmVxX2dtZm4oZCwgJmJ1ZmlvcmVxX3Bmbik7CisgICAgICAgIHJj ID0gaHZtX2FsbG9jX2lvcmVxX2dmbihkLCAmYnVmaW9yZXFfZ2ZuKTsKIAogICAgIGlmICggIXJj ICkKLSAgICAgICAgcmMgPSBodm1faW9yZXFfc2VydmVyX21hcF9wYWdlcyhzLCBpb3JlcV9wZm4s IGJ1ZmlvcmVxX3Bmbik7CisgICAgICAgIHJjID0gaHZtX2lvcmVxX3NlcnZlcl9tYXBfcGFnZXMo cywgaW9yZXFfZ2ZuLCBidWZpb3JlcV9nZm4pOwogCiAgICAgaWYgKCByYyApCiAgICAgewotICAg ICAgICBodm1fZnJlZV9pb3JlcV9nbWZuKGQsIGlvcmVxX3Bmbik7Ci0gICAgICAgIGh2bV9mcmVl X2lvcmVxX2dtZm4oZCwgYnVmaW9yZXFfcGZuKTsKKyAgICAgICAgaHZtX2ZyZWVfaW9yZXFfZ2Zu KGQsIGlvcmVxX2dmbik7CisgICAgICAgIGh2bV9mcmVlX2lvcmVxX2dmbihkLCBidWZpb3JlcV9n Zm4pOwogICAgIH0KIAogICAgIHJldHVybiByYzsKQEAgLTQ4Miw5ICs0ODIsOSBAQCBzdGF0aWMg dm9pZCBodm1faW9yZXFfc2VydmVyX3VubWFwX3BhZ2VzKHN0cnVjdCBodm1faW9yZXFfc2VydmVy ICpzLAogICAgIGlmICggIWlzX2RlZmF1bHQgKQogICAgIHsKICAgICAgICAgaWYgKCBoYW5kbGVf YnVmaW9yZXEgKQotICAgICAgICAgICAgaHZtX2ZyZWVfaW9yZXFfZ21mbihkLCBzLT5idWZpb3Jl cS5nbWZuKTsKKyAgICAgICAgICAgIGh2bV9mcmVlX2lvcmVxX2dmbihkLCBzLT5idWZpb3JlcS5n Zm4pOwogCi0gICAgICAgIGh2bV9mcmVlX2lvcmVxX2dtZm4oZCwgcy0+aW9yZXEuZ21mbik7Cisg ICAgICAgIGh2bV9mcmVlX2lvcmVxX2dmbihkLCBzLT5pb3JlcS5nZm4pOwogICAgIH0KIH0KIApA QCAtNTU2LDEwICs1NTYsMTAgQEAgc3RhdGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9lbmFibGUo c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAKICAgICBpZiAoICFpc19kZWZhdWx0ICkKICAg ICB7Ci0gICAgICAgIGh2bV9yZW1vdmVfaW9yZXFfZ21mbihkLCAmcy0+aW9yZXEpOworICAgICAg ICBodm1fcmVtb3ZlX2lvcmVxX2dmbihkLCAmcy0+aW9yZXEpOwogCiAgICAgICAgIGlmICggaGFu ZGxlX2J1ZmlvcmVxICkKLSAgICAgICAgICAgIGh2bV9yZW1vdmVfaW9yZXFfZ21mbihkLCAmcy0+ YnVmaW9yZXEpOworICAgICAgICAgICAgaHZtX3JlbW92ZV9pb3JlcV9nZm4oZCwgJnMtPmJ1Zmlv cmVxKTsKICAgICB9CiAKICAgICBzLT5lbmFibGVkID0gMTsKQEAgLTU4Nyw5ICs1ODcsOSBAQCBz dGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2Rpc2FibGUoc3RydWN0IGh2bV9pb3JlcV9zZXJ2 ZXIgKnMsCiAgICAgaWYgKCAhaXNfZGVmYXVsdCApCiAgICAgewogICAgICAgICBpZiAoIGhhbmRs ZV9idWZpb3JlcSApCi0gICAgICAgICAgICBodm1fYWRkX2lvcmVxX2dtZm4oZCwgJnMtPmJ1Zmlv cmVxKTsKKyAgICAgICAgICAgIGh2bV9hZGRfaW9yZXFfZ2ZuKGQsICZzLT5idWZpb3JlcSk7CiAK LSAgICAgICAgaHZtX2FkZF9pb3JlcV9nbWZuKGQsICZzLT5pb3JlcSk7CisgICAgICAgIGh2bV9h ZGRfaW9yZXFfZ2ZuKGQsICZzLT5pb3JlcSk7CiAgICAgfQogCiAgICAgcy0+ZW5hYmxlZCA9IDA7 CkBAIC03NzYsOCArNzc2LDggQEAgaW50IGh2bV9kZXN0cm95X2lvcmVxX3NlcnZlcihzdHJ1Y3Qg ZG9tYWluICpkLCBpb3NlcnZpZF90IGlkKQogfQogCiBpbnQgaHZtX2dldF9pb3JlcV9zZXJ2ZXJf aW5mbyhzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqaW9yZXFfcGZuLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqYnVmaW9yZXFfcGZuLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqaW9yZXFfZ2ZuLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqYnVmaW9yZXFfZ2ZuLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZXZ0Y2huX3BvcnRfdCAqYnVmaW9yZXFfcG9ydCkKIHsKICAgICBz dHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsKQEAgLTc5NiwxMSArNzk2LDExIEBAIGludCBodm1f Z2V0X2lvcmVxX3NlcnZlcl9pbmZvKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAg ICAgICAgIGlmICggcy0+aWQgIT0gaWQgKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAg ICAgKmlvcmVxX3BmbiA9IHMtPmlvcmVxLmdtZm47CisgICAgICAgICppb3JlcV9nZm4gPSBzLT5p b3JlcS5nZm47CiAKICAgICAgICAgaWYgKCBzLT5idWZpb3JlcS52YSAhPSBOVUxMICkKICAgICAg ICAgewotICAgICAgICAgICAgKmJ1ZmlvcmVxX3BmbiA9IHMtPmJ1ZmlvcmVxLmdtZm47CisgICAg ICAgICAgICAqYnVmaW9yZXFfZ2ZuID0gcy0+YnVmaW9yZXEuZ2ZuOwogICAgICAgICAgICAgKmJ1 ZmlvcmVxX3BvcnQgPSBzLT5idWZpb3JlcV9ldnRjaG47CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS9kb21haW4uaAppbmRleCBkMjg5OWM5YmIyLi5jZTUzNmY3NWVmIDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS9kb21haW4uaApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPHB1YmxpYy9odm0vZG1f b3AuaD4KIAogc3RydWN0IGh2bV9pb3JlcV9wYWdlIHsKLSAgICB1bnNpZ25lZCBsb25nIGdtZm47 CisgICAgdW5zaWduZWQgbG9uZyBnZm47CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsKICAg ICB2b2lkICp2YTsKIH07CkBAIC0xMDUsNyArMTA1LDcgQEAgc3RydWN0IGh2bV9kb21haW4gewog ICAgIHN0cnVjdCB7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgYmFzZTsKICAgICAgICAgdW5zaWdu ZWQgbG9uZyBtYXNrOwotICAgIH0gaW9yZXFfZ21mbjsKKyAgICB9IGlvcmVxX2dmbjsKIAogICAg IC8qIExvY2sgcHJvdGVjdHMgYWxsIG90aGVyIHZhbHVlcyBpbiB0aGUgc3ViLXN0cnVjdCBhbmQg dGhlIGRlZmF1bHQgKi8KICAgICBzdHJ1Y3QgewpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9odm0vaW9yZXEuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVxLmgKaW5kZXgg YjQzNjY3YTM2Ny4uNDNmYmUxMTVkYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9o dm0vaW9yZXEuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9pb3JlcS5oCkBAIC0yOCw4 ICsyOCw4IEBAIGludCBodm1fY3JlYXRlX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBk b21pZF90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkX3QgKmlk KTsKIGludCBodm1fZGVzdHJveV9pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2 aWRfdCBpZCk7CiBpbnQgaHZtX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyhzdHJ1Y3QgZG9tYWluICpk LCBpb3NlcnZpZF90IGlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg bG9uZyAqaW9yZXFfcGZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg bG9uZyAqYnVmaW9yZXFfcGZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyAqaW9yZXFfZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyAqYnVmaW9yZXFfZ2ZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0 Y2huX3BvcnRfdCAqYnVmaW9yZXFfcG9ydCk7CiBpbnQgaHZtX21hcF9pb19yYW5nZV90b19pb3Jl cV9zZXJ2ZXIoc3RydWN0IGRvbWFpbiAqZCwgaW9zZXJ2aWRfdCBpZCwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0eXBlLCB1aW50NjRfdCBzdGFydCwKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3AuaCBiL3hlbi9pbmNsdWRlL3B1 YmxpYy9odm0vZG1fb3AuaAppbmRleCAyYTRjM2Q5MzhkLi42YmJhYjVmY2EzIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2RtX29wLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGlj L2h2bS9kbV9vcC5oCkBAIC00MSw5ICs0MSw5IEBACiAgKiBBIGRvbWFpbiBzdXBwb3J0cyBhIHNp bmdsZSAnbGVnYWN5JyBJT1JFUSBTZXJ2ZXIgd2hpY2ggaXMgaW5zdGFudGlhdGVkIGlmCiAgKiBw YXJhbWV0ZXIuLi4KICAqCi0gKiBIVk1fUEFSQU1fSU9SRVFfUEZOIGlzIHJlYWQgKHRvIGdldCB0 aGUgZ21mbiBjb250YWluaW5nIHRoZSBzeW5jaHJvbm91cworICogSFZNX1BBUkFNX0lPUkVRX1BG TiBpcyByZWFkICh0byBnZXQgdGhlIGdmbiBjb250YWluaW5nIHRoZSBzeW5jaHJvbm91cwogICog aW9yZXEgc3RydWN0dXJlcyksIG9yLi4uCi0gKiBIVk1fUEFSQU1fQlVGSU9SRVFfUEZOIGlzIHJl YWQgKHRvIGdldCB0aGUgZ21mbiBjb250YWluaW5nIHRoZSBidWZmZXJlZAorICogSFZNX1BBUkFN X0JVRklPUkVRX1BGTiBpcyByZWFkICh0byBnZXQgdGhlIGdmbiBjb250YWluaW5nIHRoZSBidWZm ZXJlZAogICogaW9yZXEgcmluZyksIG9yLi4uCiAgKiBIVk1fUEFSQU1fQlVGSU9SRVFfRVZUQ0hO IGlzIHJlYWQgKHRvIGdldCB0aGUgZXZlbnQgY2hhbm5lbCB0aGF0IFhlbiB1c2VzCiAgKiB0byBy ZXF1ZXN0IGJ1ZmZlcmVkIEkvTyBlbXVsYXRpb24pLgpAQCAtODEsMTQgKzgxLDE0IEBAIHN0cnVj dCB4ZW5fZG1fb3BfY3JlYXRlX2lvcmVxX3NlcnZlciB7CiAgKgogICogVGhlIGVtdWxhdG9yIG5l ZWRzIHRvIG1hcCB0aGUgc3luY2hyb25vdXMgaW9yZXEgc3RydWN0dXJlcyBhbmQgYnVmZmVyZWQK ICAqIGlvcmVxIHJpbmcgKGlmIGl0IGV4aXN0cykgdGhhdCBYZW4gdXNlcyB0byByZXF1ZXN0IGVt dWxhdGlvbi4gVGhlc2UgYXJlCi0gKiBob3N0ZWQgaW4gdGhlIHRhcmdldCBkb21haW4ncyBnbWZu cyA8aW9yZXFfcGZuPiBhbmQgPGJ1ZmlvcmVxX3Bmbj4KKyAqIGhvc3RlZCBpbiB0aGUgdGFyZ2V0 IGRvbWFpbidzIGdtZm5zIDxpb3JlcV9nZm4+IGFuZCA8YnVmaW9yZXFfZ2ZuPgogICogcmVzcGVj dGl2ZWx5LiBJbiBhZGRpdGlvbiwgaWYgdGhlIElPUkVRIFNlcnZlciBpcyBoYW5kbGluZyBidWZm ZXJlZAogICogZW11bGF0aW9uIHJlcXVlc3RzLCB0aGUgZW11bGF0b3IgbmVlZHMgdG8gYmluZCB0 byBldmVudCBjaGFubmVsCiAgKiA8YnVmaW9yZXFfcG9ydD4gdG8gbGlzdGVuIGZvciB0aGVtLiAo VGhlIGV2ZW50IGNoYW5uZWxzIHVzZWQgZm9yCiAgKiBzeW5jaHJvbm91cyBlbXVsYXRpb24gcmVx dWVzdHMgYXJlIHNwZWNpZmllZCBpbiB0aGUgcGVyLUNQVSBpb3JlcQotICogc3RydWN0dXJlcyBp biA8aW9yZXFfcGZuPikuCisgKiBzdHJ1Y3R1cmVzIGluIDxpb3JlcV9nZm4+KS4KICAqIElmIHRo ZSBJT1JFUSBTZXJ2ZXIgaXMgbm90IGhhbmRsaW5nIGJ1ZmZlcmVkIGVtdWxhdGlvbiByZXF1ZXN0 cyB0aGVuIHRoZQotICogdmFsdWVzIGhhbmRlZCBiYWNrIGluIDxidWZpb3JlcV9wZm4+IGFuZCA8 YnVmaW9yZXFfcG9ydD4gd2lsbCBib3RoIGJlIDAuCisgKiB2YWx1ZXMgaGFuZGVkIGJhY2sgaW4g PGJ1ZmlvcmVxX2dmbj4gYW5kIDxidWZpb3JlcV9wb3J0PiB3aWxsIGJvdGggYmUgMC4KICAqLwog I2RlZmluZSBYRU5fRE1PUF9nZXRfaW9yZXFfc2VydmVyX2luZm8gMgogCkBAIC05OCwxMCArOTgs MTAgQEAgc3RydWN0IHhlbl9kbV9vcF9nZXRfaW9yZXFfc2VydmVyX2luZm8gewogICAgIHVpbnQx Nl90IHBhZDsKICAgICAvKiBPVVQgLSBidWZmZXJlZCBpb3JlcSBwb3J0ICovCiAgICAgZXZ0Y2hu X3BvcnRfdCBidWZpb3JlcV9wb3J0OwotICAgIC8qIE9VVCAtIHN5bmMgaW9yZXEgcGZuICovCi0g ICAgdWludDY0X2FsaWduZWRfdCBpb3JlcV9wZm47Ci0gICAgLyogT1VUIC0gYnVmZmVyZWQgaW9y ZXEgcGZuICovCi0gICAgdWludDY0X2FsaWduZWRfdCBidWZpb3JlcV9wZm47CisgICAgLyogT1VU IC0gc3luYyBpb3JlcSBnZm4gKi8KKyAgICB1aW50NjRfYWxpZ25lZF90IGlvcmVxX2dmbjsKKyAg ICAvKiBPVVQgLSBidWZmZXJlZCBpb3JlcSBnZm4gKi8KKyAgICB1aW50NjRfYWxpZ25lZF90IGJ1 ZmlvcmVxX2dmbjsKIH07CiAKIC8qCkBAIC0xNTAsNyArMTUwLDcgQEAgc3RydWN0IHhlbl9kbV9v cF9pb3JlcV9zZXJ2ZXJfcmFuZ2UgewogICoKICAqIFRoZSBJT1JFUSBTZXJ2ZXIgd2lsbCBub3Qg YmUgcGFzc2VkIGFueSBlbXVsYXRpb24gcmVxdWVzdHMgdW50aWwgaXQgaXMKICAqIGluIHRoZSBl bmFibGVkIHN0YXRlLgotICogTm90ZSB0aGF0IHRoZSBjb250ZW50cyBvZiB0aGUgaW9yZXFfcGZu IGFuZCBidWZpb3JlcV9mbiAoc2VlCisgKiBOb3RlIHRoYXQgdGhlIGNvbnRlbnRzIG9mIHRoZSBp b3JlcV9nZm4gYW5kIGJ1ZmlvcmVxX2dmbiAoc2VlCiAgKiBYRU5fRE1PUF9nZXRfaW9yZXFfc2Vy dmVyX2luZm8pIGFyZSBub3QgbWVhbmluZ2Z1bCB1bnRpbCB0aGUgSU9SRVEgU2VydmVyCiAgKiBp cyBpbiB0aGUgZW5hYmxlZCBzdGF0ZS4KICAqLwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==