From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= Subject: [PATCH 05/35] libxl/libxl_bootloader.c: used LOG*D functions Date: Tue, 15 Nov 2016 11:18:43 +0100 Message-ID: <20161115101913.10396-6-cbosdonnat@suse.com> References: <20161115101913.10396-1-cbosdonnat@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161115101913.10396-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: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= , Wei Liu , Ian Jackson , =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= List-Id: xen-devel@lists.xenproject.org RnJvbTogQ8OpZHJpYyBCb3Nkb25uYXQgPGNlZHJpYy5ib3Nkb25uYXRAZnJlZS5mcj4KClVzZSBM T0cqRCBmdW5jdGlvbnMgdG8gb3V0cHV0IHRoZSBkb21haW4gSUQgaW4gbG9ncyBhcyBtdWNoIGFz CnBvc3NpYmxlLiBUaGlzIHdpbGwgaGVscCBjb25zdW1lciBjb2RlIHNvcnRpbmcgdGhlIGxvZ3Mg YnkKZG9tYWluLgoKU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBCb3Nkb25uYXQgPGNib3Nkb25uYXRA c3VzZS5jb20+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfYm9vdGxvYWRlci5jIHwgODQgKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDkg aW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv bGlieGxfYm9vdGxvYWRlci5jIGIvdG9vbHMvbGlieGwvbGlieGxfYm9vdGxvYWRlci5jCmluZGV4 IDJjZmM4Y2YuLmM3YzIwMTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Jvb3Rsb2Fk ZXIuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9ib290bG9hZGVyLmMKQEAgLTk5LDcgKzk5LDcg QEAgc3RhdGljIGludCBzZXR1cF94ZW5jb25zb2xlZF9wdHkobGlieGxfX2VnYyAqZWdjLCBsaWJ4 bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwsCiAKICAgICByID0gdHR5bmFtZV9yKHNsYXZlLCBzbGF2 ZV9wYXRoLCBzbGF2ZV9wYXRoX2xlbik7CiAgICAgaWYgKHIgPT0gLTEpIHsKLSAgICAgICAgTE9H RShFUlJPUiwidHR5bmFtZV9yIGZhaWxlZCIpOworICAgICAgICBMT0dFRChFUlJPUiwgYmwtPmRv bWlkLCAidHR5bmFtZV9yIGZhaWxlZCIpOwogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAg ICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTEyNSw3ICsxMjUsNyBAQCBzdGF0aWMgaW50IHNldHVw X3hlbmNvbnNvbGVkX3B0eShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ib290bG9hZGVyX3N0YXRl ICpibCwKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKmJvb3Rsb2FkZXJfcmVzdWx0X2NvbW1hbmQo bGlieGxfX2djICpnYywgY29uc3QgY2hhciAqYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKnByZWZpeCwgc2l6ZV90IHByZWZpeGxlbikgeworICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgc2l6ZV90IHByZWZpeGxlbiwgdWludDMyX3Qg ZG9taWQpIHsKICAgICBpZiAoc3RybmNtcChidWYsIHByZWZpeCwgcHJlZml4bGVuKSkKICAgICAg ICAgcmV0dXJuIDA7CiAKQEAgLTEzNiw3ICsxMzYsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqYm9v dGxvYWRlcl9yZXN1bHRfY29tbWFuZChsaWJ4bF9fZ2MgKmdjLCBjb25zdCBjaGFyICpidWYsCiAg ICAgd2hpbGUgKENUWVBFKGlzc3BhY2UsKnJocykpCiAgICAgICAgIHJocysrOwogCi0gICAgTE9H KERFQlVHLCJib290bG9hZGVyIG91dHB1dCBjb250YWluZWQgJXMgJXMiLCBwcmVmaXgsIHJocyk7 CisgICAgTE9HRChERUJVRywgZG9taWQsICJib290bG9hZGVyIG91dHB1dCBjb250YWluZWQgJXMg JXMiLCBwcmVmaXgsIHJocyk7CiAKICAgICByZXR1cm4gcmhzOwogfQpAQCAtMTUxLDcgKzE1MSw4 IEBAIHN0YXRpYyBpbnQgcGFyc2VfYm9vdGxvYWRlcl9yZXN1bHQobGlieGxfX2VnYyAqZWdjLAog CiAgICAgZiA9IGZvcGVuKGJsLT5vdXRwdXRwYXRoLCAiciIpOwogICAgIGlmICghZikgewotICAg ICAgICBMT0dFKEVSUk9SLCJvcGVuIGJvb3Rsb2FkZXIgb3V0cHV0IGZpbGUgJXMiLCBibC0+b3V0 cHV0cGF0aCk7CisgICAgICAgIExPR0VEKEVSUk9SLCBibC0+ZG9taWQsICJvcGVuIGJvb3Rsb2Fk ZXIgb3V0cHV0IGZpbGUgJXMiLAorICAgICAgICAgICAgICBibC0+b3V0cHV0cGF0aCk7CiAgICAg ICAgIGdvdG8gb3V0OwogICAgIH0KIApAQCAtMTY2LDIxICsxNjcsMjIgQEAgc3RhdGljIGludCBw YXJzZV9ib290bG9hZGVyX3Jlc3VsdChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgIH0KICAgICAg ICAgaWYgKGMgPT0gRU9GKSB7CiAgICAgICAgICAgICBpZiAoZmVycm9yKGYpKSB7Ci0gICAgICAg ICAgICAgICAgTE9HRShFUlJPUiwicmVhZCBib290bG9hZGVyIG91dHB1dCBmaWxlICVzIiwgYmwt Pm91dHB1dHBhdGgpOworICAgICAgICAgICAgICAgIExPR0VEKEVSUk9SLCBibC0+ZG9taWQsICJy ZWFkIGJvb3Rsb2FkZXIgb3V0cHV0IGZpbGUgJXMiLAorICAgICAgICAgICAgICAgICAgICAgIGJs LT5vdXRwdXRwYXRoKTsKICAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAgICAgIH0K ICAgICAgICAgICAgIGlmICghbCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog ICAgICAgICBpZiAobCA+PSBzaXplb2YoYnVmKSkgewotICAgICAgICAgICAgTE9HKFdBUk4sImJv b3Rsb2FkZXIgb3V0cHV0IGNvbnRhaW5lZCIKLSAgICAgICAgICAgICAgICAiIG92ZXJseSBsb25n IGl0ZW0gYCUuMTUwcy4uLiciLCBidWYpOworICAgICAgICAgICAgTE9HRChXQVJOLCBibC0+ZG9t aWQsICJib290bG9hZGVyIG91dHB1dCBjb250YWluZWQiCisgICAgICAgICAgICAgICAgICIgb3Zl cmx5IGxvbmcgaXRlbSBgJS4xNTBzLi4uJyIsIGJ1Zik7CiAgICAgICAgICAgICBjb250aW51ZTsK ICAgICAgICAgfQogICAgICAgICBidWZbbF0gPSAwOwogCiAgICAgICAgIGNvbnN0IGNoYXIgKnJo czsKLSNkZWZpbmUgQ09NTUFORChzKSAoKHJocyA9IGJvb3Rsb2FkZXJfcmVzdWx0X2NvbW1hbmQo Z2MsIGJ1Ziwgcywgc2l6ZW9mKHMpLTEpKSkKKyNkZWZpbmUgQ09NTUFORChzKSAoKHJocyA9IGJv b3Rsb2FkZXJfcmVzdWx0X2NvbW1hbmQoZ2MsIGJ1Ziwgcywgc2l6ZW9mKHMpLTEsIGJsLT5kb21p ZCkpKQogCiAgICAgICAgIGlmIChDT01NQU5EKCJrZXJuZWwiKSkgewogICAgICAgICAgICAgYmwt Pmtlcm5lbC0+cGF0aCA9IGxpYnhsX19zdHJkdXAoZ2MsIHJocyk7CkBAIC0xOTMsNyArMTk1LDgg QEAgc3RhdGljIGludCBwYXJzZV9ib290bG9hZGVyX3Jlc3VsdChsaWJ4bF9fZWdjICplZ2MsCiAg ICAgICAgIH0gZWxzZSBpZiAoQ09NTUFORCgiYXJncyIpKSB7CiAgICAgICAgICAgICBibC0+Y21k bGluZSA9IGxpYnhsX19zdHJkdXAoZ2MsIHJocyk7CiAgICAgICAgIH0gZWxzZSBpZiAobCkgewot ICAgICAgICAgICAgTE9HKFdBUk4sICJ1bmV4cGVjdGVkIG91dHB1dCBmcm9tIGJvb3Rsb2FkZXI6 IGAlcyciLCBidWYpOworICAgICAgICAgICAgTE9HRChXQVJOLCBibC0+ZG9taWQsCisgICAgICAg ICAgICAgICAgICJ1bmV4cGVjdGVkIG91dHB1dCBmcm9tIGJvb3Rsb2FkZXI6IGAlcyciLCBidWYp OwogICAgICAgICB9CiAgICAgfQogICAgIHJjID0gMDsKQEAgLTI3Niw3ICsyNzksOCBAQCBzdGF0 aWMgdm9pZCBib290bG9hZGVyX2xvY2FsX2RldGFjaGVkX2NiKGxpYnhsX19lZ2MgKmVnYywKICAg ICBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwgPSBDT05UQUlORVJfT0YoZGxzLCAqYmwsIGRs cyk7CiAKICAgICBpZiAocmMpIHsKLSAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIGRldGFj aCBsb2NhbGx5IGF0dGFjaGVkIGRpc2siKTsKKyAgICAgICAgTE9HRChFUlJPUiwgYmwtPmRvbWlk LAorICAgICAgICAgICAgICJ1bmFibGUgdG8gZGV0YWNoIGxvY2FsbHkgYXR0YWNoZWQgZGlzayIp OwogICAgICAgICBpZiAoIWJsLT5yYykKICAgICAgICAgICAgIGJsLT5yYyA9IHJjOwogICAgIH0K QEAgLTI5NSw4ICsyOTksOCBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX3N0b3AobGlieGxfX2Vn YyAqZWdjLAogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwoJmJsLT5kaXNwbGF5KTsKICAgICBp ZiAobGlieGxfX2V2X2NoaWxkX2ludXNlKCZibC0+Y2hpbGQpKSB7CiAgICAgICAgIHIgPSBraWxs KGJsLT5jaGlsZC5waWQsIFNJR1RFUk0pOwotICAgICAgICBpZiAocikgTE9HRShXQVJOLCAiJXNm YWlsZWQgdG8ga2lsbCBib290bG9hZGVyIFslbHVdIiwKLSAgICAgICAgICAgICAgICAgICAgcmMg PyAiYWZ0ZXIgZmFpbHVyZSwgIiA6ICIiLCAodW5zaWduZWQgbG9uZylibC0+Y2hpbGQucGlkKTsK KyAgICAgICAgaWYgKHIpIExPR0VEKFdBUk4sIGJsLT5kb21pZCwgIiVzZmFpbGVkIHRvIGtpbGwg Ym9vdGxvYWRlciBbJWx1XSIsCisgICAgICAgICAgICAgICAgICAgICByYyA/ICJhZnRlciBmYWls dXJlLCAiIDogIiIsICh1bnNpZ25lZCBsb25nKWJsLT5jaGlsZC5waWQpOwogICAgIH0KICAgICBp ZiAoIWJsLT5yYykKICAgICAgICAgYmwtPnJjID0gcmM7CkBAIC0zMjEsMTMgKzMyNSwxNCBAQCB2 b2lkIGxpYnhsX19ib290bG9hZGVyX3J1bihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ib290bG9h ZGVyX3N0YXRlICpibCkKICAgICBsaWJ4bF9fYm9vdGxvYWRlcl9pbml0KGJsKTsKIAogICAgIGlm IChpbmZvLT50eXBlICE9IExJQlhMX0RPTUFJTl9UWVBFX1BWKSB7Ci0gICAgICAgIExPRyhERUJV RywgIm5vdCBhIFBWIGRvbWFpbiwgc2tpcHBpbmcgYm9vdGxvYWRlciIpOworICAgICAgICBMT0dE KERFQlVHLCBkb21pZCwgIm5vdCBhIFBWIGRvbWFpbiwgc2tpcHBpbmcgYm9vdGxvYWRlciIpOwog ICAgICAgICByYyA9IDA7CiAgICAgICAgIGdvdG8gb3V0X29rOwogICAgIH0KIAogICAgIGlmICgh aW5mby0+dS5wdi5ib290bG9hZGVyKSB7Ci0gICAgICAgIExPRyhERUJVRywgIm5vIGJvb3Rsb2Fk ZXIgY29uZmlndXJlZCwgdXNpbmcgdXNlciBzdXBwbGllZCBrZXJuZWwiKTsKKyAgICAgICAgTE9H RChERUJVRywgZG9taWQsCisgICAgICAgICAgICAgIm5vIGJvb3Rsb2FkZXIgY29uZmlndXJlZCwg dXNpbmcgdXNlciBzdXBwbGllZCBrZXJuZWwiKTsKICAgICAgICAgYmwtPmtlcm5lbC0+cGF0aCA9 IGJsLT5pbmZvLT5rZXJuZWw7CiAgICAgICAgIGJsLT5yYW1kaXNrLT5wYXRoID0gYmwtPmluZm8t PnJhbWRpc2s7CiAgICAgICAgIGJsLT5jbWRsaW5lID0gYmwtPmluZm8tPmNtZGxpbmU7CkBAIC0z MzYsNyArMzQxLDcgQEAgdm9pZCBsaWJ4bF9fYm9vdGxvYWRlcl9ydW4obGlieGxfX2VnYyAqZWdj LCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwpCiAgICAgfQogCiAgICAgaWYgKCFibC0+ZGlz aykgewotICAgICAgICBMT0coRVJST1IsICJjYW5ub3QgcnVuIGJvb3Rsb2FkZXIgd2l0aCBubyBi b290IGRpc2siKTsKKyAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJjYW5ub3QgcnVuIGJvb3Rs b2FkZXIgd2l0aCBubyBib290IGRpc2siKTsKICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAg ICAgICBnb3RvIG91dDsKICAgICB9CkBAIC0zNTQsNyArMzU5LDggQEAgdm9pZCBsaWJ4bF9fYm9v dGxvYWRlcl9ydW4obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwp CiAKICAgICBibC0+ZGlzcGxheS5sb2cgPSBmb3BlbihibC0+bG9nZmlsZSwgImEiKTsKICAgICBp ZiAoIWJsLT5kaXNwbGF5LmxvZykgewotICAgICAgICBMT0dFKEVSUk9SLCAiZmFpbGVkIHRvIGNy ZWF0ZSBib290bG9hZGVyIGxvZ2ZpbGUgJXMiLCBibC0+bG9nZmlsZSk7CisgICAgICAgIExPR0VE KEVSUk9SLCBkb21pZCwKKyAgICAgICAgICAgICAgImZhaWxlZCB0byBjcmVhdGUgYm9vdGxvYWRl ciBsb2dmaWxlICVzIiwgYmwtPmxvZ2ZpbGUpOwogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAg ICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTM2NCw3ICszNzAsOCBAQCB2b2lkIGxpYnhsX19i b290bG9hZGVyX3J1bihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ib290bG9hZGVyX3N0YXRlICpi bCkKICAgICAgICAgaWYgKCFyKSBicmVhazsKICAgICAgICAgaWYgKGVycm5vID09IEVJTlRSKSBj b250aW51ZTsKICAgICAgICAgaWYgKGVycm5vID09IEVFWElTVCkgYnJlYWs7Ci0gICAgICAgIExP R0UoRVJST1IsICJmYWlsZWQgdG8gY3JlYXRlIGJvb3Rsb2FkZXIgZGlyICVzIiwgYmwtPm91dHB1 dGRpcik7CisgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwKKyAgICAgICAgICAgICAgImZhaWxl ZCB0byBjcmVhdGUgYm9vdGxvYWRlciBkaXIgJXMiLCBibC0+b3V0cHV0ZGlyKTsKICAgICAgICAg cmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CkBAIC0zNzMsNyArMzgw LDggQEAgdm9pZCBsaWJ4bF9fYm9vdGxvYWRlcl9ydW4obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f Ym9vdGxvYWRlcl9zdGF0ZSAqYmwpCiAgICAgICAgIHIgPSBvcGVuKGJsLT5vdXRwdXRwYXRoLCBP X1dST05MWXxPX0NSRUFUfE9fVFJVTkMsIDA2MDApOwogICAgICAgICBpZiAocj49MCkgeyBjbG9z ZShyKTsgYnJlYWs7IH0KICAgICAgICAgaWYgKGVycm5vID09IEVJTlRSKSBjb250aW51ZTsKLSAg ICAgICAgTE9HRShFUlJPUiwgImZhaWxlZCB0byBwcmVjcmVhdGUgYm9vdGxvYWRlciBvdXRwdXQg JXMiLCBibC0+b3V0cHV0cGF0aCk7CisgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwKKyAgICAg ICAgICAgICAgImZhaWxlZCB0byBwcmVjcmVhdGUgYm9vdGxvYWRlciBvdXRwdXQgJXMiLCBibC0+ b3V0cHV0cGF0aCk7CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7 CiAgICAgfQpAQCAtNDA1LDE1ICs0MTMsMTggQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9kaXNr X2F0dGFjaGVkX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICBjb25zdCBjaGFyICpib290bG9hZGVy OwogCiAgICAgaWYgKHJjKSB7Ci0gICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBhdHRhY2gg bG9jYWwgZGlzayBmb3IgYm9vdGxvYWRlciBleGVjdXRpb24iKTsKKyAgICAgICAgTE9HRChFUlJP UiwgYmwtPmRvbWlkLAorICAgICAgICAgICAgICJmYWlsZWQgdG8gYXR0YWNoIGxvY2FsIGRpc2sg Zm9yIGJvb3Rsb2FkZXIgZXhlY3V0aW9uIik7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAot ICAgIExPRyhERUJVRywgIkNvbmZpZyBib290bG9hZGVyIHZhbHVlOiAlcyIsIGluZm8tPnUucHYu Ym9vdGxvYWRlcik7CisgICAgTE9HRChERUJVRywgYmwtPmRvbWlkLAorICAgICAgICAgIkNvbmZp ZyBib290bG9hZGVyIHZhbHVlOiAlcyIsIGluZm8tPnUucHYuYm9vdGxvYWRlcik7CiAKICAgICBp ZiAoICFzdHJjbXAoaW5mby0+dS5wdi5ib290bG9hZGVyLCAiL3Vzci9iaW4vcHlncnViIikgKQot ICAgICAgICBMT0coV0FSTiwgImJvb3Rsb2FkZXI9Jy91c3IvYmluL3B5Z3J1YicgaXMgZGVwcmVj YXRlZDsgdXNlICIgXAotICAgICAgICAgICAgImJvb3Rsb2FkZXI9J3B5Z3J1YicgaW5zdGVhZCIp OworICAgICAgICBMT0dEKFdBUk4sIGJsLT5kb21pZCwKKyAgICAgICAgICAgICAiYm9vdGxvYWRl cj0nL3Vzci9iaW4vcHlncnViJyBpcyBkZXByZWNhdGVkOyB1c2UgIiBcCisgICAgICAgICAgICAg ImJvb3Rsb2FkZXI9J3B5Z3J1YicgaW5zdGVhZCIpOwogCiAgICAgYm9vdGxvYWRlciA9IGluZm8t PnUucHYuYm9vdGxvYWRlcjsKIApAQCAtNDI1LDExICs0MzYsMTMgQEAgc3RhdGljIHZvaWQgYm9v dGxvYWRlcl9kaXNrX2F0dGFjaGVkX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgYmx0bXAg PSBsaWJ4bF9fYWJzX3BhdGgoZ2MsIGJvb3Rsb2FkZXIsIGxpYnhsX19wcml2YXRlX2JpbmRpcl9w YXRoKCkpOwogICAgICAgICAvKiBDaGVjayB0byBzZWUgaWYgdGhlIGZpbGUgZXhpc3RzIGluIHRo aXMgbG9jYXRpb247IGlmIG5vdCwKICAgICAgICAgICogZmFsbCBiYWNrIHRvIGNoZWNraW5nIHRo ZSBwYXRoICovCi0gICAgICAgIExPRyhERUJVRywgIkNoZWNraW5nIGZvciBib290bG9hZGVyIGlu IGxpYmV4ZWMgcGF0aDogJXMiLCBibHRtcCk7CisgICAgICAgIExPR0QoREVCVUcsIGJsLT5kb21p ZCwKKyAgICAgICAgICAgICAiQ2hlY2tpbmcgZm9yIGJvb3Rsb2FkZXIgaW4gbGliZXhlYyBwYXRo OiAlcyIsIGJsdG1wKTsKIAogICAgICAgICBpZiAoIGxzdGF0KGJsdG1wLCAmc3QpICkKLSAgICAg ICAgICAgIExPRyhERUJVRywgIiVzIGRvZXNuJ3QgZXhpc3QsIGZhbGxpbmcgYmFjayB0byBjb25m aWcgcGF0aCIsCi0gICAgICAgICAgICAgICAgYmx0bXApOworICAgICAgICAgICAgTE9HRChERUJV RywgYmwtPmRvbWlkLAorICAgICAgICAgICAgICAgICAiJXMgZG9lc24ndCBleGlzdCwgZmFsbGlu ZyBiYWNrIHRvIGNvbmZpZyBwYXRoIiwKKyAgICAgICAgICAgICAgICAgYmx0bXApOwogICAgICAg ICBlbHNlCiAgICAgICAgICAgICBib290bG9hZGVyID0gYmx0bXA7CiAgICAgfQpAQCAtNDg4LDcg KzUwMSw3IEBAIHN0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfZ290cHR5cyhsaWJ4bF9fZWdjICplZ2Ms IGxpYnhsX19vcGVucHR5X3N0YXRlICpvcCkKICAgICByYyA9IGxpYnhsX194c19wcmludGYoZ2Ms IFhCVF9OVUxMLCBkb21fY29uc29sZV94c19wYXRoLCAiJXMiLAogICAgICAgICAgICAgICAgICAg ICAgICAgICBkb21fY29uc29sZV9zbGF2ZV90dHlfcGF0aCk7CiAgICAgaWYgKHJjKSB7Ci0gICAg ICAgIExPR0UoRVJST1IsInhzIHdyaXRlIGNvbnNvbGUgcGF0aCAlcyA6PSAlcyBmYWlsZWQiLAor ICAgICAgICBMT0dFRChFUlJPUiwgYmwtPmRvbWlkLCAieHMgd3JpdGUgY29uc29sZSBwYXRoICVz IDo9ICVzIGZhaWxlZCIsCiAgICAgICAgICAgICAgZG9tX2NvbnNvbGVfeHNfcGF0aCwgZG9tX2Nv bnNvbGVfc2xhdmVfdHR5X3BhdGgpOwogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAg IGdvdG8gb3V0OwpAQCAtNTM3LDExICs1NTAsMTEgQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9n b3RwdHlzKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX29wZW5wdHlfc3RhdGUgKm9wKQogICAgIHJj ID0gbGlieGxfX2RhdGFjb3BpZXJfc3RhcnQoJmJsLT5kaXNwbGF5KTsKICAgICBpZiAocmMpIGdv dG8gb3V0OwogCi0gICAgTE9HKERFQlVHLCAiZXhlY3V0aW5nIGJvb3Rsb2FkZXI6ICVzIiwgYmwt PmFyZ3NbMF0pOworICAgIExPR0QoREVCVUcsIGJsLT5kb21pZCwgImV4ZWN1dGluZyBib290bG9h ZGVyOiAlcyIsIGJsLT5hcmdzWzBdKTsKICAgICBmb3IgKGNvbnN0IGNoYXIgKipibGFyZyA9IGJs LT5hcmdzOwogICAgICAgICAgKmJsYXJnOwogICAgICAgICAgYmxhcmcrKykKLSAgICAgICAgTE9H KERFQlVHLCAiICBib290bG9hZGVyIGFyZzogJXMiLCAqYmxhcmcpOworICAgICAgICBMT0dEKERF QlVHLCBibC0+ZG9taWQsICIgIGJvb3Rsb2FkZXIgYXJnOiAlcyIsICpibGFyZyk7CiAKICAgICBz dHJ1Y3QgdGVybWlvcyB0ZXJtYXR0cjsKIApAQCAtNTU0LDcgKzU2Nyw3IEBAIHN0YXRpYyB2b2lk IGJvb3Rsb2FkZXJfZ290cHR5cyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19vcGVucHR5X3N0YXRl ICpvcCkKICAgICBpZiAoIXBpZCkgewogICAgICAgICAvKiBjaGlsZCAqLwogICAgICAgICByID0g bG9naW5fdHR5KGxpYnhsX19jYXJlZmRfZmQoYmwtPnB0eXNbMF0uc2xhdmUpKTsKLSAgICAgICAg aWYgKHIpIHsgTE9HRShFUlJPUiwgImxvZ2luX3R0eSBmYWlsZWQiKTsgZXhpdCgtMSk7IH0KKyAg ICAgICAgaWYgKHIpIHsgTE9HRUQoRVJST1IsIGJsLT5kb21pZCwgImxvZ2luX3R0eSBmYWlsZWQi KTsgZXhpdCgtMSk7IH0KICAgICAgICAgbGlieGxfX2V4ZWMoZ2MsIC0xLCAtMSwgLTEsIGJsLT5h cmdzWzBdLCAoY2hhciAqKikgYmwtPmFyZ3MsIGVudik7CiAgICAgfQogCkBAIC01ODksMTAgKzYw MiwxMCBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX2NvcHlmYWlsKGxpYnhsX19lZ2MgKmVnYywg Y29uc3QgY2hhciAqd2hpY2gsCiAgICAgICAgICAgICByYyA9IDA7CiAgICAgICAgICAgICBibC0+ Z290X3BvbGxodXAgPSAxOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgTE9HKEVSUk9S LCAidW5leHBlY3RlZCBQT0xMSFVQIG9uICVzIiwgd2hpY2gpOworICAgICAgICAgICAgTE9HRChF UlJPUiwgYmwtPmRvbWlkLCAidW5leHBlY3RlZCBQT0xMSFVQIG9uICVzIiwgd2hpY2gpOwogICAg ICAgICB9CiAgICAgfSBlbHNlIGlmICghcmMpIHsKLSAgICAgICAgTE9HKEVSUk9SLCAidW5leHBl Y3RlZCBlb2YgY29weWluZyAlcyIsIHdoaWNoKTsKKyAgICAgICAgTE9HRChFUlJPUiwgYmwtPmRv bWlkLCAidW5leHBlY3RlZCBlb2YgY29weWluZyAlcyIsIHdoaWNoKTsKICAgICAgICAgcmMgPSBF UlJPUl9GQUlMOwogICAgIH0KIApAQCAtNjMxLDE0ICs2NDQsMTUgQEAgc3RhdGljIHZvaWQgYm9v dGxvYWRlcl9maW5pc2hlZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl9jaGlsZCAqY2hpbGQs CiAKICAgICBpZiAoc3RhdHVzKSB7CiAgICAgICAgIGlmIChibC0+Z290X3BvbGxodXAgJiYgV0lG U0lHTkFMRUQoc3RhdHVzKSAmJiBXVEVSTVNJRyhzdGF0dXMpPT1TSUdURVJNKQotICAgICAgICAg ICAgTE9HKEVSUk9SLCAiZ290IFBPTExIVVAsIHNlbnQgU0lHVEVSTSIpOwotICAgICAgICBMT0co RVJST1IsICJib290bG9hZGVyIGZhaWxlZCAtIGNvbnN1bHQgbG9nZmlsZSAlcyIsIGJsLT5sb2dm aWxlKTsKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGJsLT5kb21pZCwgImdvdCBQT0xMSFVQLCBz ZW50IFNJR1RFUk0iKTsKKyAgICAgICAgTE9HRChFUlJPUiwgYmwtPmRvbWlkLAorICAgICAgICAg ICAgICJib290bG9hZGVyIGZhaWxlZCAtIGNvbnN1bHQgbG9nZmlsZSAlcyIsIGJsLT5sb2dmaWxl KTsKICAgICAgICAgbGlieGxfcmVwb3J0X2NoaWxkX2V4aXRzdGF0dXMoQ1RYLCBYVExfRVJST1Is ICJib290bG9hZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlk LCBzdGF0dXMpOwogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgIGdvdG8gb3V0Owog ICAgIH0gZWxzZSB7Ci0gICAgICAgIExPRyhERUJVRywgImJvb3Rsb2FkZXIgY29tcGxldGVkIik7 CisgICAgICAgIExPR0QoREVCVUcsIGJsLT5kb21pZCwgImJvb3Rsb2FkZXIgY29tcGxldGVkIik7 CiAgICAgfQogCiAgICAgaWYgKGJsLT5yYykgewpAQCAtNjUxLDcgKzY2NSw3IEBAIHN0YXRpYyB2 b2lkIGJvb3Rsb2FkZXJfZmluaXNoZWQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfY2hpbGQg KmNoaWxkLAogICAgIGlmIChyYykgZ290byBvdXQ7CiAKICAgICByYyA9IDA7Ci0gICAgTE9HKERF QlVHLCAiYm9vdGxvYWRlciBleGVjdXRpb24gc3VjY2Vzc2Z1bCIpOworICAgIExPR0QoREVCVUcs IGJsLT5kb21pZCwgImJvb3Rsb2FkZXIgZXhlY3V0aW9uIHN1Y2Nlc3NmdWwiKTsKIAogIG91dDoK ICAgICBib290bG9hZGVyX2NhbGxiYWNrKGVnYywgYmwsIHJjKTsKLS0gCjIuMTAuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=