From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 02/12] tools: Rework xc_domain_create() to take a full xen_domctl_createdomain Date: Mon, 13 Aug 2018 11:00:59 +0100 Message-ID: <1534154469-6076-3-git-send-email-andrew.cooper3@citrix.com> References: <1534154469-6076-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1534154469-6076-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= List-Id: xen-devel@lists.xenproject.org SW4gZnV0dXJlIHBhdGNoZXMsIHRoZSBzdHJ1Y3R1cmUgd2lsbCBiZSBleHRlbmRlZCB3aXRoIGZ1 cnRoZXIgaW5mb3JtYXRpb24sCmFuZCB0aGlzIGlzIGZhciBjbGVhbmVyIHRoYW4gYWRkaW5nIGV4 dHJhIHBhcmFtZXRlcnMuCgpUaGUgcHl0aG9uIHN0dWJzIGFyZSB0aGUgb25seSB1c2VyIHdoaWNo IHBhc3NlcyBOVUxMIGZvciB0aGUgZXhpc3RpbmcgY29uZmlnCm9wdGlvbiAod2hpY2ggaXMgYWN0 dWFsbHkgdGhlIGFyY2ggc3Vic3RydWN0dXJlKS4gIFRoZXJlZm9yZSwgdGhlICNpZmRlZmFyeQpt b3ZlcyB0byBjb21wZW5zYXRlLgoKRm9yIGxpYnhsLCBwYXNzIHRoZSBmdWxsIGNvbmZpZyBvYmpl Y3QgZG93biBpbnRvCmxpYnhsX19hcmNoX2RvbWFpbl97cHJlcGFyZSxzYXZlfV9jb25maWcoKSwg YXMgdGhlcmUgYXJlIGluIHByYWN0aWNlIGFyY2gKc3BlY2lmaWMgc2V0dGluZ3MgaW4gdGhlIGNv bW1vbiBwYXJ0IG9mIHRoZSBzdHJ1Y3R1cmUgKGZsYWdzIHMzX2ludGVncml0eSBhbmQKb29zX29m ZiBzcGVjaWZpY2FsbHkpLgoKTm8gcHJhY3RpY2FsIGNoYW5nZSBpbiBiZWhhdmlvdXIuCgpTaWdu ZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpBY2tl ZC1ieTogQ2hyaXN0aWFuIExpbmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPgpSZXZp ZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5 OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KQ0M6IE1hcmVrIE1hcmN6eWtvd3Nr aS1Hw7NyZWNraSA8bWFybWFyZWtAaW52aXNpYmxldGhpbmdzbGFiLmNvbT4KLS0tCiB0b29scy9o ZWxwZXJzL2luaXQteGVuc3RvcmUtZG9tYWluLmMgfCAxNiArKysrKysrLS0tLS0tLS0tCiB0b29s cy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCAgICAgICAgfCAgNiArKy0tLS0KIHRvb2xzL2xpYnhj L3hjX2RvbWFpbi5jICAgICAgICAgICAgICB8IDMxICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2FyY2guaCAgICAgICAgICAgICB8ICA0ICsrLS0KIHRv b2xzL2xpYnhsL2xpYnhsX2FybS5jICAgICAgICAgICAgICB8IDE2ICsrKysrKysrLS0tLS0tLS0K IHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jICAgICAgICAgICB8IDIzICsrKysrKysrKysrKy0t LS0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF94ODYuYyAgICAgICAgICAgICAgfCAxMCArKysr Ky0tLS0tCiB0b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmxfc3R1YnMuYyAgfCAgMyArLS0KIHRv b2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYyAgICB8IDI4ICsrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0KIDkgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvaGVscGVycy9pbml0LXhlbnN0b3JlLWRvbWFpbi5j IGIvdG9vbHMvaGVscGVycy9pbml0LXhlbnN0b3JlLWRvbWFpbi5jCmluZGV4IDg0NTNiZTIuLjc4 NWU1NzAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2hlbHBlcnMvaW5pdC14ZW5zdG9yZS1kb21haW4uYwor KysgYi90b29scy9oZWxwZXJzL2luaXQteGVuc3RvcmUtZG9tYWluLmMKQEAgLTYwLDExICs2MCwx MyBAQCBzdGF0aWMgdm9pZCB1c2FnZSh2b2lkKQogc3RhdGljIGludCBidWlsZCh4Y19pbnRlcmZh Y2UgKnhjaCkKIHsKICAgICBjaGFyIGNtZGxpbmVbNTEyXTsKLSAgICB1aW50MzJfdCBzc2lkOwot ICAgIHhlbl9kb21haW5faGFuZGxlX3QgaGFuZGxlID0geyAwIH07CiAgICAgaW50IHJ2LCB4c19m ZDsKICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20gPSBOVUxMOwogICAgIGludCBsaW1pdF9r YiA9IChtYXhtZW0gPyA6IChtZW1vcnkgKyAxKSkgKiAxMDI0OworICAgIHN0cnVjdCB4ZW5fZG9t Y3RsX2NyZWF0ZWRvbWFpbiBjb25maWcgPSB7CisgICAgICAgIC5zc2lkcmVmID0gU0VDSU5JVFNJ RF9ET01VLAorICAgICAgICAuZmxhZ3MgPSBYRU5fRE9NQ1RMX0NERl94c19kb21haW4sCisgICAg fTsKIAogICAgIHhzX2ZkID0gb3BlbigiL2Rldi94ZW4veGVuYnVzX2JhY2tlbmQiLCBPX1JEV1Ip OwogICAgIGlmICggeHNfZmQgPT0gLTEgKQpAQCAtNzUsMTkgKzc3LDE1IEBAIHN0YXRpYyBpbnQg YnVpbGQoeGNfaW50ZXJmYWNlICp4Y2gpCiAKICAgICBpZiAoIGZsYXNrICkKICAgICB7Ci0gICAg ICAgIHJ2ID0geGNfZmxhc2tfY29udGV4dF90b19zaWQoeGNoLCBmbGFzaywgc3RybGVuKGZsYXNr KSwgJnNzaWQpOworICAgICAgICBydiA9IHhjX2ZsYXNrX2NvbnRleHRfdG9fc2lkKHhjaCwgZmxh c2ssIHN0cmxlbihmbGFzayksICZjb25maWcuc3NpZHJlZik7CiAgICAgICAgIGlmICggcnYgKQog ICAgICAgICB7CiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInhjX2ZsYXNrX2NvbnRleHRf dG9fc2lkIGZhaWxlZFxuIik7CiAgICAgICAgICAgICBnb3RvIGVycjsKICAgICAgICAgfQogICAg IH0KLSAgICBlbHNlCi0gICAgewotICAgICAgICBzc2lkID0gU0VDSU5JVFNJRF9ET01VOwotICAg IH0KLSAgICBydiA9IHhjX2RvbWFpbl9jcmVhdGUoeGNoLCBzc2lkLCBoYW5kbGUsIFhFTl9ET01D VExfQ0RGX3hzX2RvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWlkLCBOVUxM KTsKKworICAgIHJ2ID0geGNfZG9tYWluX2NyZWF0ZSh4Y2gsICZkb21pZCwgJmNvbmZpZyk7CiAg ICAgaWYgKCBydiApCiAgICAgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInhjX2RvbWFpbl9j cmVhdGUgZmFpbGVkXG4iKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3Ry bC5oIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKaW5kZXggZGQ3ZDhhOS4uMmM0YWMz MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKKysrIGIvdG9vbHMv bGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKQEAgLTUwNCwxMCArNTA0LDggQEAgdHlwZWRlZiBzdHJ1 Y3QgeGNfdmNwdV9leHRzdGF0ZSB7CiAgICAgdm9pZCAqYnVmZmVyOwogfSB4Y192Y3B1X2V4dHN0 YXRlX3Q7CiAKLXR5cGVkZWYgc3RydWN0IHhlbl9hcmNoX2RvbWFpbmNvbmZpZyB4Y19kb21haW5f Y29uZmlndXJhdGlvbl90OwotaW50IHhjX2RvbWFpbl9jcmVhdGUoeGNfaW50ZXJmYWNlICp4Y2gs IHVpbnQzMl90IHNzaWRyZWYsCi0gICAgICAgICAgICAgICAgICAgICB4ZW5fZG9tYWluX2hhbmRs ZV90IGhhbmRsZSwgdWludDMyX3QgZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCAqcGRvbWlkLCB4Y19kb21haW5fY29uZmlndXJhdGlvbl90ICpjb25maWcpOworaW50IHhjX2Rv bWFpbl9jcmVhdGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90ICpwZG9taWQsCisgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVhdGVkb21haW4gKmNvbmZpZyk7CiAK IAogLyogRnVuY3Rpb25zIHRvIHByb2R1Y2UgYSBkdW1wIG9mIGEgZ2l2ZW4gZG9tYWluCmRpZmYg LS1naXQgYS90b29scy9saWJ4Yy94Y19kb21haW4uYyBiL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5j CmluZGV4IDU3ZTE4ZWUuLjAxMjRjZWEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFp bi5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCkBAIC0yNiw0MyArMjYsMjAgQEAKICNp bmNsdWRlIDx4ZW4vbWVtb3J5Lmg+CiAjaW5jbHVkZSA8eGVuL2h2bS9odm1fb3AuaD4KIAotaW50 IHhjX2RvbWFpbl9jcmVhdGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IHNzaWRyZWYsCi0g ICAgICAgICAgICAgICAgICAgICB4ZW5fZG9tYWluX2hhbmRsZV90IGhhbmRsZSwgdWludDMyX3Qg ZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcGRvbWlkLCB4Y19kb21haW5f Y29uZmlndXJhdGlvbl90ICpjb25maWcpCitpbnQgeGNfZG9tYWluX2NyZWF0ZSh4Y19pbnRlcmZh Y2UgKnhjaCwgdWludDMyX3QgKnBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4 ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiAqY29uZmlnKQogewotICAgIHhjX2RvbWFpbl9jb25maWd1 cmF0aW9uX3QgbGNvbmZpZzsKICAgICBpbnQgZXJyOwogICAgIERFQ0xBUkVfRE9NQ1RMOwogCi0g ICAgaWYgKCBjb25maWcgPT0gTlVMTCApCi0gICAgewotICAgICAgICBtZW1zZXQoJmxjb25maWcs IDAsIHNpemVvZihsY29uZmlnKSk7Ci0KLSNpZiBkZWZpbmVkIChfX2kzODYpIHx8IGRlZmluZWQo X194ODZfNjRfXykKLSAgICAgICAgaWYgKCBmbGFncyAmIFhFTl9ET01DVExfQ0RGX2h2bV9ndWVz dCApCi0gICAgICAgICAgICBsY29uZmlnLmVtdWxhdGlvbl9mbGFncyA9IChYRU5fWDg2X0VNVV9B TEwgJiB+WEVOX1g4Nl9FTVVfVlBDSSk7Ci0jZWxpZiBkZWZpbmVkIChfX2FybV9fKSB8fCBkZWZp bmVkKF9fYWFyY2g2NF9fKQotICAgICAgICBsY29uZmlnLmdpY192ZXJzaW9uID0gWEVOX0RPTUNU TF9DT05GSUdfR0lDX05BVElWRTsKLSAgICAgICAgbGNvbmZpZy5ucl9zcGlzID0gMDsKLSNlbHNl Ci0jZXJyb3IgQXJjaGl0ZWN0dXJlIG5vdCBzdXBwb3J0ZWQKLSNlbmRpZgotCi0gICAgICAgIGNv bmZpZyA9ICZsY29uZmlnOwotICAgIH0KLQogICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX2Ny ZWF0ZWRvbWFpbjsKICAgICBkb21jdGwuZG9tYWluID0gKnBkb21pZDsKLSAgICBkb21jdGwudS5j cmVhdGVkb21haW4uc3NpZHJlZiA9IHNzaWRyZWY7Ci0gICAgZG9tY3RsLnUuY3JlYXRlZG9tYWlu LmZsYWdzICAgPSBmbGFnczsKLSAgICBtZW1jcHkoZG9tY3RsLnUuY3JlYXRlZG9tYWluLmhhbmRs ZSwgaGFuZGxlLCBzaXplb2YoeGVuX2RvbWFpbl9oYW5kbGVfdCkpOwotICAgIC8qIHhjX2RvbWFp bl9jb25maWd1cmVfdCBpcyBhbiBhbGlhcyBvZiBhcmNoX2RvbWFpbmNvbmZpZ190ICovCi0gICAg bWVtY3B5KCZkb21jdGwudS5jcmVhdGVkb21haW4uYXJjaCwgY29uZmlnLCBzaXplb2YoKmNvbmZp ZykpOworICAgIGRvbWN0bC51LmNyZWF0ZWRvbWFpbiA9ICpjb25maWc7CisKICAgICBpZiAoIChl cnIgPSBkb19kb21jdGwoeGNoLCAmZG9tY3RsKSkgIT0gMCApCiAgICAgICAgIHJldHVybiBlcnI7 CiAKICAgICAqcGRvbWlkID0gKHVpbnQxNl90KWRvbWN0bC5kb21haW47Ci0gICAgbWVtY3B5KGNv bmZpZywgJmRvbWN0bC51LmNyZWF0ZWRvbWFpbi5hcmNoLCBzaXplb2YoKmNvbmZpZykpOwogCiAg ICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9hcmNoLmggYi90 b29scy9saWJ4bC9saWJ4bF9hcmNoLmgKaW5kZXggNzRhNWFmMy4uYzhjY2FhZiAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2gu aApAQCAtMTksMTQgKzE5LDE0IEBACiBfaGlkZGVuCiBpbnQgbGlieGxfX2FyY2hfZG9tYWluX3By ZXBhcmVfY29uZmlnKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB4Y19kb21haW5fY29uZmlndXJhdGlvbl90ICp4Y19jb25m aWcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2Rv bWN0bF9jcmVhdGVkb21haW4gKmNvbmZpZyk7CiAKIC8qIHNhdmUgdGhlIGFyY2ggc3BlY2lmaWMg Y29uZmlndXJhdGlvbiBmb3IgdGhlIGRvbWFpbiAqLwogX2hpZGRlbgogaW50IGxpYnhsX19hcmNo X2RvbWFpbl9zYXZlX2NvbmZpZyhsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhjX2RvbWFpbl9jb25m aWd1cmF0aW9uX3QgKnhjX2NvbmZpZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiAqY29uZmlnKTsKIAogLyog YXJjaCBzcGVjaWZpYyBpbnRlcm5hbCBkb21haW4gY3JlYXRpb24gZnVuY3Rpb24gKi8KIF9oaWRk ZW4KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FybS5jIGIvdG9vbHMvbGlieGwvbGli eGxfYXJtLmMKaW5kZXggOGFmOWY2Zi4uMmEyNTIwMSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv bGlieGxfYXJtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKQEAgLTM5LDcgKzM5LDcg QEAgc3RhdGljIGNvbnN0IGNoYXIgKmdpY3ZfdG9fc3RyaW5nKGxpYnhsX2dpY192ZXJzaW9uIGdp Y192ZXJzaW9uKQogCiBpbnQgbGlieGxfX2FyY2hfZG9tYWluX3ByZXBhcmVfY29uZmlnKGxpYnhs X19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2Rv bWFpbl9jb25maWcgKmRfY29uZmlnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB4Y19kb21haW5fY29uZmlndXJhdGlvbl90ICp4Y19jb25maWcpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiAq Y29uZmlnKQogewogICAgIHVpbnQzMl90IG5yX3NwaXMgPSAwOwogICAgIHVuc2lnbmVkIGludCBp OwpAQCAtODYsMTggKzg2LDE4IEBAIGludCBsaWJ4bF9fYXJjaF9kb21haW5fcHJlcGFyZV9jb25m aWcobGlieGxfX2djICpnYywKIAogICAgIExPRyhERUJVRywgIkNvbmZpZ3VyZSB0aGUgZG9tYWlu Iik7CiAKLSAgICB4Y19jb25maWctPm5yX3NwaXMgPSBucl9zcGlzOworICAgIGNvbmZpZy0+YXJj aC5ucl9zcGlzID0gbnJfc3BpczsKICAgICBMT0coREVCVUcsICIgLSBBbGxvY2F0ZSAldSBTUElz IiwgbnJfc3Bpcyk7CiAKICAgICBzd2l0Y2ggKGRfY29uZmlnLT5iX2luZm8uYXJjaF9hcm0uZ2lj X3ZlcnNpb24pIHsKICAgICBjYXNlIExJQlhMX0dJQ19WRVJTSU9OX0RFRkFVTFQ6Ci0gICAgICAg IHhjX2NvbmZpZy0+Z2ljX3ZlcnNpb24gPSBYRU5fRE9NQ1RMX0NPTkZJR19HSUNfTkFUSVZFOwor ICAgICAgICBjb25maWctPmFyY2guZ2ljX3ZlcnNpb24gPSBYRU5fRE9NQ1RMX0NPTkZJR19HSUNf TkFUSVZFOwogICAgICAgICBicmVhazsKICAgICBjYXNlIExJQlhMX0dJQ19WRVJTSU9OX1YyOgot ICAgICAgICB4Y19jb25maWctPmdpY192ZXJzaW9uID0gWEVOX0RPTUNUTF9DT05GSUdfR0lDX1Yy OworICAgICAgICBjb25maWctPmFyY2guZ2ljX3ZlcnNpb24gPSBYRU5fRE9NQ1RMX0NPTkZJR19H SUNfVjI7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTElCWExfR0lDX1ZFUlNJT05fVjM6Ci0g ICAgICAgIHhjX2NvbmZpZy0+Z2ljX3ZlcnNpb24gPSBYRU5fRE9NQ1RMX0NPTkZJR19HSUNfVjM7 CisgICAgICAgIGNvbmZpZy0+YXJjaC5naWNfdmVyc2lvbiA9IFhFTl9ET01DVExfQ09ORklHX0dJ Q19WMzsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgTE9HKEVSUk9SLCAi VW5rbm93biBHSUMgdmVyc2lvbiAlZCIsCkBAIC0xMTEsOSArMTExLDkgQEAgaW50IGxpYnhsX19h cmNoX2RvbWFpbl9wcmVwYXJlX2NvbmZpZyhsaWJ4bF9fZ2MgKmdjLAogaW50IGxpYnhsX19hcmNo X2RvbWFpbl9zYXZlX2NvbmZpZyhsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhjX2RvbWFpbl9jb25m aWd1cmF0aW9uX3QgKnhjX2NvbmZpZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWluICpjb25maWcpCiB7Ci0gICAg c3dpdGNoICh4Y19jb25maWctPmdpY192ZXJzaW9uKSB7CisgICAgc3dpdGNoIChjb25maWctPmFy Y2guZ2ljX3ZlcnNpb24pIHsKICAgICBjYXNlIFhFTl9ET01DVExfQ09ORklHX0dJQ19WMjoKICAg ICAgICAgZF9jb25maWctPmJfaW5mby5hcmNoX2FybS5naWNfdmVyc2lvbiA9IExJQlhMX0dJQ19W RVJTSU9OX1YyOwogICAgICAgICBicmVhazsKQEAgLTEyMSw3ICsxMjEsNyBAQCBpbnQgbGlieGxf X2FyY2hfZG9tYWluX3NhdmVfY29uZmlnKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgIGRfY29uZmln LT5iX2luZm8uYXJjaF9hcm0uZ2ljX3ZlcnNpb24gPSBMSUJYTF9HSUNfVkVSU0lPTl9WMzsKICAg ICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKLSAgICAgICAgTE9HKEVSUk9SLCAiVW5leHBlY3Rl ZCBnaWMgdmVyc2lvbiAldSIsIHhjX2NvbmZpZy0+Z2ljX3ZlcnNpb24pOworICAgICAgICBMT0co RVJST1IsICJVbmV4cGVjdGVkIGdpYyB2ZXJzaW9uICV1IiwgY29uZmlnLT5hcmNoLmdpY192ZXJz aW9uKTsKICAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7CiAgICAgfQogCmRpZmYgLS1naXQgYS90 b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCmlu ZGV4IDFjY2IzZTMuLmRkOWQ4YzggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0 ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBAIC01NjMsMzUgKzU2MywzNiBA QCBpbnQgbGlieGxfX2RvbWFpbl9tYWtlKGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWFpbl9jb25m aWcgKmRfY29uZmlnLAogCiAgICAgLyogVmFsaWQgZG9taWQgaGVyZSBtZWFucyB3ZSdyZSBzb2Z0 IHJlc2V0dGluZy4gKi8KICAgICBpZiAoIWxpYnhsX2RvbWlkX3ZhbGlkX2d1ZXN0KCpkb21pZCkp IHsKLSAgICAgICAgaW50IGZsYWdzID0gMDsKLSAgICAgICAgeGVuX2RvbWFpbl9oYW5kbGVfdCBo YW5kbGU7Ci0gICAgICAgIHhjX2RvbWFpbl9jb25maWd1cmF0aW9uX3QgeGNfY29uZmlnID0ge307 CisgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiBjcmVhdGUgPSB7CisgICAg ICAgICAgICAuc3NpZHJlZiA9IGluZm8tPnNzaWRyZWYsCisgICAgICAgIH07CiAKICAgICAgICAg aWYgKGluZm8tPnR5cGUgIT0gTElCWExfRE9NQUlOX1RZUEVfUFYpIHsKLSAgICAgICAgICAgIGZs YWdzIHw9IFhFTl9ET01DVExfQ0RGX2h2bV9ndWVzdDsKLSAgICAgICAgICAgIGZsYWdzIHw9IGxp YnhsX2RlZmJvb2xfdmFsKGluZm8tPmhhcCkgPyBYRU5fRE9NQ1RMX0NERl9oYXAgOiAwOwotICAg ICAgICAgICAgZmxhZ3MgfD0gbGlieGxfZGVmYm9vbF92YWwoaW5mby0+b29zKSA/IDAgOiBYRU5f RE9NQ1RMX0NERl9vb3Nfb2ZmOworICAgICAgICAgICAgY3JlYXRlLmZsYWdzIHw9IFhFTl9ET01D VExfQ0RGX2h2bV9ndWVzdDsKKyAgICAgICAgICAgIGNyZWF0ZS5mbGFncyB8PQorICAgICAgICAg ICAgICAgIGxpYnhsX2RlZmJvb2xfdmFsKGluZm8tPmhhcCkgPyBYRU5fRE9NQ1RMX0NERl9oYXAg OiAwOworICAgICAgICAgICAgY3JlYXRlLmZsYWdzIHw9CisgICAgICAgICAgICAgICAgbGlieGxf ZGVmYm9vbF92YWwoaW5mby0+b29zKSA/IDAgOiBYRU5fRE9NQ1RMX0NERl9vb3Nfb2ZmOwogICAg ICAgICB9CiAKICAgICAgICAgLyogVWx0aW1hdGVseSwgaGFuZGxlIGlzIGFuIGFycmF5IG9mIDE2 IHVpbnQ4X3QsIHNhbWUgYXMgdXVpZCAqLwotICAgICAgICBsaWJ4bF91dWlkX2NvcHkoY3R4LCAo bGlieGxfdXVpZCAqKWhhbmRsZSwgJmluZm8tPnV1aWQpOworICAgICAgICBsaWJ4bF91dWlkX2Nv cHkoY3R4LCAobGlieGxfdXVpZCAqKSZjcmVhdGUuaGFuZGxlLCAmaW5mby0+dXVpZCk7CiAKLSAg ICAgICAgcmV0ID0gbGlieGxfX2FyY2hfZG9tYWluX3ByZXBhcmVfY29uZmlnKGdjLCBkX2NvbmZp ZywgJnhjX2NvbmZpZyk7CisgICAgICAgIHJldCA9IGxpYnhsX19hcmNoX2RvbWFpbl9wcmVwYXJl X2NvbmZpZyhnYywgZF9jb25maWcsICZjcmVhdGUpOwogICAgICAgICBpZiAocmV0IDwgMCkgewog ICAgICAgICAgICAgTE9HRUQoRVJST1IsICpkb21pZCwgImZhaWwgdG8gZ2V0IGRvbWFpbiBjb25m aWciKTsKICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgICAgIGdvdG8gb3V0 OwogICAgICAgICB9CiAKLSAgICAgICAgcmV0ID0geGNfZG9tYWluX2NyZWF0ZShjdHgtPnhjaCwg aW5mby0+c3NpZHJlZiwgaGFuZGxlLCBmbGFncywgZG9taWQsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnhjX2NvbmZpZyk7CisgICAgICAgIHJldCA9IHhjX2RvbWFpbl9jcmVhdGUo Y3R4LT54Y2gsIGRvbWlkLCAmY3JlYXRlKTsKICAgICAgICAgaWYgKHJldCA8IDApIHsKICAgICAg ICAgICAgIExPR0VEKEVSUk9SLCAqZG9taWQsICJkb21haW4gY3JlYXRpb24gZmFpbCIpOwogICAg ICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAg IH0KIAotICAgICAgICByYyA9IGxpYnhsX19hcmNoX2RvbWFpbl9zYXZlX2NvbmZpZyhnYywgZF9j b25maWcsIHN0YXRlLCAmeGNfY29uZmlnKTsKKyAgICAgICAgcmMgPSBsaWJ4bF9fYXJjaF9kb21h aW5fc2F2ZV9jb25maWcoZ2MsIGRfY29uZmlnLCBzdGF0ZSwgJmNyZWF0ZSk7CiAgICAgICAgIGlm IChyYyA8IDApCiAgICAgICAgICAgICBnb3RvIG91dDsKICAgICB9CmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC9saWJ4bF94ODYuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCmluZGV4IGFiODg1 NjIuLjZmNjcwYjAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCisrKyBiL3Rv b2xzL2xpYnhsL2xpYnhsX3g4Ni5jCkBAIC01LDE3ICs1LDE3IEBACiAKIGludCBsaWJ4bF9fYXJj aF9kb21haW5fcHJlcGFyZV9jb25maWcobGlieGxfX2djICpnYywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhjX2RvbWFpbl9jb25maWd1cmF0aW9u X3QgKnhjX2NvbmZpZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWluICpjb25maWcpCiB7CiAgICAgc3dpdGNoKGRfY29u ZmlnLT5jX2luZm8udHlwZSkgewogICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSFZNOgotICAg ICAgICB4Y19jb25maWctPmVtdWxhdGlvbl9mbGFncyA9IChYRU5fWDg2X0VNVV9BTEwgJiB+WEVO X1g4Nl9FTVVfVlBDSSk7CisgICAgICAgIGNvbmZpZy0+YXJjaC5lbXVsYXRpb25fZmxhZ3MgPSAo WEVOX1g4Nl9FTVVfQUxMICYgflhFTl9YODZfRU1VX1ZQQ0kpOwogICAgICAgICBicmVhazsKICAg ICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWSDoKLSAgICAgICAgeGNfY29uZmlnLT5lbXVsYXRp b25fZmxhZ3MgPSBYRU5fWDg2X0VNVV9MQVBJQzsKKyAgICAgICAgY29uZmlnLT5hcmNoLmVtdWxh dGlvbl9mbGFncyA9IFhFTl9YODZfRU1VX0xBUElDOwogICAgICAgICBicmVhazsKICAgICBjYXNl IExJQlhMX0RPTUFJTl9UWVBFX1BWOgotICAgICAgICB4Y19jb25maWctPmVtdWxhdGlvbl9mbGFn cyA9IDA7CisgICAgICAgIGNvbmZpZy0+YXJjaC5lbXVsYXRpb25fZmxhZ3MgPSAwOwogICAgICAg ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBhYm9ydCgpOwpAQCAtMjcsNyArMjcsNyBA QCBpbnQgbGlieGxfX2FyY2hfZG9tYWluX3ByZXBhcmVfY29uZmlnKGxpYnhsX19nYyAqZ2MsCiBp bnQgbGlieGxfX2FyY2hfZG9tYWluX3NhdmVfY29uZmlnKGxpYnhsX19nYyAqZ2MsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmln LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2J1aWxk X3N0YXRlICpzdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg eGNfZG9tYWluX2NvbmZpZ3VyYXRpb25fdCAqeGNfY29uZmlnKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVhdGVkb21haW4gKmNv bmZpZykKIHsKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL29jYW1sL2xpYnMv eGMveGVuY3RybF9zdHVicy5jIGIvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsX3N0dWJzLmMK aW5kZXggZGJlOWMzZS4uMTIwNmVhZSAxMDA2NDQKLS0tIGEvdG9vbHMvb2NhbWwvbGlicy94Yy94 ZW5jdHJsX3N0dWJzLmMKKysrIGIvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsX3N0dWJzLmMK QEAgLTE3NCw4ICsxNzQsNyBAQCBDQU1McHJpbSB2YWx1ZSBzdHViX3hjX2RvbWFpbl9jcmVhdGUo dmFsdWUgeGNoLCB2YWx1ZSBjb25maWcpCiAjdW5kZWYgVkFMX1NTSURSRUYKIAogCWNhbWxfZW50 ZXJfYmxvY2tpbmdfc2VjdGlvbigpOwotCXJlc3VsdCA9IHhjX2RvbWFpbl9jcmVhdGUoX0goeGNo KSwgY2ZnLnNzaWRyZWYsIGNmZy5oYW5kbGUsIGNmZy5mbGFncywKLQkJCQkgICZkb21pZCwgJmNm Zy5hcmNoKTsKKwlyZXN1bHQgPSB4Y19kb21haW5fY3JlYXRlKF9IKHhjaCksICZkb21pZCwgJmNm Zyk7CiAJY2FtbF9sZWF2ZV9ibG9ja2luZ19zZWN0aW9uKCk7CiAKIAlpZiAocmVzdWx0IDwgMCkK ZGlmZiAtLWdpdCBhL3Rvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYyBiL3Rvb2xzL3B5 dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYwppbmRleCA1YWRlMTI3Li41YTI5MjNhIDEwMDY0NAot LS0gYS90b29scy9weXRob24veGVuL2xvd2xldmVsL3hjL3hjLmMKKysrIGIvdG9vbHMvcHl0aG9u L3hlbi9sb3dsZXZlbC94Yy94Yy5jCkBAIC0xMTcsMTcgKzExNywyMSBAQCBzdGF0aWMgUHlPYmpl Y3QgKnB5eGNfZG9tYWluX2NyZWF0ZShYY09iamVjdCAqc2VsZiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUHlPYmplY3QgKmt3ZHMpCiB7Ci0gICAgdWludDMyX3QgZG9tID0gMCwg c3NpZHJlZiA9IDAsIGZsYWdzID0gMCwgdGFyZ2V0ID0gMDsKKyAgICB1aW50MzJfdCBkb20gPSAw LCB0YXJnZXQgPSAwOwogICAgIGludCAgICAgIHJldCwgaTsKICAgICBQeU9iamVjdCAqcHloYW5k bGUgPSBOVUxMOwotICAgIHhlbl9kb21haW5faGFuZGxlX3QgaGFuZGxlID0geyAKLSAgICAgICAg MHhkZSwgMHhhZCwgMHhiZSwgMHhlZiwgMHhkZSwgMHhhZCwgMHhiZSwgMHhlZiwKLSAgICAgICAg MHhkZSwgMHhhZCwgMHhiZSwgMHhlZiwgMHhkZSwgMHhhZCwgMHhiZSwgMHhlZiB9OworICAgIHN0 cnVjdCB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiBjb25maWcgPSB7CisgICAgICAgIC5oYW5kbGUg PSB7CisgICAgICAgICAgICAweGRlLCAweGFkLCAweGJlLCAweGVmLCAweGRlLCAweGFkLCAweGJl LCAweGVmLAorICAgICAgICAgICAgMHhkZSwgMHhhZCwgMHhiZSwgMHhlZiwgMHhkZSwgMHhhZCwg MHhiZSwgMHhlZiwKKyAgICAgICAgfSwKKyAgICB9OwogCiAgICAgc3RhdGljIGNoYXIgKmt3ZF9s aXN0W10gPSB7ICJkb21pZCIsICJzc2lkcmVmIiwgImhhbmRsZSIsICJmbGFncyIsICJ0YXJnZXQi LCBOVUxMIH07CiAKICAgICBpZiAoICFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywg a3dkcywgInxpaU9paSIsIGt3ZF9saXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZG9tLCAmc3NpZHJlZiwgJnB5aGFuZGxlLCAmZmxhZ3MsICZ0YXJnZXQpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9tLCAmY29uZmlnLnNzaWRyZWYs ICZweWhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNvbmZp Zy5mbGFncywgJnRhcmdldCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmICggcHloYW5k bGUgIT0gTlVMTCApCiAgICAgewpAQCAtMTQwLDEyICsxNDQsMjAgQEAgc3RhdGljIFB5T2JqZWN0 ICpweXhjX2RvbWFpbl9jcmVhdGUoWGNPYmplY3QgKnNlbGYsCiAgICAgICAgICAgICBQeU9iamVj dCAqcCA9IFB5TGlzdF9HZXRJdGVtKHB5aGFuZGxlLCBpKTsKICAgICAgICAgICAgIGlmICggIVB5 TG9uZ09ySW50X0NoZWNrKHApICkKICAgICAgICAgICAgICAgICBnb3RvIG91dF9leGNlcHRpb247 Ci0gICAgICAgICAgICBoYW5kbGVbaV0gPSAodWludDhfdClQeUxvbmdPckludF9Bc0xvbmcocCk7 CisgICAgICAgICAgICBjb25maWcuaGFuZGxlW2ldID0gKHVpbnQ4X3QpUHlMb25nT3JJbnRfQXNM b25nKHApOwogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCAocmV0ID0geGNfZG9tYWluX2Ny ZWF0ZShzZWxmLT54Y19oYW5kbGUsIHNzaWRyZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBoYW5kbGUsIGZsYWdzLCAmZG9tLCBOVUxMKSkgPCAwICkKKyNpZiBkZWZpbmVkIChf X2kzODYpIHx8IGRlZmluZWQoX194ODZfNjRfXykKKyAgICBpZiAoIGNvbmZpZy5mbGFncyAmIFhF Tl9ET01DVExfQ0RGX2h2bV9ndWVzdCApCisgICAgICAgIGNvbmZpZy5hcmNoLmVtdWxhdGlvbl9m bGFncyA9IChYRU5fWDg2X0VNVV9BTEwgJiB+WEVOX1g4Nl9FTVVfVlBDSSk7CisjZWxpZiBkZWZp bmVkIChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQorICAgIGNvbmZpZy5hcmNoLmdp Y192ZXJzaW9uID0gWEVOX0RPTUNUTF9DT05GSUdfR0lDX05BVElWRTsKKyNlbHNlCisjZXJyb3Ig QXJjaGl0ZWN0dXJlIG5vdCBzdXBwb3J0ZWQKKyNlbmRpZgorCisgICAgaWYgKCAocmV0ID0geGNf ZG9tYWluX2NyZWF0ZShzZWxmLT54Y19oYW5kbGUsICZkb20sICZjb25maWcpKSA8IDAgKQogICAg ICAgICByZXR1cm4gcHl4Y19lcnJvcl90b19leGNlcHRpb24oc2VsZi0+eGNfaGFuZGxlKTsKIAog ICAgIGlmICggdGFyZ2V0ICkKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA==