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: Fri, 2 Dec 2016 16:08:11 +0100 Message-ID: <20161202150841.31227-6-cbosdonnat@suse.com> References: <20161202150841.31227-1-cbosdonnat@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161202150841.31227-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: Ian Jackson , Wei Liu , Cedric Bosdonnat List-Id: xen-devel@lists.xenproject.org RnJvbTogQ2VkcmljIEJvc2Rvbm5hdCA8Y2Jvc2Rvbm5hdEBzdXNlLmNvbT4KClVzZSBMT0cqRCBm dW5jdGlvbnMgdG8gb3V0cHV0IHRoZSBkb21haW4gSUQgaW4gbG9ncyBhcyBtdWNoIGFzCnBvc3Np YmxlLiBUaGlzIHdpbGwgaGVscCBjb25zdW1lciBjb2RlIHNvcnRpbmcgdGhlIGxvZ3MgYnkKZG9t YWluLgoKU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBCb3Nkb25uYXQgPGNib3Nkb25uYXRAc3VzZS5j b20+CkFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xp YnhsL2xpYnhsX2Jvb3Rsb2FkZXIuYyB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDM1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Jvb3Rsb2FkZXIuYyBiL3Rv b2xzL2xpYnhsL2xpYnhsX2Jvb3Rsb2FkZXIuYwppbmRleCAyY2ZjOGNmLi5jN2MyMDEyIDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9ib290bG9hZGVyLmMKKysrIGIvdG9vbHMvbGlieGwv bGlieGxfYm9vdGxvYWRlci5jCkBAIC05OSw3ICs5OSw3IEBAIHN0YXRpYyBpbnQgc2V0dXBfeGVu Y29uc29sZWRfcHR5KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJs LAogCiAgICAgciA9IHR0eW5hbWVfcihzbGF2ZSwgc2xhdmVfcGF0aCwgc2xhdmVfcGF0aF9sZW4p OwogICAgIGlmIChyID09IC0xKSB7Ci0gICAgICAgIExPR0UoRVJST1IsInR0eW5hbWVfciBmYWls ZWQiKTsKKyAgICAgICAgTE9HRUQoRVJST1IsIGJsLT5kb21pZCwgInR0eW5hbWVfciBmYWlsZWQi KTsKICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CkBA IC0xMjUsNyArMTI1LDcgQEAgc3RhdGljIGludCBzZXR1cF94ZW5jb25zb2xlZF9wdHkobGlieGxf X2VnYyAqZWdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwsCiB9CiAKIHN0YXRpYyBjb25z dCBjaGFyICpib290bG9hZGVyX3Jlc3VsdF9jb21tYW5kKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGNo YXIgKmJ1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwcmVmaXgsIHNp emVfdCBwcmVmaXhsZW4pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpw cmVmaXgsIHNpemVfdCBwcmVmaXhsZW4sIHVpbnQzMl90IGRvbWlkKSB7CiAgICAgaWYgKHN0cm5j bXAoYnVmLCBwcmVmaXgsIHByZWZpeGxlbikpCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0xMzYs NyArMTM2LDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmJvb3Rsb2FkZXJfcmVzdWx0X2NvbW1hbmQo bGlieGxfX2djICpnYywgY29uc3QgY2hhciAqYnVmLAogICAgIHdoaWxlIChDVFlQRShpc3NwYWNl LCpyaHMpKQogICAgICAgICByaHMrKzsKIAotICAgIExPRyhERUJVRywiYm9vdGxvYWRlciBvdXRw dXQgY29udGFpbmVkICVzICVzIiwgcHJlZml4LCByaHMpOworICAgIExPR0QoREVCVUcsIGRvbWlk LCAiYm9vdGxvYWRlciBvdXRwdXQgY29udGFpbmVkICVzICVzIiwgcHJlZml4LCByaHMpOwogCiAg ICAgcmV0dXJuIHJoczsKIH0KQEAgLTE1MSw3ICsxNTEsOCBAQCBzdGF0aWMgaW50IHBhcnNlX2Jv b3Rsb2FkZXJfcmVzdWx0KGxpYnhsX19lZ2MgKmVnYywKIAogICAgIGYgPSBmb3BlbihibC0+b3V0 cHV0cGF0aCwgInIiKTsKICAgICBpZiAoIWYpIHsKLSAgICAgICAgTE9HRShFUlJPUiwib3BlbiBi b290bG9hZGVyIG91dHB1dCBmaWxlICVzIiwgYmwtPm91dHB1dHBhdGgpOworICAgICAgICBMT0dF RChFUlJPUiwgYmwtPmRvbWlkLCAib3BlbiBib290bG9hZGVyIG91dHB1dCBmaWxlICVzIiwKKyAg ICAgICAgICAgICAgYmwtPm91dHB1dHBhdGgpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAK QEAgLTE2NiwyMSArMTY3LDIyIEBAIHN0YXRpYyBpbnQgcGFyc2VfYm9vdGxvYWRlcl9yZXN1bHQo bGlieGxfX2VnYyAqZWdjLAogICAgICAgICB9CiAgICAgICAgIGlmIChjID09IEVPRikgewogICAg ICAgICAgICAgaWYgKGZlcnJvcihmKSkgewotICAgICAgICAgICAgICAgIExPR0UoRVJST1IsInJl YWQgYm9vdGxvYWRlciBvdXRwdXQgZmlsZSAlcyIsIGJsLT5vdXRwdXRwYXRoKTsKKyAgICAgICAg ICAgICAgICBMT0dFRChFUlJPUiwgYmwtPmRvbWlkLCAicmVhZCBib290bG9hZGVyIG91dHB1dCBm aWxlICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICBibC0+b3V0cHV0cGF0aCk7CiAgICAgICAg ICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIWwpCiAg ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGwgPj0gc2l6ZW9m KGJ1ZikpIHsKLSAgICAgICAgICAgIExPRyhXQVJOLCJib290bG9hZGVyIG91dHB1dCBjb250YWlu ZWQiCi0gICAgICAgICAgICAgICAgIiBvdmVybHkgbG9uZyBpdGVtIGAlLjE1MHMuLi4nIiwgYnVm KTsKKyAgICAgICAgICAgIExPR0QoV0FSTiwgYmwtPmRvbWlkLCAiYm9vdGxvYWRlciBvdXRwdXQg Y29udGFpbmVkIgorICAgICAgICAgICAgICAgICAiIG92ZXJseSBsb25nIGl0ZW0gYCUuMTUwcy4u LiciLCBidWYpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgYnVm W2xdID0gMDsKIAogICAgICAgICBjb25zdCBjaGFyICpyaHM7Ci0jZGVmaW5lIENPTU1BTkQocykg KChyaHMgPSBib290bG9hZGVyX3Jlc3VsdF9jb21tYW5kKGdjLCBidWYsIHMsIHNpemVvZihzKS0x KSkpCisjZGVmaW5lIENPTU1BTkQocykgKChyaHMgPSBib290bG9hZGVyX3Jlc3VsdF9jb21tYW5k KGdjLCBidWYsIHMsIHNpemVvZihzKS0xLCBibC0+ZG9taWQpKSkKIAogICAgICAgICBpZiAoQ09N TUFORCgia2VybmVsIikpIHsKICAgICAgICAgICAgIGJsLT5rZXJuZWwtPnBhdGggPSBsaWJ4bF9f c3RyZHVwKGdjLCByaHMpOwpAQCAtMTkzLDcgKzE5NSw4IEBAIHN0YXRpYyBpbnQgcGFyc2VfYm9v dGxvYWRlcl9yZXN1bHQobGlieGxfX2VnYyAqZWdjLAogICAgICAgICB9IGVsc2UgaWYgKENPTU1B TkQoImFyZ3MiKSkgewogICAgICAgICAgICAgYmwtPmNtZGxpbmUgPSBsaWJ4bF9fc3RyZHVwKGdj LCByaHMpOwogICAgICAgICB9IGVsc2UgaWYgKGwpIHsKLSAgICAgICAgICAgIExPRyhXQVJOLCAi dW5leHBlY3RlZCBvdXRwdXQgZnJvbSBib290bG9hZGVyOiBgJXMnIiwgYnVmKTsKKyAgICAgICAg ICAgIExPR0QoV0FSTiwgYmwtPmRvbWlkLAorICAgICAgICAgICAgICAgICAidW5leHBlY3RlZCBv dXRwdXQgZnJvbSBib290bG9hZGVyOiBgJXMnIiwgYnVmKTsKICAgICAgICAgfQogICAgIH0KICAg ICByYyA9IDA7CkBAIC0yNzYsNyArMjc5LDggQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9sb2Nh bF9kZXRhY2hlZF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgbGlieGxfX2Jvb3Rsb2FkZXJfc3Rh dGUgKmJsID0gQ09OVEFJTkVSX09GKGRscywgKmJsLCBkbHMpOwogCiAgICAgaWYgKHJjKSB7Ci0g ICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byBkZXRhY2ggbG9jYWxseSBhdHRhY2hlZCBkaXNr Iik7CisgICAgICAgIExPR0QoRVJST1IsIGJsLT5kb21pZCwKKyAgICAgICAgICAgICAidW5hYmxl IHRvIGRldGFjaCBsb2NhbGx5IGF0dGFjaGVkIGRpc2siKTsKICAgICAgICAgaWYgKCFibC0+cmMp CiAgICAgICAgICAgICBibC0+cmMgPSByYzsKICAgICB9CkBAIC0yOTUsOCArMjk5LDggQEAgc3Rh dGljIHZvaWQgYm9vdGxvYWRlcl9zdG9wKGxpYnhsX19lZ2MgKmVnYywKICAgICBsaWJ4bF9fZGF0 YWNvcGllcl9raWxsKCZibC0+ZGlzcGxheSk7CiAgICAgaWYgKGxpYnhsX19ldl9jaGlsZF9pbnVz ZSgmYmwtPmNoaWxkKSkgewogICAgICAgICByID0ga2lsbChibC0+Y2hpbGQucGlkLCBTSUdURVJN KTsKLSAgICAgICAgaWYgKHIpIExPR0UoV0FSTiwgIiVzZmFpbGVkIHRvIGtpbGwgYm9vdGxvYWRl ciBbJWx1XSIsCi0gICAgICAgICAgICAgICAgICAgIHJjID8gImFmdGVyIGZhaWx1cmUsICIgOiAi IiwgKHVuc2lnbmVkIGxvbmcpYmwtPmNoaWxkLnBpZCk7CisgICAgICAgIGlmIChyKSBMT0dFRChX QVJOLCBibC0+ZG9taWQsICIlc2ZhaWxlZCB0byBraWxsIGJvb3Rsb2FkZXIgWyVsdV0iLAorICAg ICAgICAgICAgICAgICAgICAgcmMgPyAiYWZ0ZXIgZmFpbHVyZSwgIiA6ICIiLCAodW5zaWduZWQg bG9uZylibC0+Y2hpbGQucGlkKTsKICAgICB9CiAgICAgaWYgKCFibC0+cmMpCiAgICAgICAgIGJs LT5yYyA9IHJjOwpAQCAtMzIxLDEzICszMjUsMTQgQEAgdm9pZCBsaWJ4bF9fYm9vdGxvYWRlcl9y dW4obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwpCiAgICAgbGli eGxfX2Jvb3Rsb2FkZXJfaW5pdChibCk7CiAKICAgICBpZiAoaW5mby0+dHlwZSAhPSBMSUJYTF9E T01BSU5fVFlQRV9QVikgewotICAgICAgICBMT0coREVCVUcsICJub3QgYSBQViBkb21haW4sIHNr aXBwaW5nIGJvb3Rsb2FkZXIiKTsKKyAgICAgICAgTE9HRChERUJVRywgZG9taWQsICJub3QgYSBQ ViBkb21haW4sIHNraXBwaW5nIGJvb3Rsb2FkZXIiKTsKICAgICAgICAgcmMgPSAwOwogICAgICAg ICBnb3RvIG91dF9vazsKICAgICB9CiAKICAgICBpZiAoIWluZm8tPnUucHYuYm9vdGxvYWRlcikg ewotICAgICAgICBMT0coREVCVUcsICJubyBib290bG9hZGVyIGNvbmZpZ3VyZWQsIHVzaW5nIHVz ZXIgc3VwcGxpZWQga2VybmVsIik7CisgICAgICAgIExPR0QoREVCVUcsIGRvbWlkLAorICAgICAg ICAgICAgICJubyBib290bG9hZGVyIGNvbmZpZ3VyZWQsIHVzaW5nIHVzZXIgc3VwcGxpZWQga2Vy bmVsIik7CiAgICAgICAgIGJsLT5rZXJuZWwtPnBhdGggPSBibC0+aW5mby0+a2VybmVsOwogICAg ICAgICBibC0+cmFtZGlzay0+cGF0aCA9IGJsLT5pbmZvLT5yYW1kaXNrOwogICAgICAgICBibC0+ Y21kbGluZSA9IGJsLT5pbmZvLT5jbWRsaW5lOwpAQCAtMzM2LDcgKzM0MSw3IEBAIHZvaWQgbGli eGxfX2Jvb3Rsb2FkZXJfcnVuKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2Jvb3Rsb2FkZXJfc3Rh dGUgKmJsKQogICAgIH0KIAogICAgIGlmICghYmwtPmRpc2spIHsKLSAgICAgICAgTE9HKEVSUk9S LCAiY2Fubm90IHJ1biBib290bG9hZGVyIHdpdGggbm8gYm9vdCBkaXNrIik7CisgICAgICAgIExP R0QoRVJST1IsIGRvbWlkLCAiY2Fubm90IHJ1biBib290bG9hZGVyIHdpdGggbm8gYm9vdCBkaXNr Iik7CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQpA QCAtMzU0LDcgKzM1OSw4IEBAIHZvaWQgbGlieGxfX2Jvb3Rsb2FkZXJfcnVuKGxpYnhsX19lZ2Mg KmVnYywgbGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsKQogCiAgICAgYmwtPmRpc3BsYXkubG9n ID0gZm9wZW4oYmwtPmxvZ2ZpbGUsICJhIik7CiAgICAgaWYgKCFibC0+ZGlzcGxheS5sb2cpIHsK LSAgICAgICAgTE9HRShFUlJPUiwgImZhaWxlZCB0byBjcmVhdGUgYm9vdGxvYWRlciBsb2dmaWxl ICVzIiwgYmwtPmxvZ2ZpbGUpOworICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQsCisgICAgICAg ICAgICAgICJmYWlsZWQgdG8gY3JlYXRlIGJvb3Rsb2FkZXIgbG9nZmlsZSAlcyIsIGJsLT5sb2dm aWxlKTsKICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKICAgICB9 CkBAIC0zNjQsNyArMzcwLDggQEAgdm9pZCBsaWJ4bF9fYm9vdGxvYWRlcl9ydW4obGlieGxfX2Vn YyAqZWdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwpCiAgICAgICAgIGlmICghcikgYnJl YWs7CiAgICAgICAgIGlmIChlcnJubyA9PSBFSU5UUikgY29udGludWU7CiAgICAgICAgIGlmIChl cnJubyA9PSBFRVhJU1QpIGJyZWFrOwotICAgICAgICBMT0dFKEVSUk9SLCAiZmFpbGVkIHRvIGNy ZWF0ZSBib290bG9hZGVyIGRpciAlcyIsIGJsLT5vdXRwdXRkaXIpOworICAgICAgICBMT0dFRChF UlJPUiwgZG9taWQsCisgICAgICAgICAgICAgICJmYWlsZWQgdG8gY3JlYXRlIGJvb3Rsb2FkZXIg ZGlyICVzIiwgYmwtPm91dHB1dGRpcik7CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAg ICAgZ290byBvdXQ7CiAgICAgfQpAQCAtMzczLDcgKzM4MCw4IEBAIHZvaWQgbGlieGxfX2Jvb3Rs b2FkZXJfcnVuKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsKQog ICAgICAgICByID0gb3BlbihibC0+b3V0cHV0cGF0aCwgT19XUk9OTFl8T19DUkVBVHxPX1RSVU5D LCAwNjAwKTsKICAgICAgICAgaWYgKHI+PTApIHsgY2xvc2Uocik7IGJyZWFrOyB9CiAgICAgICAg IGlmIChlcnJubyA9PSBFSU5UUikgY29udGludWU7Ci0gICAgICAgIExPR0UoRVJST1IsICJmYWls ZWQgdG8gcHJlY3JlYXRlIGJvb3Rsb2FkZXIgb3V0cHV0ICVzIiwgYmwtPm91dHB1dHBhdGgpOwor ICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQsCisgICAgICAgICAgICAgICJmYWlsZWQgdG8gcHJl Y3JlYXRlIGJvb3Rsb2FkZXIgb3V0cHV0ICVzIiwgYmwtPm91dHB1dHBhdGgpOwogICAgICAgICBy YyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTQwNSwxNSArNDEz LDE4IEBAIHN0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfZGlza19hdHRhY2hlZF9jYihsaWJ4bF9fZWdj ICplZ2MsCiAgICAgY29uc3QgY2hhciAqYm9vdGxvYWRlcjsKIAogICAgIGlmIChyYykgewotICAg ICAgICBMT0coRVJST1IsICJmYWlsZWQgdG8gYXR0YWNoIGxvY2FsIGRpc2sgZm9yIGJvb3Rsb2Fk ZXIgZXhlY3V0aW9uIik7CisgICAgICAgIExPR0QoRVJST1IsIGJsLT5kb21pZCwKKyAgICAgICAg ICAgICAiZmFpbGVkIHRvIGF0dGFjaCBsb2NhbCBkaXNrIGZvciBib290bG9hZGVyIGV4ZWN1dGlv biIpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKLSAgICBMT0coREVCVUcsICJDb25maWcg Ym9vdGxvYWRlciB2YWx1ZTogJXMiLCBpbmZvLT51LnB2LmJvb3Rsb2FkZXIpOworICAgIExPR0Qo REVCVUcsIGJsLT5kb21pZCwKKyAgICAgICAgICJDb25maWcgYm9vdGxvYWRlciB2YWx1ZTogJXMi LCBpbmZvLT51LnB2LmJvb3Rsb2FkZXIpOwogCiAgICAgaWYgKCAhc3RyY21wKGluZm8tPnUucHYu Ym9vdGxvYWRlciwgIi91c3IvYmluL3B5Z3J1YiIpICkKLSAgICAgICAgTE9HKFdBUk4sICJib290 bG9hZGVyPScvdXNyL2Jpbi9weWdydWInIGlzIGRlcHJlY2F0ZWQ7IHVzZSAiIFwKLSAgICAgICAg ICAgICJib290bG9hZGVyPSdweWdydWInIGluc3RlYWQiKTsKKyAgICAgICAgTE9HRChXQVJOLCBi bC0+ZG9taWQsCisgICAgICAgICAgICAgImJvb3Rsb2FkZXI9Jy91c3IvYmluL3B5Z3J1YicgaXMg ZGVwcmVjYXRlZDsgdXNlICIgXAorICAgICAgICAgICAgICJib290bG9hZGVyPSdweWdydWInIGlu c3RlYWQiKTsKIAogICAgIGJvb3Rsb2FkZXIgPSBpbmZvLT51LnB2LmJvb3Rsb2FkZXI7CiAKQEAg LTQyNSwxMSArNDM2LDEzIEBAIHN0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfZGlza19hdHRhY2hlZF9j YihsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgIGJsdG1wID0gbGlieGxfX2Fic19wYXRoKGdjLCBi b290bG9hZGVyLCBsaWJ4bF9fcHJpdmF0ZV9iaW5kaXJfcGF0aCgpKTsKICAgICAgICAgLyogQ2hl Y2sgdG8gc2VlIGlmIHRoZSBmaWxlIGV4aXN0cyBpbiB0aGlzIGxvY2F0aW9uOyBpZiBub3QsCiAg ICAgICAgICAqIGZhbGwgYmFjayB0byBjaGVja2luZyB0aGUgcGF0aCAqLwotICAgICAgICBMT0co REVCVUcsICJDaGVja2luZyBmb3IgYm9vdGxvYWRlciBpbiBsaWJleGVjIHBhdGg6ICVzIiwgYmx0 bXApOworICAgICAgICBMT0dEKERFQlVHLCBibC0+ZG9taWQsCisgICAgICAgICAgICAgIkNoZWNr aW5nIGZvciBib290bG9hZGVyIGluIGxpYmV4ZWMgcGF0aDogJXMiLCBibHRtcCk7CiAKICAgICAg ICAgaWYgKCBsc3RhdChibHRtcCwgJnN0KSApCi0gICAgICAgICAgICBMT0coREVCVUcsICIlcyBk b2Vzbid0IGV4aXN0LCBmYWxsaW5nIGJhY2sgdG8gY29uZmlnIHBhdGgiLAotICAgICAgICAgICAg ICAgIGJsdG1wKTsKKyAgICAgICAgICAgIExPR0QoREVCVUcsIGJsLT5kb21pZCwKKyAgICAgICAg ICAgICAgICAgIiVzIGRvZXNuJ3QgZXhpc3QsIGZhbGxpbmcgYmFjayB0byBjb25maWcgcGF0aCIs CisgICAgICAgICAgICAgICAgIGJsdG1wKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYm9v dGxvYWRlciA9IGJsdG1wOwogICAgIH0KQEAgLTQ4OCw3ICs1MDEsNyBAQCBzdGF0aWMgdm9pZCBi b290bG9hZGVyX2dvdHB0eXMobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fb3BlbnB0eV9zdGF0ZSAq b3ApCiAgICAgcmMgPSBsaWJ4bF9feHNfcHJpbnRmKGdjLCBYQlRfTlVMTCwgZG9tX2NvbnNvbGVf eHNfcGF0aCwgIiVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tX2NvbnNvbGVfc2xh dmVfdHR5X3BhdGgpOwogICAgIGlmIChyYykgewotICAgICAgICBMT0dFKEVSUk9SLCJ4cyB3cml0 ZSBjb25zb2xlIHBhdGggJXMgOj0gJXMgZmFpbGVkIiwKKyAgICAgICAgTE9HRUQoRVJST1IsIGJs LT5kb21pZCwgInhzIHdyaXRlIGNvbnNvbGUgcGF0aCAlcyA6PSAlcyBmYWlsZWQiLAogICAgICAg ICAgICAgIGRvbV9jb25zb2xlX3hzX3BhdGgsIGRvbV9jb25zb2xlX3NsYXZlX3R0eV9wYXRoKTsK ICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKQEAgLTUzNywxMSAr NTUwLDExIEBAIHN0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfZ290cHR5cyhsaWJ4bF9fZWdjICplZ2Ms IGxpYnhsX19vcGVucHR5X3N0YXRlICpvcCkKICAgICByYyA9IGxpYnhsX19kYXRhY29waWVyX3N0 YXJ0KCZibC0+ZGlzcGxheSk7CiAgICAgaWYgKHJjKSBnb3RvIG91dDsKIAotICAgIExPRyhERUJV RywgImV4ZWN1dGluZyBib290bG9hZGVyOiAlcyIsIGJsLT5hcmdzWzBdKTsKKyAgICBMT0dEKERF QlVHLCBibC0+ZG9taWQsICJleGVjdXRpbmcgYm9vdGxvYWRlcjogJXMiLCBibC0+YXJnc1swXSk7 CiAgICAgZm9yIChjb25zdCBjaGFyICoqYmxhcmcgPSBibC0+YXJnczsKICAgICAgICAgICpibGFy ZzsKICAgICAgICAgIGJsYXJnKyspCi0gICAgICAgIExPRyhERUJVRywgIiAgYm9vdGxvYWRlciBh cmc6ICVzIiwgKmJsYXJnKTsKKyAgICAgICAgTE9HRChERUJVRywgYmwtPmRvbWlkLCAiICBib290 bG9hZGVyIGFyZzogJXMiLCAqYmxhcmcpOwogCiAgICAgc3RydWN0IHRlcm1pb3MgdGVybWF0dHI7 CiAKQEAgLTU1NCw3ICs1NjcsNyBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX2dvdHB0eXMobGli eGxfX2VnYyAqZWdjLCBsaWJ4bF9fb3BlbnB0eV9zdGF0ZSAqb3ApCiAgICAgaWYgKCFwaWQpIHsK ICAgICAgICAgLyogY2hpbGQgKi8KICAgICAgICAgciA9IGxvZ2luX3R0eShsaWJ4bF9fY2FyZWZk X2ZkKGJsLT5wdHlzWzBdLnNsYXZlKSk7Ci0gICAgICAgIGlmIChyKSB7IExPR0UoRVJST1IsICJs b2dpbl90dHkgZmFpbGVkIik7IGV4aXQoLTEpOyB9CisgICAgICAgIGlmIChyKSB7IExPR0VEKEVS Uk9SLCBibC0+ZG9taWQsICJsb2dpbl90dHkgZmFpbGVkIik7IGV4aXQoLTEpOyB9CiAgICAgICAg IGxpYnhsX19leGVjKGdjLCAtMSwgLTEsIC0xLCBibC0+YXJnc1swXSwgKGNoYXIgKiopIGJsLT5h cmdzLCBlbnYpOwogICAgIH0KIApAQCAtNTg5LDEwICs2MDIsMTAgQEAgc3RhdGljIHZvaWQgYm9v dGxvYWRlcl9jb3B5ZmFpbChsaWJ4bF9fZWdjICplZ2MsIGNvbnN0IGNoYXIgKndoaWNoLAogICAg ICAgICAgICAgcmMgPSAwOwogICAgICAgICAgICAgYmwtPmdvdF9wb2xsaHVwID0gMTsKICAgICAg ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIExPRyhFUlJPUiwgInVuZXhwZWN0ZWQgUE9MTEhVUCBv biAlcyIsIHdoaWNoKTsKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGJsLT5kb21pZCwgInVuZXhw ZWN0ZWQgUE9MTEhVUCBvbiAlcyIsIHdoaWNoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAo IXJjKSB7Ci0gICAgICAgIExPRyhFUlJPUiwgInVuZXhwZWN0ZWQgZW9mIGNvcHlpbmcgJXMiLCB3 aGljaCk7CisgICAgICAgIExPR0QoRVJST1IsIGJsLT5kb21pZCwgInVuZXhwZWN0ZWQgZW9mIGNv cHlpbmcgJXMiLCB3aGljaCk7CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICB9CiAKQEAg LTYzMSwxNCArNjQ0LDE1IEBAIHN0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfZmluaXNoZWQobGlieGxf X2VnYyAqZWdjLCBsaWJ4bF9fZXZfY2hpbGQgKmNoaWxkLAogCiAgICAgaWYgKHN0YXR1cykgewog ICAgICAgICBpZiAoYmwtPmdvdF9wb2xsaHVwICYmIFdJRlNJR05BTEVEKHN0YXR1cykgJiYgV1RF Uk1TSUcoc3RhdHVzKT09U0lHVEVSTSkKLSAgICAgICAgICAgIExPRyhFUlJPUiwgImdvdCBQT0xM SFVQLCBzZW50IFNJR1RFUk0iKTsKLSAgICAgICAgTE9HKEVSUk9SLCAiYm9vdGxvYWRlciBmYWls ZWQgLSBjb25zdWx0IGxvZ2ZpbGUgJXMiLCBibC0+bG9nZmlsZSk7CisgICAgICAgICAgICBMT0dE KEVSUk9SLCBibC0+ZG9taWQsICJnb3QgUE9MTEhVUCwgc2VudCBTSUdURVJNIik7CisgICAgICAg IExPR0QoRVJST1IsIGJsLT5kb21pZCwKKyAgICAgICAgICAgICAiYm9vdGxvYWRlciBmYWlsZWQg LSBjb25zdWx0IGxvZ2ZpbGUgJXMiLCBibC0+bG9nZmlsZSk7CiAgICAgICAgIGxpYnhsX3JlcG9y dF9jaGlsZF9leGl0c3RhdHVzKENUWCwgWFRMX0VSUk9SLCAiYm9vdGxvYWRlciIsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpZCwgc3RhdHVzKTsKICAgICAgICAgcmMg PSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKICAgICB9IGVsc2UgewotICAgICAgICBM T0coREVCVUcsICJib290bG9hZGVyIGNvbXBsZXRlZCIpOworICAgICAgICBMT0dEKERFQlVHLCBi bC0+ZG9taWQsICJib290bG9hZGVyIGNvbXBsZXRlZCIpOwogICAgIH0KIAogICAgIGlmIChibC0+ cmMpIHsKQEAgLTY1MSw3ICs2NjUsNyBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX2ZpbmlzaGVk KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X2NoaWxkICpjaGlsZCwKICAgICBpZiAocmMpIGdv dG8gb3V0OwogCiAgICAgcmMgPSAwOwotICAgIExPRyhERUJVRywgImJvb3Rsb2FkZXIgZXhlY3V0 aW9uIHN1Y2Nlc3NmdWwiKTsKKyAgICBMT0dEKERFQlVHLCBibC0+ZG9taWQsICJib290bG9hZGVy IGV4ZWN1dGlvbiBzdWNjZXNzZnVsIik7CiAKICBvdXQ6CiAgICAgYm9vdGxvYWRlcl9jYWxsYmFj ayhlZ2MsIGJsLCByYyk7Ci0tIAoyLjEwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK