From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vitaly Kuznetsov Subject: [PATCH qemu-traditional] switch to the new ioreq server API Date: Wed, 6 Sep 2017 11:28:30 +0200 Message-ID: <20170906092830.3760-1-vkuznets@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Paul Durrant , Ian Jackson List-Id: xen-devel@lists.xenproject.org SW5zdGVhZCBvZiB1c2luZyBpbXBsaWNpdCBpb3JlcSBzZXJ2ZXIgY3JlYXRpb24gc2lkZS1lZmZl Y3QgdXBvbiByZWFkaW5nCkhWTSBwYXJhbXMgc3dpdGNoIHFlbXUtdHJhZGl0aW9uYWwgdG8gdXNp bmcgZXhwbGljaXQgQVBJcy4gVGhpcyBvcGVucyBhCnBvc3NpYmlsaXR5IGZvciByZW1vdmluZyB0 aGUgYWJvdmUgbWVudGlvbmVkIHNpZGUtZWZmZWN0IGFuZCBzcGVjaWFsCidkZWZhdWx0X2lvcmVx X3NlcnZlcicgY29kZSBwYXRoZXMgaW4gWGVuIGh5cGVydmlzb3IgaW4gdGhlIGZ1dHVyZS4KClRo aXMgYWxzbyBzb2x2ZXMgYW4gaXNzdWUgd2l0aCBzb2Z0IHJlc2V0IHdoZW4gcWVtdS10cmFkaXRp b25hbCBpcyBiZWluZwp1c2VkLiBYZW4gYy9zIGU3ZGFiZTUgKCJ4ODYvaHZtOiBkb24ndCB1bmNv bmRpdGlvbmFsbHkgY3JlYXRlIGEgZGVmYXVsdAppb3JlcSBzZXJ2ZXIiKSBkaXNhYmxlZCBpb3Jl cSBzZXJ2ZXIgY3JlYXRpb24gYWZ0ZXIgZG9tYWluIHdhcyBjcmVhdGVkCmZvciB0aGUgZmlyc3Qg dGltZSBhbmQgdGhpcyBpcyBuZWVkZWQgZm9yIHNvZnQgcmVzZXQuCgpJT1JFUV9UWVBFX1BDSV9D T05GSUcgaGFuZGxpbmcgY29kZSBpcyBzdG9sZW4gYXMtaXMgZnJvbSBxZW11LXVwc3RyZWFtLgoK U2lnbmVkLW9mZi1ieTogVml0YWx5IEt1em5ldHNvdiA8dmt1em5ldHNAcmVkaGF0LmNvbT4KLS0t CiBody9wY2kuYyAgICAgICAgICAgIHwgICA1ICsrCiBody94ZW5fY29tbW9uLmggICAgIHwgMTYz ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGh3 L3hlbl9tYWNoaW5lX2Z2LmMgfCAgMzEgKysrKysrKystLQogaTM4Ni1kbS9leGVjLWRtLmMgICB8 ICAgNyArKysKIGkzODYtZG0vaGVscGVyMi5jICAgfCAgMzEgKysrKysrKy0tLQogdmwuYyAgICAg ICAgICAgICAgICB8ICAgOSArKysKIHhlbi12bC1leHRyYS5jICAgICAgfCAgIDMgKwogNyBmaWxl cyBjaGFuZ2VkLCAyMzYgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvaHcvcGNpLmMgYi9ody9wY2kuYwppbmRleCBjNDIzMjg1Ni4uZDZjYWZiM2UgMTAwNjQ0Ci0t LSBhL2h3L3BjaS5jCisrKyBiL2h3L3BjaS5jCkBAIC0zNCw2ICszNCw3IEBACiAjaWZkZWYgQ09O RklHX1BBU1NUSFJPVUdICiAjaW5jbHVkZSAiaHcvcGFzcy10aHJvdWdoLmgiCiAjZW5kaWYKKyNp bmNsdWRlICJody94ZW5fY29tbW9uLmgiCiAKIGV4dGVybiBpbnQgaWdkX3Bhc3N0aHJ1OwogCkBA IC0yNDgsNiArMjQ5LDEwIEBAIFBDSURldmljZSAqcGNpX3JlZ2lzdGVyX2RldmljZShQQ0lCdXMg KmJ1cywgY29uc3QgY2hhciAqbmFtZSwKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgZm91bmQ6 IDsKICAgICB9CisKKyAgICB4ZW5fbWFwX3BjaWRldih4Y19oYW5kbGUsIGRvbWlkLCBpb3NlcnZp ZCwgMCwKKwkJICAgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikpOworCiAgICAgcGNp X2RldiA9IHFlbXVfbWFsbG9jeihpbnN0YW5jZV9zaXplKTsKICAgICBwY2lfZGV2LT5idXMgPSBi dXM7CiAgICAgcGNpX2Rldi0+ZGV2Zm4gPSBkZXZmbjsKZGlmZiAtLWdpdCBhL2h3L3hlbl9jb21t b24uaCBiL2h3L3hlbl9jb21tb24uaAppbmRleCBjYzQ4ODkyZi4uNWUxNzJiYjIgMTAwNjQ0Ci0t LSBhL2h3L3hlbl9jb21tb24uaAorKysgYi9ody94ZW5fY29tbW9uLmgKQEAgLTMzLDQgKzMzLDE2 NyBAQAogIyBkZWZpbmUgeGVuX3dtYigpIHdtYigpCiAjZW5kaWYKIAorZXh0ZXJuIHVpbnQxNl90 IGlvc2VydmlkOworCisjaWYgX19YRU5fTEFURVNUX0lOVEVSRkFDRV9WRVJTSU9OX18gPCAweDAw MDQwNTAwCitzdGF0aWMgaW5saW5lIGludCB4ZW5fY3JlYXRlX2lvcmVxX3NlcnZlcih4Y19pbnRl cmZhY2UgKnhjLCBkb21pZF90IGRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQxNl90ICppb3NlcnZpZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworc3Rh dGljIGlubGluZSBpbnQgeGVuX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyh4Y19pbnRlcmZhY2UgKnhj LCBkb21pZF90IGRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDE2X3QgaW9zZXJ2aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHhlbl9wZm5fdCAqaW9yZXFfcGZuLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgKmJ1ZmlvcmVxX3BmbiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmJ1ZmlvcmVxX2V2dGNo bikKK3sKKyAgICB1bnNpZ25lZCBsb25nIHBhcmFtOworICAgIGludCByYzsKKworICAgIHJjID0g eGNfZ2V0X2h2bV9wYXJhbSh4YywgZG9tLCBIVk1fUEFSQU1fSU9SRVFfUEZOLCAmcGFyYW0pOwor ICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gZ2V0 IEhWTV9QQVJBTV9JT1JFUV9QRk5cbiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisg ICAgKmlvcmVxX3BmbiA9IHBhcmFtOworCisgICAgcmMgPSB4Y19nZXRfaHZtX3BhcmFtKHhjLCBk b20sIEhWTV9QQVJBTV9CVUZJT1JFUV9QRk4sICZwYXJhbSk7CisgICAgaWYgKHJjIDwgMCkgewor ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBnZXQgSFZNX1BBUkFNX0JVRklPUkVR X1BGTlxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAqYnVmaW9yZXFfcGZu ID0gcGFyYW07CisKKyAgICByYyA9IHhjX2dldF9odm1fcGFyYW0oeGMsIGRvbSwgSFZNX1BBUkFN X0JVRklPUkVRX0VWVENITiwgJnBhcmFtKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIGZw cmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGdldCBIVk1fUEFSQU1fQlVGSU9SRVFfRVZUQ0hOXG4i KTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgICpidWZpb3JlcV9ldnRjaG4gPSBw YXJhbTsKKworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCB4ZW5fc2V0X2lv cmVxX3NlcnZlcl9zdGF0ZSh4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IGlvc2VydmlkLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUp Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fbWFwX21lbW9y eV9zZWN0aW9uKHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgaW9zZXJ2aWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzdGFydCwgdWludDY0X3Qg ZW5kKQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX3VubWFwX21lbW9yeV9zZWN0aW9u KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBpb3NlcnZpZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IGVuZCkK K3sKK30KKworc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfaW9fc2VjdGlvbih4Y19pbnRlcmZh Y2UgKnhjLCBkb21pZF90IGRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDE2X3QgaW9zZXJ2aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQpCit7Cit9CisKK3N0YXRpYyBpbmxpbmUg dm9pZCB4ZW5fdW5tYXBfaW9fc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBpb3NlcnZp ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzdGFy dCwgdWludDY0X3QgZW5kKQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX21hcF9wY2lk ZXYoeGNfaW50ZXJmYWNlICp4YywgZG9taWRfdCBkb20sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDE2X3QgaW9zZXJ2aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDhfdCBidXMsIHVpbnQ4X3QgZGV2aWNlLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ4X3QgZnVuY3Rpb24pCit7Cit9CisKK3N0YXRpYyBpbmxpbmUg dm9pZCB4ZW5fdW5tYXBfcGNpZGV2KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgaW9zZXJ2aWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGJ1cywgdWludDhfdCBkZXZp Y2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGZ1bmN0aW9u KQoreworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IHhlbl9jcmVhdGVfaW9yZXFfc2VydmVy KHhjX2ludGVyZmFjZSAqeGMsIGRvbWlkX3QgZG9tLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDE2X3QgKmlvc2VydmlkKQoreworICAgIGludCByYyA9IHhj X2h2bV9jcmVhdGVfaW9yZXFfc2VydmVyKHhjLCBkb20sIDEsIGlvc2VydmlkKTsKKworICAgIHJl dHVybiByYzsKK30KKworc3RhdGljIGlubGluZSBpbnQgeGVuX2dldF9pb3JlcV9zZXJ2ZXJfaW5m byh4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgaW9zZXJ2aWQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCAqaW9yZXFfcGZuLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgKmJ1ZmlvcmVx X3BmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgKmJ1ZmlvcmVxX2V2dGNobikKK3sKKyAgICByZXR1cm4geGNfaHZtX2dldF9pb3JlcV9zZXJ2 ZXJfaW5mbyh4YywgZG9tLCBpb3NlcnZpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpb3JlcV9wZm4sIGJ1ZmlvcmVxX3BmbiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBidWZpb3JlcV9ldnRjaG4pOworfQorCitzdGF0aWMgaW5saW5l IGludCB4ZW5fc2V0X2lvcmVxX3NlcnZlcl9zdGF0ZSh4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90 IGRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx Nl90IGlvc2VydmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm9vbCBlbmFibGUpCit7CisgICAgcmV0dXJuIHhjX2h2bV9zZXRfaW9yZXFfc2VydmVyX3N0 YXRlKHhjLCBkb20sIGlvc2VydmlkLCBlbmFibGUpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQg eGVuX21hcF9tZW1vcnlfc2VjdGlvbih4Y19pbnRlcmZhY2UgKnhjLCBkb21pZF90IGRvbSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IGlvc2Vydmlk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc3Rh cnQsIHVpbnQ2NF90IGVuZCkKK3sKKyAgICB4Y19odm1fbWFwX2lvX3JhbmdlX3RvX2lvcmVxX3Nl cnZlcih4YywgZG9tLCBpb3NlcnZpZCwgMSwgc3RhcnQsIGVuZCk7Cit9CisKK3N0YXRpYyBpbmxp bmUgdm9pZCB4ZW5fdW5tYXBfbWVtb3J5X3NlY3Rpb24oeGNfaW50ZXJmYWNlICp4YywgZG9taWRf dCBkb20sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx Nl90IGlvc2VydmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBzdGFydCwgdWludDY0X3QgZW5kKQoreworICAgIHhjX2h2bV91bm1hcF9pb19y YW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4YywgZG9tLCBpb3NlcnZpZCwgMSwgc3RhcnQsIGVuZCk7 Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fbWFwX2lvX3NlY3Rpb24oeGNfaW50ZXJmYWNl ICp4YywgZG9taWRfdCBkb20sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQxNl90IGlvc2VydmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBzdGFydCwgdWludDY0X3QgZW5kKQoreworICAgIHhjX2h2bV9tYXBfaW9fcmFu Z2VfdG9faW9yZXFfc2VydmVyKHhjLCBkb20sIGlvc2VydmlkLCAwLCBzdGFydCwgZW5kKTsKK30K Kworc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9pb19zZWN0aW9uKHhjX2ludGVyZmFjZSAq eGMsIGRvbWlkX3QgZG9tLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQxNl90IGlvc2VydmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQpCit7CisgICAgeGNfaHZtX3VubWFwX2lv X3JhbmdlX2Zyb21faW9yZXFfc2VydmVyKHhjLCBkb20sIGlvc2VydmlkLCAwLCBzdGFydCwgZW5k KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfcGNpZGV2KHhjX2ludGVyZmFjZSAq eGMsIGRvbWlkX3QgZG9tLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx Nl90IGlvc2VydmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qg YnVzLCB1aW50OF90IGRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50OF90IGZ1bmN0aW9uKQoreworICAgIHhjX2h2bV9tYXBfcGNpZGV2X3RvX2lvcmVxX3NlcnZl cih4YywgZG9tLCBpb3NlcnZpZCwgMCwKKwkJCQkgICAgICBidXMsIGRldmljZSwgZnVuY3Rpb24p OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX3VubWFwX3BjaWRldih4Y19pbnRlcmZhY2Ug KnhjLCBkb21pZF90IGRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQxNl90IGlvc2VydmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDhfdCBidXMsIHVpbnQ4X3QgZGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDhfdCBmdW5jdGlvbikKK3sKKyAgICB4Y19odm1fdW5tYXBfcGNpZGV2X2Zyb21f aW9yZXFfc2VydmVyKHhjLCBkb20sIGlvc2VydmlkLCAwLAorCQkJCQkgIGJ1cywgZGV2aWNlLCBm dW5jdGlvbik7Cit9CisjZW5kaWYKKwogI2VuZGlmIC8qIFFFTVVfSFdfWEVOX0NPTU1PTl9IICov CmRpZmYgLS1naXQgYS9ody94ZW5fbWFjaGluZV9mdi5jIGIvaHcveGVuX21hY2hpbmVfZnYuYwpp bmRleCBiMzg1ZDZhNS4uZWRiODE2N2QgMTAwNjQ0Ci0tLSBhL2h3L3hlbl9tYWNoaW5lX2Z2LmMK KysrIGIvaHcveGVuX21hY2hpbmVfZnYuYwpAQCAtMjc3LDcgKzI3Nyw4IEBAIHN0YXRpYyB2b2lk IHhlbl9pbml0X2Z2KHJhbV9hZGRyX3QgcmFtX3NpemUsIGludCB2Z2FfcmFtX3NpemUsCiAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICppbml0cmRfZmlsZW5hbWUsIGNvbnN0IGNo YXIgKmNwdV9tb2RlbCwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmRpcmVj dF9wY2kpCiB7Ci0gICAgdW5zaWduZWQgbG9uZyBpb3JlcV9wZm47CisgICAgdW5zaWduZWQgbG9u ZyBpb3JlcV9wZm4sIGJ1ZmlvcmVxX3BmbjsKKyAgICBleHRlcm4gdWludDMyX3QgYnVmaW9yZXFf ZXZ0Y2huOwogICAgIGV4dGVybiB2b2lkICpzaGFyZWRfcGFnZTsKICAgICBleHRlcm4gdm9pZCAq YnVmZmVyZWRfaW9fcGFnZTsKICNpZmRlZiBfX2lhNjRfXwpAQCAtMjg2LDYgKzI4Nyw3IEBAIHN0 YXRpYyB2b2lkIHhlbl9pbml0X2Z2KHJhbV9hZGRyX3QgcmFtX3NpemUsIGludCB2Z2FfcmFtX3Np emUsCiAgICAgZXh0ZXJuIHZvaWQgKmJ1ZmZlcmVkX3Bpb19wYWdlOwogICAgIGludCBpOwogI2Vu ZGlmCisgICAgaW50IHJjOwogCiAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4 Nl82NF9fKQogCkBAIC0yOTgsNyArMzAwLDIxIEBAIHN0YXRpYyB2b2lkIHhlbl9pbml0X2Z2KHJh bV9hZGRyX3QgcmFtX3NpemUsIGludCB2Z2FfcmFtX3NpemUsCiAjaWZkZWYgQ09ORklHX1NUVUJE T00gLyogdGhlIGh2bW9wIGlzIG5vdCBzdXBwb3J0ZWQgb24gb2xkZXIgaHlwZXJ2aXNvcnMgKi8K ICAgICB4Y19zZXRfaHZtX3BhcmFtKHhjX2hhbmRsZSwgZG9taWQsIEhWTV9QQVJBTV9ETV9ET01B SU4sIERPTUlEX1NFTEYpOwogI2VuZGlmCi0gICAgeGNfZ2V0X2h2bV9wYXJhbSh4Y19oYW5kbGUs IGRvbWlkLCBIVk1fUEFSQU1fSU9SRVFfUEZOLCAmaW9yZXFfcGZuKTsKKyAgICByYyA9IHhlbl9j cmVhdGVfaW9yZXFfc2VydmVyKHhjX2hhbmRsZSwgZG9taWQsICZpb3NlcnZpZCk7CisgICAgaWYg KHJjIDwgMCkgeworICAgICAgICBmcHJpbnRmKGxvZ2ZpbGUsICJmYWlsZWQgdG8gY3JlYXRlIGlv cmVxIHNlcnZlcjogZXJyb3IgJWRcbiIsIGVycm5vKTsKKyAgICAgICAgZXhpdCgtMSk7CisgICAg fQorCisgICAgZnByaW50Zihsb2dmaWxlLCAiY3JlYXRlZCBpb3JlcSBzZXJ2ZXIgJWRcbiIsIGlv c2VydmlkKTsKKworICAgIHJjID0geGVuX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyh4Y19oYW5kbGUs IGRvbWlkLCBpb3NlcnZpZCwgJmlvcmVxX3BmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmJ1ZmlvcmVxX3BmbiwgJmJ1ZmlvcmVxX2V2dGNobik7CisgICAgaWYgKHJjIDwg MCkgeworICAgICAgICBmcHJpbnRmKGxvZ2ZpbGUsICJmYWlsZWQgdG8gZ2V0IGlvcmVxIHNlcnZl ciBpbmZvOiBlcnJvciAlZFxuIiwgZXJybm8pOworICAgICAgICBleGl0KC0xKTsKKyAgICB9CisK ICAgICBmcHJpbnRmKGxvZ2ZpbGUsICJzaGFyZWQgcGFnZSBhdCBwZm4gJWx4XG4iLCBpb3JlcV9w Zm4pOwogICAgIHNoYXJlZF9wYWdlID0geGNfbWFwX2ZvcmVpZ25fcmFuZ2UoeGNfaGFuZGxlLCBk b21pZCwgWENfUEFHRV9TSVpFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUFJPVF9SRUFEfFBST1RfV1JJVEUsIGlvcmVxX3Bmbik7CkBAIC0zMDcsMTUgKzMyMywyMCBA QCBzdGF0aWMgdm9pZCB4ZW5faW5pdF9mdihyYW1fYWRkcl90IHJhbV9zaXplLCBpbnQgdmdhX3Jh bV9zaXplLAogICAgICAgICBleGl0KC0xKTsKICAgICB9CiAKLSAgICB4Y19nZXRfaHZtX3BhcmFt KHhjX2hhbmRsZSwgZG9taWQsIEhWTV9QQVJBTV9CVUZJT1JFUV9QRk4sICZpb3JlcV9wZm4pOwot ICAgIGZwcmludGYobG9nZmlsZSwgImJ1ZmZlcmVkIGlvIHBhZ2UgYXQgcGZuICVseFxuIiwgaW9y ZXFfcGZuKTsKKyAgICBmcHJpbnRmKGxvZ2ZpbGUsICJidWZmZXJlZCBpbyBwYWdlIGF0IHBmbiAl bHhcbiIsIGJ1ZmlvcmVxX3Bmbik7CiAgICAgYnVmZmVyZWRfaW9fcGFnZSA9IHhjX21hcF9mb3Jl aWduX3JhbmdlKHhjX2hhbmRsZSwgZG9taWQsIFhDX1BBR0VfU0laRSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPVF9SRUFEfFBST1RfV1JJVEUsIGlvcmVx X3Bmbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1Rf UkVBRHxQUk9UX1dSSVRFLCBidWZpb3JlcV9wZm4pOwogICAgIGlmIChidWZmZXJlZF9pb19wYWdl ID09IE5VTEwpIHsKICAgICAgICAgZnByaW50Zihsb2dmaWxlLCAibWFwIGJ1ZmZlcmVkIElPIHBh Z2UgcmV0dXJuZWQgZXJyb3IgJWRcbiIsIGVycm5vKTsKICAgICAgICAgZXhpdCgtMSk7CiAgICAg fQogCisgICAgcmMgPSB4ZW5fc2V0X2lvcmVxX3NlcnZlcl9zdGF0ZSh4Y19oYW5kbGUsIGRvbWlk LCBpb3NlcnZpZCwgdHJ1ZSk7CisgICAgaWYgKHJjIDwgMCkgeworCSAgICBmcHJpbnRmKGxvZ2Zp bGUsICJmYWlsZWQgdG8gZW5hYmxlIGlvcmVxIHNlcnZlciAlZFxuIiwgZXJybm8pOworCSAgICBl eGl0KC0xKTsKKyAgICB9CisKICNpZiBkZWZpbmVkKF9faWE2NF9fKQogICAgIHhjX2dldF9odm1f cGFyYW0oeGNfaGFuZGxlLCBkb21pZCwgSFZNX1BBUkFNX0JVRlBJT1JFUV9QRk4sICZpb3JlcV9w Zm4pOwogICAgIGZwcmludGYobG9nZmlsZSwgImJ1ZmZlcmVkIHBpbyBwYWdlIGF0IHBmbiAlbHhc biIsIGlvcmVxX3Bmbik7CmRpZmYgLS1naXQgYS9pMzg2LWRtL2V4ZWMtZG0uYyBiL2kzODYtZG0v ZXhlYy1kbS5jCmluZGV4IDk2Mjc0ZDlkLi43ODM2ODVjZSAxMDA2NDQKLS0tIGEvaTM4Ni1kbS9l eGVjLWRtLmMKKysrIGIvaTM4Ni1kbS9leGVjLWRtLmMKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNs dWRlICJwYy5oIgogI2luY2x1ZGUgImRpc2FzLmgiCiAjaW5jbHVkZSAicWVtdS14ZW4uaCIKKyNp bmNsdWRlICJ4ZW5fY29tbW9uLmgiCiAKIC8vI2RlZmluZSBERUJVR19UQl9JTlZBTElEQVRFCiAv LyNkZWZpbmUgREVCVUdfRkxVU0gKQEAgLTMwOCw2ICszMDksOSBAQCB2b2lkIGNwdV9yZWdpc3Rl cl9waHlzaWNhbF9tZW1vcnkodGFyZ2V0X3BoeXNfYWRkcl90IHN0YXJ0X2FkZHIsCiAgICAgbW1p b1ttbWlvX2NudF0uaW9faW5kZXggPSBwaHlzX29mZnNldDsKICAgICBtbWlvW21taW9fY250XS5z dGFydCA9IHN0YXJ0X2FkZHI7CiAgICAgbW1pb1ttbWlvX2NudCsrXS5zaXplID0gc2l6ZTsKKwor ICAgIHhlbl9tYXBfbWVtb3J5X3NlY3Rpb24oeGNfaGFuZGxlLCBkb21pZCwgaW9zZXJ2aWQsIHN0 YXJ0X2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydF9hZGRyICsgc2l6ZSAt MSk7CiB9CiAKIHN0YXRpYyBpbnQgZ2V0X2ZyZWVfaW9fbWVtX2lkeCh2b2lkKQpAQCAtNDc2LDYg KzQ4MCw5IEBAIHZvaWQgdW5yZWdpc3Rlcl9pb21lbSh0YXJnZXRfcGh5c19hZGRyX3Qgc3RhcnQp CiAJCSh1bnNpZ25lZCBsb25nKShtbWlvW2luZGV4XS5zdGFydCksCiAgICAgICAgICAgICAgICAg KHVuc2lnbmVkIGxvbmcpKG1taW9baW5kZXhdLnN0YXJ0ICsgbW1pb1tpbmRleF0uc2l6ZSkpOwog ICAgICAgICBtbWlvW2luZGV4XS5zaXplID0gMDsKKyAgICAgICAgeGVuX3VubWFwX21lbW9yeV9z ZWN0aW9uKHhjX2hhbmRsZSwgZG9taWQsIGlvc2VydmlkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbW1pb1tpbmRleF0uc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtbWlvW2luZGV4XS5zdGFydCArIG1taW9baW5kZXhdLnNpemUgLSAxKTsKICAgICB9 CiB9CiAKZGlmZiAtLWdpdCBhL2kzODYtZG0vaGVscGVyMi5jIGIvaTM4Ni1kbS9oZWxwZXIyLmMK aW5kZXggNzgwOTNmZWYuLmJhOWQyY2VlIDEwMDY0NAotLS0gYS9pMzg2LWRtL2hlbHBlcjIuYwor KysgYi9pMzg2LWRtL2hlbHBlcjIuYwpAQCAtMTAwLDYgKzEwMCw5IEBAIGxvbmcgdGltZV9vZmZz ZXQgPSAwOwogCiBzaGFyZWRfaW9wYWdlX3QgKnNoYXJlZF9wYWdlID0gTlVMTDsKIAordWludDE2 X3QgaW9zZXJ2aWQ7CisKK3VpbnQzMl90IGJ1ZmlvcmVxX2V2dGNobjsKICNkZWZpbmUgQlVGRkVS X0lPX01BWF9ERUxBWSAgMTAwCiBidWZmZXJlZF9pb3BhZ2VfdCAqYnVmZmVyZWRfaW9fcGFnZSA9 IE5VTEw7CiBRRU1VVGltZXIgKmJ1ZmZlcmVkX2lvX3RpbWVyOwpAQCAtMTIwLDcgKzEyMyw2IEBA IENQVVg4NlN0YXRlICpjcHVfeDg2X2luaXQoY29uc3QgY2hhciAqY3B1X21vZGVsKQogICAgIENQ VVg4NlN0YXRlICplbnY7CiAgICAgc3RhdGljIGludCBpbml0ZWQ7CiAgICAgaW50IGksIHJjOwot ICAgIHVuc2lnbmVkIGxvbmcgYnVmaW9yZXFfZXZ0Y2huOwogCiAgICAgZW52ID0gcWVtdV9tYWxs b2N6KHNpemVvZihDUFVYODZTdGF0ZSkpOwogICAgIGlmICghZW52KQpAQCAtMTU4LDEzICsxNjAs NiBAQCBDUFVYODZTdGF0ZSAqY3B1X3g4Nl9pbml0KGNvbnN0IGNoYXIgKmNwdV9tb2RlbCkKICAg ICAgICAgICAgIH0KICAgICAgICAgICAgIGlvcmVxX2xvY2FsX3BvcnRbaV0gPSByYzsKICAgICAg ICAgfQotICAgICAgICByYyA9IHhjX2dldF9odm1fcGFyYW0oeGNfaGFuZGxlLCBkb21pZCwgSFZN X1BBUkFNX0JVRklPUkVRX0VWVENITiwKLSAgICAgICAgICAgICAgICAmYnVmaW9yZXFfZXZ0Y2hu KTsKLSAgICAgICAgaWYgKHJjIDwgMCkgewotICAgICAgICAgICAgZnByaW50Zihsb2dmaWxlLCAi ZmFpbGVkIHRvIGdldCBIVk1fUEFSQU1fQlVGSU9SRVFfRVZUQ0hOIGVycm9yPSVkXG4iLAotICAg ICAgICAgICAgICAgICAgICBlcnJubyk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAg ICAgfQogICAgICAgICByYyA9IHhlbmV2dGNobl9iaW5kX2ludGVyZG9tYWluKHhjZV9oYW5kbGUs IGRvbWlkLCAodWludDMyX3QpYnVmaW9yZXFfZXZ0Y2huKTsKICAgICAgICAgaWYgKHJjID09IC0x KSB7CiAgICAgICAgICAgICBmcHJpbnRmKGxvZ2ZpbGUsICJiaW5kIGludGVyZG9tYWluIGlvY3Rs IGVycm9yICVkXG4iLCBlcnJubyk7CkBAIC00NzIsMTEgKzQ2NywzMSBAQCBzdGF0aWMgdm9pZCBj cHVfaW9yZXFfdGltZW9mZnNldChDUFVTdGF0ZSAqZW52LCBpb3JlcV90ICpyZXEpCiAKIHN0YXRp YyB2b2lkIF9faGFuZGxlX2lvcmVxKENQVVN0YXRlICplbnYsIGlvcmVxX3QgKnJlcSkKIHsKKyAg ICB1aW50MzJfdCBzYmRmLCB2YWw7CisKICAgICBpZiAoIXJlcS0+ZGF0YV9pc19wdHIgJiYgKHJl cS0+ZGlyID09IElPUkVRX1dSSVRFKSAmJgogICAgICAgICAocmVxLT5zaXplIDwgc2l6ZW9mKHRh cmdldF91bG9uZykpKQogICAgICAgICByZXEtPmRhdGEgJj0gKCh0YXJnZXRfdWxvbmcpMSA8PCAo OCAqIHJlcS0+c2l6ZSkpIC0gMTsKIAogICAgIHN3aXRjaCAocmVxLT50eXBlKSB7CisgICAgY2Fz ZSBJT1JFUV9UWVBFX1BDSV9DT05GSUc6CisgICAgICAgIHNiZGYgPSByZXEtPmFkZHIgPj4gMzI7 CisKKyAgICAgICAgLyogRmFrZSBhIHdyaXRlIHRvIHBvcnQgMHhDRjggc28gdGhhdAorICAgICAg ICAgKiB0aGUgY29uZmlnIHNwYWNlIGFjY2VzcyB3aWxsIHRhcmdldCB0aGUKKyAgICAgICAgICog Y29ycmVjdCBkZXZpY2UgbW9kZWwuCisgICAgICAgICovCisgICAgICAgIHZhbCA9ICgxdSA8PCAz MSkgfAorICAgICAgICAgICAgICAoKHJlcS0+YWRkciAmIDB4MGYwMCkgPDwgMTYpIHwKKyAgICAg ICAgICAgICAgKChzYmRmICYgMHhmZmZmKSA8PCA4KSB8CisgICAgICAgICAgICAgIChyZXEtPmFk ZHIgJiAweGZjKTsKKyAgICAgICAgZG9fb3V0cChlbnYsIDB4Y2Y4LCA0LCB2YWwpOworCisgICAg ICAgIC8qIE5vdyBpc3N1ZSB0aGUgY29uZmlnIHNwYWNlIGFjY2VzcyB2aWEKKyAgICAgICAgICog cG9ydCAweENGQworICAgICAgICAgKi8KKyAgICAgICAgcmVxLT5hZGRyID0gMHhjZmMgfCAocmVx LT5hZGRyICYgMHgwMyk7CisgICAgICAgIGNwdV9pb3JlcV9waW8oZW52LCByZXEpOwogICAgIGNh c2UgSU9SRVFfVFlQRV9QSU86CiAgICAgICAgIGNwdV9pb3JlcV9waW8oZW52LCByZXEpOwogICAg ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3ZsLmMgYi92bC5jCmluZGV4IGMzYzVkNjMwLi5jOGQ5 ODk2ZCAxMDA2NDQKLS0tIGEvdmwuYworKysgYi92bC5jCkBAIC00Niw2ICs0Niw3IEBACiAKICNp bmNsdWRlICJody9wY2kuaCIKICNpbmNsdWRlICJody94ZW4uaCIKKyNpbmNsdWRlICJody94ZW5f Y29tbW9uLmgiCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAKICNpbmNsdWRlICJxZW11LXhlbi5oIgpA QCAtMzkwLDYgKzM5MSw5IEBAIGludCByZWdpc3Rlcl9pb3BvcnRfcmVhZChpbnQgc3RhcnQsIGlu dCBsZW5ndGgsIGludCBzaXplLAogICAgICAgICAgICAgaHdfZXJyb3IoInJlZ2lzdGVyX2lvcG9y dF9yZWFkOiBpbnZhbGlkIG9wYXF1ZSIpOwogICAgICAgICBpb3BvcnRfb3BhcXVlW2ldID0gb3Bh cXVlOwogICAgIH0KKworICAgIHhlbl9tYXBfaW9fc2VjdGlvbih4Y19oYW5kbGUsIGRvbWlkLCBp b3NlcnZpZCwgc3RhcnQsIHN0YXJ0ICsgbGVuZ3RoIC0gMSk7CisKICAgICByZXR1cm4gMDsKIH0K IApAQCAtNDE1LDYgKzQxOSw5IEBAIGludCByZWdpc3Rlcl9pb3BvcnRfd3JpdGUoaW50IHN0YXJ0 LCBpbnQgbGVuZ3RoLCBpbnQgc2l6ZSwKICAgICAgICAgICAgIGh3X2Vycm9yKCJyZWdpc3Rlcl9p b3BvcnRfd3JpdGU6IGludmFsaWQgb3BhcXVlIik7CiAgICAgICAgIGlvcG9ydF9vcGFxdWVbaV0g PSBvcGFxdWU7CiAgICAgfQorCisgICAgeGVuX21hcF9pb19zZWN0aW9uKHhjX2hhbmRsZSwgZG9t aWQsIGlvc2VydmlkLCBzdGFydCwgc3RhcnQgKyBsZW5ndGggLSAxKTsKKwogICAgIHJldHVybiAw OwogfQogCkBAIC00MzMsNiArNDQwLDggQEAgdm9pZCBpc2FfdW5hc3NpZ25faW9wb3J0KGludCBz dGFydCwgaW50IGxlbmd0aCkKIAogICAgICAgICBpb3BvcnRfb3BhcXVlW2ldID0gTlVMTDsKICAg ICB9CisKKyAgICB4ZW5fdW5tYXBfaW9fc2VjdGlvbih4Y19oYW5kbGUsIGRvbWlkLCBpb3NlcnZp ZCwgc3RhcnQsIHN0YXJ0ICsgbGVuZ3RoIC0gMSk7CiB9CiAKIC8qKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL3hl bi12bC1leHRyYS5jIGIveGVuLXZsLWV4dHJhLmMKaW5kZXggMjA2YWM2NTguLmMzNDZlNzc5IDEw MDY0NAotLS0gYS94ZW4tdmwtZXh0cmEuYworKysgYi94ZW4tdmwtZXh0cmEuYwpAQCAtMTE3LDYg KzExNyw5IEBAIHZvaWQgZG9fcGNpX2RlbChjaGFyICpkZXZuYW1lKQogICAgIGVsc2UKICAgICAg ICAgYWNwaV9waHBfZGVsKGRldmZuKTsKIAorICAgIHhlbl91bm1hcF9wY2lkZXYoeGNfaGFuZGxl LCBkb21pZCwgaW9zZXJ2aWQsIDAsCisJCSAgICAgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhk ZXZmbikpOworCiAgICAgZnJlZShkZXZuYW1lX2NweSk7CiB9CiAKLS0gCjIuMTMuNQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=