From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= Subject: [PATCH v2 05/35] libxl/libxl_bootloader.c: used LOG*D functions Date: Thu, 17 Nov 2016 18:35:47 +0100 Message-ID: <20161117173617.6697-6-cbosdonnat@suse.com> References: <20161117173617.6697-1-cbosdonnat@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161117173617.6697-1-cbosdonnat@suse.com> 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: Wei Liu , Ian Jackson , Cedric Bosdonnat List-Id: xen-devel@lists.xenproject.org RnJvbTogQ2VkcmljIEJvc2Rvbm5hdCA8Y2Jvc2Rvbm5hdEBzdXNlLmNvbT4KClVzZSBMT0cqRCBm dW5jdGlvbnMgdG8gb3V0cHV0IHRoZSBkb21haW4gSUQgaW4gbG9ncyBhcyBtdWNoIGFzCnBvc3Np YmxlLiBUaGlzIHdpbGwgaGVscCBjb25zdW1lciBjb2RlIHNvcnRpbmcgdGhlIGxvZ3MgYnkKZG9t YWluLgoKU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBCb3Nkb25uYXQgPGNib3Nkb25uYXRAc3VzZS5j b20+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfYm9vdGxvYWRlci5jIHwgODQgKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDkgaW5zZXJ0 aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf Ym9vdGxvYWRlci5jIGIvdG9vbHMvbGlieGwvbGlieGxfYm9vdGxvYWRlci5jCmluZGV4IDJjZmM4 Y2YuLmM3YzIwMTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Jvb3Rsb2FkZXIuYwor KysgYi90b29scy9saWJ4bC9saWJ4bF9ib290bG9hZGVyLmMKQEAgLTk5LDcgKzk5LDcgQEAgc3Rh dGljIGludCBzZXR1cF94ZW5jb25zb2xlZF9wdHkobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYm9v dGxvYWRlcl9zdGF0ZSAqYmwsCiAKICAgICByID0gdHR5bmFtZV9yKHNsYXZlLCBzbGF2ZV9wYXRo LCBzbGF2ZV9wYXRoX2xlbik7CiAgICAgaWYgKHIgPT0gLTEpIHsKLSAgICAgICAgTE9HRShFUlJP UiwidHR5bmFtZV9yIGZhaWxlZCIpOworICAgICAgICBMT0dFRChFUlJPUiwgYmwtPmRvbWlkLCAi dHR5bmFtZV9yIGZhaWxlZCIpOwogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgIGdv dG8gb3V0OwogICAgIH0KQEAgLTEyNSw3ICsxMjUsNyBAQCBzdGF0aWMgaW50IHNldHVwX3hlbmNv bnNvbGVkX3B0eShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ib290bG9hZGVyX3N0YXRlICpibCwK IH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKmJvb3Rsb2FkZXJfcmVzdWx0X2NvbW1hbmQobGlieGxf X2djICpnYywgY29uc3QgY2hhciAqYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKnByZWZpeCwgc2l6ZV90IHByZWZpeGxlbikgeworICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgc2l6ZV90IHByZWZpeGxlbiwgdWludDMyX3QgZG9taWQp IHsKICAgICBpZiAoc3RybmNtcChidWYsIHByZWZpeCwgcHJlZml4bGVuKSkKICAgICAgICAgcmV0 dXJuIDA7CiAKQEAgLTEzNiw3ICsxMzYsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqYm9vdGxvYWRl cl9yZXN1bHRfY29tbWFuZChsaWJ4bF9fZ2MgKmdjLCBjb25zdCBjaGFyICpidWYsCiAgICAgd2hp bGUgKENUWVBFKGlzc3BhY2UsKnJocykpCiAgICAgICAgIHJocysrOwogCi0gICAgTE9HKERFQlVH LCJib290bG9hZGVyIG91dHB1dCBjb250YWluZWQgJXMgJXMiLCBwcmVmaXgsIHJocyk7CisgICAg TE9HRChERUJVRywgZG9taWQsICJib290bG9hZGVyIG91dHB1dCBjb250YWluZWQgJXMgJXMiLCBw cmVmaXgsIHJocyk7CiAKICAgICByZXR1cm4gcmhzOwogfQpAQCAtMTUxLDcgKzE1MSw4IEBAIHN0 YXRpYyBpbnQgcGFyc2VfYm9vdGxvYWRlcl9yZXN1bHQobGlieGxfX2VnYyAqZWdjLAogCiAgICAg ZiA9IGZvcGVuKGJsLT5vdXRwdXRwYXRoLCAiciIpOwogICAgIGlmICghZikgewotICAgICAgICBM T0dFKEVSUk9SLCJvcGVuIGJvb3Rsb2FkZXIgb3V0cHV0IGZpbGUgJXMiLCBibC0+b3V0cHV0cGF0 aCk7CisgICAgICAgIExPR0VEKEVSUk9SLCBibC0+ZG9taWQsICJvcGVuIGJvb3Rsb2FkZXIgb3V0 cHV0IGZpbGUgJXMiLAorICAgICAgICAgICAgICBibC0+b3V0cHV0cGF0aCk7CiAgICAgICAgIGdv dG8gb3V0OwogICAgIH0KIApAQCAtMTY2LDIxICsxNjcsMjIgQEAgc3RhdGljIGludCBwYXJzZV9i b290bG9hZGVyX3Jlc3VsdChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgIH0KICAgICAgICAgaWYg KGMgPT0gRU9GKSB7CiAgICAgICAgICAgICBpZiAoZmVycm9yKGYpKSB7Ci0gICAgICAgICAgICAg ICAgTE9HRShFUlJPUiwicmVhZCBib290bG9hZGVyIG91dHB1dCBmaWxlICVzIiwgYmwtPm91dHB1 dHBhdGgpOworICAgICAgICAgICAgICAgIExPR0VEKEVSUk9SLCBibC0+ZG9taWQsICJyZWFkIGJv b3Rsb2FkZXIgb3V0cHV0IGZpbGUgJXMiLAorICAgICAgICAgICAgICAgICAgICAgIGJsLT5vdXRw dXRwYXRoKTsKICAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAgICAgIH0KICAgICAg ICAgICAgIGlmICghbCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAg ICBpZiAobCA+PSBzaXplb2YoYnVmKSkgewotICAgICAgICAgICAgTE9HKFdBUk4sImJvb3Rsb2Fk ZXIgb3V0cHV0IGNvbnRhaW5lZCIKLSAgICAgICAgICAgICAgICAiIG92ZXJseSBsb25nIGl0ZW0g YCUuMTUwcy4uLiciLCBidWYpOworICAgICAgICAgICAgTE9HRChXQVJOLCBibC0+ZG9taWQsICJi b290bG9hZGVyIG91dHB1dCBjb250YWluZWQiCisgICAgICAgICAgICAgICAgICIgb3Zlcmx5IGxv bmcgaXRlbSBgJS4xNTBzLi4uJyIsIGJ1Zik7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg ICAgfQogICAgICAgICBidWZbbF0gPSAwOwogCiAgICAgICAgIGNvbnN0IGNoYXIgKnJoczsKLSNk ZWZpbmUgQ09NTUFORChzKSAoKHJocyA9IGJvb3Rsb2FkZXJfcmVzdWx0X2NvbW1hbmQoZ2MsIGJ1 Ziwgcywgc2l6ZW9mKHMpLTEpKSkKKyNkZWZpbmUgQ09NTUFORChzKSAoKHJocyA9IGJvb3Rsb2Fk ZXJfcmVzdWx0X2NvbW1hbmQoZ2MsIGJ1Ziwgcywgc2l6ZW9mKHMpLTEsIGJsLT5kb21pZCkpKQog CiAgICAgICAgIGlmIChDT01NQU5EKCJrZXJuZWwiKSkgewogICAgICAgICAgICAgYmwtPmtlcm5l bC0+cGF0aCA9IGxpYnhsX19zdHJkdXAoZ2MsIHJocyk7CkBAIC0xOTMsNyArMTk1LDggQEAgc3Rh dGljIGludCBwYXJzZV9ib290bG9hZGVyX3Jlc3VsdChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAg IH0gZWxzZSBpZiAoQ09NTUFORCgiYXJncyIpKSB7CiAgICAgICAgICAgICBibC0+Y21kbGluZSA9 IGxpYnhsX19zdHJkdXAoZ2MsIHJocyk7CiAgICAgICAgIH0gZWxzZSBpZiAobCkgewotICAgICAg ICAgICAgTE9HKFdBUk4sICJ1bmV4cGVjdGVkIG91dHB1dCBmcm9tIGJvb3Rsb2FkZXI6IGAlcyci LCBidWYpOworICAgICAgICAgICAgTE9HRChXQVJOLCBibC0+ZG9taWQsCisgICAgICAgICAgICAg ICAgICJ1bmV4cGVjdGVkIG91dHB1dCBmcm9tIGJvb3Rsb2FkZXI6IGAlcyciLCBidWYpOwogICAg ICAgICB9CiAgICAgfQogICAgIHJjID0gMDsKQEAgLTI3Niw3ICsyNzksOCBAQCBzdGF0aWMgdm9p ZCBib290bG9hZGVyX2xvY2FsX2RldGFjaGVkX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICBsaWJ4 bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwgPSBDT05UQUlORVJfT0YoZGxzLCAqYmwsIGRscyk7CiAK ICAgICBpZiAocmMpIHsKLSAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIGRldGFjaCBsb2Nh bGx5IGF0dGFjaGVkIGRpc2siKTsKKyAgICAgICAgTE9HRChFUlJPUiwgYmwtPmRvbWlkLAorICAg ICAgICAgICAgICJ1bmFibGUgdG8gZGV0YWNoIGxvY2FsbHkgYXR0YWNoZWQgZGlzayIpOwogICAg ICAgICBpZiAoIWJsLT5yYykKICAgICAgICAgICAgIGJsLT5yYyA9IHJjOwogICAgIH0KQEAgLTI5 NSw4ICsyOTksOCBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX3N0b3AobGlieGxfX2VnYyAqZWdj LAogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwoJmJsLT5kaXNwbGF5KTsKICAgICBpZiAobGli eGxfX2V2X2NoaWxkX2ludXNlKCZibC0+Y2hpbGQpKSB7CiAgICAgICAgIHIgPSBraWxsKGJsLT5j aGlsZC5waWQsIFNJR1RFUk0pOwotICAgICAgICBpZiAocikgTE9HRShXQVJOLCAiJXNmYWlsZWQg dG8ga2lsbCBib290bG9hZGVyIFslbHVdIiwKLSAgICAgICAgICAgICAgICAgICAgcmMgPyAiYWZ0 ZXIgZmFpbHVyZSwgIiA6ICIiLCAodW5zaWduZWQgbG9uZylibC0+Y2hpbGQucGlkKTsKKyAgICAg ICAgaWYgKHIpIExPR0VEKFdBUk4sIGJsLT5kb21pZCwgIiVzZmFpbGVkIHRvIGtpbGwgYm9vdGxv YWRlciBbJWx1XSIsCisgICAgICAgICAgICAgICAgICAgICByYyA/ICJhZnRlciBmYWlsdXJlLCAi IDogIiIsICh1bnNpZ25lZCBsb25nKWJsLT5jaGlsZC5waWQpOwogICAgIH0KICAgICBpZiAoIWJs LT5yYykKICAgICAgICAgYmwtPnJjID0gcmM7CkBAIC0zMjEsMTMgKzMyNSwxNCBAQCB2b2lkIGxp YnhsX19ib290bG9hZGVyX3J1bihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ib290bG9hZGVyX3N0 YXRlICpibCkKICAgICBsaWJ4bF9fYm9vdGxvYWRlcl9pbml0KGJsKTsKIAogICAgIGlmIChpbmZv LT50eXBlICE9IExJQlhMX0RPTUFJTl9UWVBFX1BWKSB7Ci0gICAgICAgIExPRyhERUJVRywgIm5v dCBhIFBWIGRvbWFpbiwgc2tpcHBpbmcgYm9vdGxvYWRlciIpOworICAgICAgICBMT0dEKERFQlVH LCBkb21pZCwgIm5vdCBhIFBWIGRvbWFpbiwgc2tpcHBpbmcgYm9vdGxvYWRlciIpOwogICAgICAg ICByYyA9IDA7CiAgICAgICAgIGdvdG8gb3V0X29rOwogICAgIH0KIAogICAgIGlmICghaW5mby0+ dS5wdi5ib290bG9hZGVyKSB7Ci0gICAgICAgIExPRyhERUJVRywgIm5vIGJvb3Rsb2FkZXIgY29u ZmlndXJlZCwgdXNpbmcgdXNlciBzdXBwbGllZCBrZXJuZWwiKTsKKyAgICAgICAgTE9HRChERUJV RywgZG9taWQsCisgICAgICAgICAgICAgIm5vIGJvb3Rsb2FkZXIgY29uZmlndXJlZCwgdXNpbmcg dXNlciBzdXBwbGllZCBrZXJuZWwiKTsKICAgICAgICAgYmwtPmtlcm5lbC0+cGF0aCA9IGJsLT5p bmZvLT5rZXJuZWw7CiAgICAgICAgIGJsLT5yYW1kaXNrLT5wYXRoID0gYmwtPmluZm8tPnJhbWRp c2s7CiAgICAgICAgIGJsLT5jbWRsaW5lID0gYmwtPmluZm8tPmNtZGxpbmU7CkBAIC0zMzYsNyAr MzQxLDcgQEAgdm9pZCBsaWJ4bF9fYm9vdGxvYWRlcl9ydW4obGlieGxfX2VnYyAqZWdjLCBsaWJ4 bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwpCiAgICAgfQogCiAgICAgaWYgKCFibC0+ZGlzaykgewot ICAgICAgICBMT0coRVJST1IsICJjYW5ub3QgcnVuIGJvb3Rsb2FkZXIgd2l0aCBubyBib290IGRp c2siKTsKKyAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJjYW5ub3QgcnVuIGJvb3Rsb2FkZXIg d2l0aCBubyBib290IGRpc2siKTsKICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBn b3RvIG91dDsKICAgICB9CkBAIC0zNTQsNyArMzU5LDggQEAgdm9pZCBsaWJ4bF9fYm9vdGxvYWRl cl9ydW4obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwpCiAKICAg ICBibC0+ZGlzcGxheS5sb2cgPSBmb3BlbihibC0+bG9nZmlsZSwgImEiKTsKICAgICBpZiAoIWJs LT5kaXNwbGF5LmxvZykgewotICAgICAgICBMT0dFKEVSUk9SLCAiZmFpbGVkIHRvIGNyZWF0ZSBi b290bG9hZGVyIGxvZ2ZpbGUgJXMiLCBibC0+bG9nZmlsZSk7CisgICAgICAgIExPR0VEKEVSUk9S LCBkb21pZCwKKyAgICAgICAgICAgICAgImZhaWxlZCB0byBjcmVhdGUgYm9vdGxvYWRlciBsb2dm aWxlICVzIiwgYmwtPmxvZ2ZpbGUpOwogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAg IGdvdG8gb3V0OwogICAgIH0KQEAgLTM2NCw3ICszNzAsOCBAQCB2b2lkIGxpYnhsX19ib290bG9h ZGVyX3J1bihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ib290bG9hZGVyX3N0YXRlICpibCkKICAg ICAgICAgaWYgKCFyKSBicmVhazsKICAgICAgICAgaWYgKGVycm5vID09IEVJTlRSKSBjb250aW51 ZTsKICAgICAgICAgaWYgKGVycm5vID09IEVFWElTVCkgYnJlYWs7Ci0gICAgICAgIExPR0UoRVJS T1IsICJmYWlsZWQgdG8gY3JlYXRlIGJvb3Rsb2FkZXIgZGlyICVzIiwgYmwtPm91dHB1dGRpcik7 CisgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwKKyAgICAgICAgICAgICAgImZhaWxlZCB0byBj cmVhdGUgYm9vdGxvYWRlciBkaXIgJXMiLCBibC0+b3V0cHV0ZGlyKTsKICAgICAgICAgcmMgPSBF UlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CkBAIC0zNzMsNyArMzgwLDggQEAg dm9pZCBsaWJ4bF9fYm9vdGxvYWRlcl9ydW4obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYm9vdGxv YWRlcl9zdGF0ZSAqYmwpCiAgICAgICAgIHIgPSBvcGVuKGJsLT5vdXRwdXRwYXRoLCBPX1dST05M WXxPX0NSRUFUfE9fVFJVTkMsIDA2MDApOwogICAgICAgICBpZiAocj49MCkgeyBjbG9zZShyKTsg YnJlYWs7IH0KICAgICAgICAgaWYgKGVycm5vID09IEVJTlRSKSBjb250aW51ZTsKLSAgICAgICAg TE9HRShFUlJPUiwgImZhaWxlZCB0byBwcmVjcmVhdGUgYm9vdGxvYWRlciBvdXRwdXQgJXMiLCBi bC0+b3V0cHV0cGF0aCk7CisgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwKKyAgICAgICAgICAg ICAgImZhaWxlZCB0byBwcmVjcmVhdGUgYm9vdGxvYWRlciBvdXRwdXQgJXMiLCBibC0+b3V0cHV0 cGF0aCk7CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7CiAgICAg fQpAQCAtNDA1LDE1ICs0MTMsMTggQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9kaXNrX2F0dGFj aGVkX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICBjb25zdCBjaGFyICpib290bG9hZGVyOwogCiAg ICAgaWYgKHJjKSB7Ci0gICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBhdHRhY2ggbG9jYWwg ZGlzayBmb3IgYm9vdGxvYWRlciBleGVjdXRpb24iKTsKKyAgICAgICAgTE9HRChFUlJPUiwgYmwt PmRvbWlkLAorICAgICAgICAgICAgICJmYWlsZWQgdG8gYXR0YWNoIGxvY2FsIGRpc2sgZm9yIGJv b3Rsb2FkZXIgZXhlY3V0aW9uIik7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAotICAgIExP RyhERUJVRywgIkNvbmZpZyBib290bG9hZGVyIHZhbHVlOiAlcyIsIGluZm8tPnUucHYuYm9vdGxv YWRlcik7CisgICAgTE9HRChERUJVRywgYmwtPmRvbWlkLAorICAgICAgICAgIkNvbmZpZyBib290 bG9hZGVyIHZhbHVlOiAlcyIsIGluZm8tPnUucHYuYm9vdGxvYWRlcik7CiAKICAgICBpZiAoICFz dHJjbXAoaW5mby0+dS5wdi5ib290bG9hZGVyLCAiL3Vzci9iaW4vcHlncnViIikgKQotICAgICAg ICBMT0coV0FSTiwgImJvb3Rsb2FkZXI9Jy91c3IvYmluL3B5Z3J1YicgaXMgZGVwcmVjYXRlZDsg dXNlICIgXAotICAgICAgICAgICAgImJvb3Rsb2FkZXI9J3B5Z3J1YicgaW5zdGVhZCIpOworICAg ICAgICBMT0dEKFdBUk4sIGJsLT5kb21pZCwKKyAgICAgICAgICAgICAiYm9vdGxvYWRlcj0nL3Vz ci9iaW4vcHlncnViJyBpcyBkZXByZWNhdGVkOyB1c2UgIiBcCisgICAgICAgICAgICAgImJvb3Rs b2FkZXI9J3B5Z3J1YicgaW5zdGVhZCIpOwogCiAgICAgYm9vdGxvYWRlciA9IGluZm8tPnUucHYu Ym9vdGxvYWRlcjsKIApAQCAtNDI1LDExICs0MzYsMTMgQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRl cl9kaXNrX2F0dGFjaGVkX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgYmx0bXAgPSBsaWJ4 bF9fYWJzX3BhdGgoZ2MsIGJvb3Rsb2FkZXIsIGxpYnhsX19wcml2YXRlX2JpbmRpcl9wYXRoKCkp OwogICAgICAgICAvKiBDaGVjayB0byBzZWUgaWYgdGhlIGZpbGUgZXhpc3RzIGluIHRoaXMgbG9j YXRpb247IGlmIG5vdCwKICAgICAgICAgICogZmFsbCBiYWNrIHRvIGNoZWNraW5nIHRoZSBwYXRo ICovCi0gICAgICAgIExPRyhERUJVRywgIkNoZWNraW5nIGZvciBib290bG9hZGVyIGluIGxpYmV4 ZWMgcGF0aDogJXMiLCBibHRtcCk7CisgICAgICAgIExPR0QoREVCVUcsIGJsLT5kb21pZCwKKyAg ICAgICAgICAgICAiQ2hlY2tpbmcgZm9yIGJvb3Rsb2FkZXIgaW4gbGliZXhlYyBwYXRoOiAlcyIs IGJsdG1wKTsKIAogICAgICAgICBpZiAoIGxzdGF0KGJsdG1wLCAmc3QpICkKLSAgICAgICAgICAg IExPRyhERUJVRywgIiVzIGRvZXNuJ3QgZXhpc3QsIGZhbGxpbmcgYmFjayB0byBjb25maWcgcGF0 aCIsCi0gICAgICAgICAgICAgICAgYmx0bXApOworICAgICAgICAgICAgTE9HRChERUJVRywgYmwt PmRvbWlkLAorICAgICAgICAgICAgICAgICAiJXMgZG9lc24ndCBleGlzdCwgZmFsbGluZyBiYWNr IHRvIGNvbmZpZyBwYXRoIiwKKyAgICAgICAgICAgICAgICAgYmx0bXApOwogICAgICAgICBlbHNl CiAgICAgICAgICAgICBib290bG9hZGVyID0gYmx0bXA7CiAgICAgfQpAQCAtNDg4LDcgKzUwMSw3 IEBAIHN0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfZ290cHR5cyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhs X19vcGVucHR5X3N0YXRlICpvcCkKICAgICByYyA9IGxpYnhsX194c19wcmludGYoZ2MsIFhCVF9O VUxMLCBkb21fY29uc29sZV94c19wYXRoLCAiJXMiLAogICAgICAgICAgICAgICAgICAgICAgICAg ICBkb21fY29uc29sZV9zbGF2ZV90dHlfcGF0aCk7CiAgICAgaWYgKHJjKSB7Ci0gICAgICAgIExP R0UoRVJST1IsInhzIHdyaXRlIGNvbnNvbGUgcGF0aCAlcyA6PSAlcyBmYWlsZWQiLAorICAgICAg ICBMT0dFRChFUlJPUiwgYmwtPmRvbWlkLCAieHMgd3JpdGUgY29uc29sZSBwYXRoICVzIDo9ICVz IGZhaWxlZCIsCiAgICAgICAgICAgICAgZG9tX2NvbnNvbGVfeHNfcGF0aCwgZG9tX2NvbnNvbGVf c2xhdmVfdHR5X3BhdGgpOwogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgIGdvdG8g b3V0OwpAQCAtNTM3LDExICs1NTAsMTEgQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9nb3RwdHlz KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX29wZW5wdHlfc3RhdGUgKm9wKQogICAgIHJjID0gbGli eGxfX2RhdGFjb3BpZXJfc3RhcnQoJmJsLT5kaXNwbGF5KTsKICAgICBpZiAocmMpIGdvdG8gb3V0 OwogCi0gICAgTE9HKERFQlVHLCAiZXhlY3V0aW5nIGJvb3Rsb2FkZXI6ICVzIiwgYmwtPmFyZ3Nb MF0pOworICAgIExPR0QoREVCVUcsIGJsLT5kb21pZCwgImV4ZWN1dGluZyBib290bG9hZGVyOiAl cyIsIGJsLT5hcmdzWzBdKTsKICAgICBmb3IgKGNvbnN0IGNoYXIgKipibGFyZyA9IGJsLT5hcmdz OwogICAgICAgICAgKmJsYXJnOwogICAgICAgICAgYmxhcmcrKykKLSAgICAgICAgTE9HKERFQlVH LCAiICBib290bG9hZGVyIGFyZzogJXMiLCAqYmxhcmcpOworICAgICAgICBMT0dEKERFQlVHLCBi bC0+ZG9taWQsICIgIGJvb3Rsb2FkZXIgYXJnOiAlcyIsICpibGFyZyk7CiAKICAgICBzdHJ1Y3Qg dGVybWlvcyB0ZXJtYXR0cjsKIApAQCAtNTU0LDcgKzU2Nyw3IEBAIHN0YXRpYyB2b2lkIGJvb3Rs b2FkZXJfZ290cHR5cyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19vcGVucHR5X3N0YXRlICpvcCkK ICAgICBpZiAoIXBpZCkgewogICAgICAgICAvKiBjaGlsZCAqLwogICAgICAgICByID0gbG9naW5f dHR5KGxpYnhsX19jYXJlZmRfZmQoYmwtPnB0eXNbMF0uc2xhdmUpKTsKLSAgICAgICAgaWYgKHIp IHsgTE9HRShFUlJPUiwgImxvZ2luX3R0eSBmYWlsZWQiKTsgZXhpdCgtMSk7IH0KKyAgICAgICAg aWYgKHIpIHsgTE9HRUQoRVJST1IsIGJsLT5kb21pZCwgImxvZ2luX3R0eSBmYWlsZWQiKTsgZXhp dCgtMSk7IH0KICAgICAgICAgbGlieGxfX2V4ZWMoZ2MsIC0xLCAtMSwgLTEsIGJsLT5hcmdzWzBd LCAoY2hhciAqKikgYmwtPmFyZ3MsIGVudik7CiAgICAgfQogCkBAIC01ODksMTAgKzYwMiwxMCBA QCBzdGF0aWMgdm9pZCBib290bG9hZGVyX2NvcHlmYWlsKGxpYnhsX19lZ2MgKmVnYywgY29uc3Qg Y2hhciAqd2hpY2gsCiAgICAgICAgICAgICByYyA9IDA7CiAgICAgICAgICAgICBibC0+Z290X3Bv bGxodXAgPSAxOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgTE9HKEVSUk9SLCAidW5l eHBlY3RlZCBQT0xMSFVQIG9uICVzIiwgd2hpY2gpOworICAgICAgICAgICAgTE9HRChFUlJPUiwg YmwtPmRvbWlkLCAidW5leHBlY3RlZCBQT0xMSFVQIG9uICVzIiwgd2hpY2gpOwogICAgICAgICB9 CiAgICAgfSBlbHNlIGlmICghcmMpIHsKLSAgICAgICAgTE9HKEVSUk9SLCAidW5leHBlY3RlZCBl b2YgY29weWluZyAlcyIsIHdoaWNoKTsKKyAgICAgICAgTE9HRChFUlJPUiwgYmwtPmRvbWlkLCAi dW5leHBlY3RlZCBlb2YgY29weWluZyAlcyIsIHdoaWNoKTsKICAgICAgICAgcmMgPSBFUlJPUl9G QUlMOwogICAgIH0KIApAQCAtNjMxLDE0ICs2NDQsMTUgQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRl cl9maW5pc2hlZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl9jaGlsZCAqY2hpbGQsCiAKICAg ICBpZiAoc3RhdHVzKSB7CiAgICAgICAgIGlmIChibC0+Z290X3BvbGxodXAgJiYgV0lGU0lHTkFM RUQoc3RhdHVzKSAmJiBXVEVSTVNJRyhzdGF0dXMpPT1TSUdURVJNKQotICAgICAgICAgICAgTE9H KEVSUk9SLCAiZ290IFBPTExIVVAsIHNlbnQgU0lHVEVSTSIpOwotICAgICAgICBMT0coRVJST1Is ICJib290bG9hZGVyIGZhaWxlZCAtIGNvbnN1bHQgbG9nZmlsZSAlcyIsIGJsLT5sb2dmaWxlKTsK KyAgICAgICAgICAgIExPR0QoRVJST1IsIGJsLT5kb21pZCwgImdvdCBQT0xMSFVQLCBzZW50IFNJ R1RFUk0iKTsKKyAgICAgICAgTE9HRChFUlJPUiwgYmwtPmRvbWlkLAorICAgICAgICAgICAgICJi b290bG9hZGVyIGZhaWxlZCAtIGNvbnN1bHQgbG9nZmlsZSAlcyIsIGJsLT5sb2dmaWxlKTsKICAg ICAgICAgbGlieGxfcmVwb3J0X2NoaWxkX2V4aXRzdGF0dXMoQ1RYLCBYVExfRVJST1IsICJib290 bG9hZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlkLCBzdGF0 dXMpOwogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0g ZWxzZSB7Ci0gICAgICAgIExPRyhERUJVRywgImJvb3Rsb2FkZXIgY29tcGxldGVkIik7CisgICAg ICAgIExPR0QoREVCVUcsIGJsLT5kb21pZCwgImJvb3Rsb2FkZXIgY29tcGxldGVkIik7CiAgICAg fQogCiAgICAgaWYgKGJsLT5yYykgewpAQCAtNjUxLDcgKzY2NSw3IEBAIHN0YXRpYyB2b2lkIGJv b3Rsb2FkZXJfZmluaXNoZWQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfY2hpbGQgKmNoaWxk LAogICAgIGlmIChyYykgZ290byBvdXQ7CiAKICAgICByYyA9IDA7Ci0gICAgTE9HKERFQlVHLCAi Ym9vdGxvYWRlciBleGVjdXRpb24gc3VjY2Vzc2Z1bCIpOworICAgIExPR0QoREVCVUcsIGJsLT5k b21pZCwgImJvb3Rsb2FkZXIgZXhlY3V0aW9uIHN1Y2Nlc3NmdWwiKTsKIAogIG91dDoKICAgICBi b290bG9hZGVyX2NhbGxiYWNrKGVnYywgYmwsIHJjKTsKLS0gCjIuMTAuMQoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=