From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= Subject: [PATCH v2 14/35] libxl/libxl_device.c: used LOG*D functions Date: Thu, 17 Nov 2016 18:35:56 +0100 Message-ID: <20161117173617.6697-15-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 RnJvbTogQ2VkcmljIEJvc2Rvbm5hdCA8Y2Jvc2Rvbm5hdEBzdXNlLmNvbT4KClVzZSBMT0cqRCBs b2dnaW5nIGZ1bmN0aW9ucyB3aGVyZSBwb3NzaWJsZSBpbnN0ZWFkIG9mIHRoZSBMT0cqIG9uZXMu CgpTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIEJvc2Rvbm5hdCA8Y2Jvc2Rvbm5hdEBzdXNlLmNvbT4K LS0tCiB0b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyB8IDcwICsrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNyBpbnNlcnRpb25z KCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kZXZp Y2UuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCmluZGV4IDNlN2ExMDIuLjVlMjI4NjYg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCisrKyBiL3Rvb2xzL2xpYnhs L2xpYnhsX2RldmljZS5jCkBAIC05NCwxMyArOTQsMTMgQEAgaW50IGxpYnhsX19uaWNfdHlwZShs aWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZGV2aWNlICpkZXYsIGxpYnhsX25pY190eXBlICpuaWN0eXBl KQogICAgIHNuaWN0eXBlID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy8lcyIsIGJlX3BhdGgsICJ0eXBlIikp OwogICAgIGlmICghc25pY3R5cGUpIHsKLSAgICAgICAgTE9HRShFUlJPUiwgInVuYWJsZSB0byBy ZWFkIG5pY3R5cGUgZnJvbSAlcyIsIGJlX3BhdGgpOworICAgICAgICBMT0dFRChFUlJPUiwgZGV2 LT5kb21pZCwgInVuYWJsZSB0byByZWFkIG5pY3R5cGUgZnJvbSAlcyIsIGJlX3BhdGgpOwogICAg ICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KICAgICByYyA9 IGxpYnhsX25pY190eXBlX2Zyb21fc3RyaW5nKHNuaWN0eXBlLCBuaWN0eXBlKTsKICAgICBpZiAo cmMpIHsKLSAgICAgICAgTE9HRShFUlJPUiwgInVuYWJsZSB0byBwYXJzZSBuaWN0eXBlIGZyb20g JXMiLCBiZV9wYXRoKTsKKyAgICAgICAgTE9HRUQoRVJST1IsIGRldi0+ZG9taWQsICJ1bmFibGUg dG8gcGFyc2UgbmljdHlwZSBmcm9tICVzIiwgYmVfcGF0aCk7CiAgICAgICAgIGdvdG8gb3V0Owog ICAgIH0KIApAQCAtMjMxLDcgKzIzMSw3IEBAIHJldHJ5X3RyYW5zYWN0aW9uOgogICAgICAgICBp ZiAoZXJybm8gPT0gRUFHQUlOKQogICAgICAgICAgICAgZ290byByZXRyeV90cmFuc2FjdGlvbjsK ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBMT0dFKEVSUk9SLCAieHMgdHJhbnNhY3Rpb24g ZmFpbGVkIik7CisgICAgICAgICAgICBMT0dFRChFUlJPUiwgZGV2aWNlLT5kb21pZCwgInhzIHRy YW5zYWN0aW9uIGZhaWxlZCIpOwogICAgICAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7CiAgICAg ICAgIH0KICAgICB9CkBAIC04ODUsNyArODg1LDcgQEAgdm9pZCBsaWJ4bF9fd2FpdF9kZXZpY2Vf Y29ubmVjdGlvbihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVfcGF0aCwgWGVuYnVzU3RhdGVJbml0 V2FpdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX0lOSVRfVElNRU9V VCAqIDEwMDApOwogICAgIGlmIChyYykgewotICAgICAgICBMT0coRVJST1IsICJ1bmFibGUgdG8g aW5pdGlhbGl6ZSBkZXZpY2UgJXMiLCBiZV9wYXRoKTsKKyAgICAgICAgTE9HRChFUlJPUiwgYW9k ZXYtPmRldi0+ZG9taWQsICJ1bmFibGUgdG8gaW5pdGlhbGl6ZSBkZXZpY2UgJXMiLCBiZV9wYXRo KTsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCkBAIC05MTQsMTQgKzkxNCwxNCBAQCB2b2lk IGxpYnhsX19pbml0aWF0ZV9kZXZpY2VfZ2VuZXJpY19yZW1vdmUobGlieGxfX2VnYyAqZWdjLAog CiAgICAgcmMgPSBsaWJ4bF9fZ2V0X2RvbWlkKGdjLCAmbXlfZG9taWQpOwogICAgIGlmIChyYykg ewotICAgICAgICBMT0coRVJST1IsICJ1bmFibGUgdG8gZ2V0IG15IGRvbWlkIik7CisgICAgICAg IExPR0QoRVJST1IsIGRvbWlkLCAidW5hYmxlIHRvIGdldCBteSBkb21pZCIpOwogICAgICAgICBn b3RvIG91dDsKICAgICB9CiAKICAgICBpZiAobXlfZG9taWQgPT0gTElCWExfVE9PTFNUQUNLX0RP TUlEKSB7CiAgICAgICAgIHJjID0gbGlieGxfZG9tYWluX2luZm8oQ1RYLCAmaW5mbywgZG9taWQp OwogICAgICAgICBpZiAocmMpIHsKLSAgICAgICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byBn ZXQgaW5mbyBmb3IgZG9tYWluICVkIiwgZG9taWQpOworICAgICAgICAgICAgTE9HRChFUlJPUiwg ZG9taWQsICJ1bmFibGUgdG8gZ2V0IGluZm8gZm9yIGRvbWFpbiAlZCIsIGRvbWlkKTsKICAgICAg ICAgICAgIGdvdG8gb3V0OwogICAgICAgICB9CiAgICAgICAgIGlmIChRRU1VX0JBQ0tFTkQoYW9k ZXYtPmRldikgJiYKQEAgLTkzNCw4ICs5MzQsOCBAQCB2b2lkIGxpYnhsX19pbml0aWF0ZV9kZXZp Y2VfZ2VuZXJpY19yZW1vdmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3FlbXVfdGltZW91dCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX1FFTVVfQk9ER0VfVElNRU9V VCAqIDEwMDApOwogICAgICAgICAgICAgaWYgKHJjKSB7Ci0gICAgICAgICAgICAgICAgTE9HKEVS Uk9SLCAidW5hYmxlIHRvIHJlZ2lzdGVyIHRpbWVvdXQgZm9yIFFlbXUgZGV2aWNlICVzIiwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJlX3BhdGgpOworICAgICAgICAgICAgICAgIExPR0Qo RVJST1IsIGRvbWlkLCAidW5hYmxlIHRvIHJlZ2lzdGVyIHRpbWVvdXQgZm9yIFFlbXUgZGV2aWNl ICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZV9wYXRoKTsKICAgICAgICAgICAg ICAgICBnb3RvIG91dDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGdvdG8gb3V0X3N1Y2Nl c3M7CkBAIC05NDUsNyArOTQ1LDcgQEAgdm9pZCBsaWJ4bF9faW5pdGlhdGVfZGV2aWNlX2dlbmVy aWNfcmVtb3ZlKGxpYnhsX19lZ2MgKmVnYywKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIHJjID0g bGlieGxfX3hzX3RyYW5zYWN0aW9uX3N0YXJ0KGdjLCAmdCk7CiAgICAgICAgIGlmIChyYykgewot ICAgICAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIHN0YXJ0IHRyYW5zYWN0aW9uIik7Cisg ICAgICAgICAgICBMT0dEKEVSUk9SLCBkb21pZCwgInVuYWJsZSB0byBzdGFydCB0cmFuc2FjdGlv biIpOwogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgIH0KIApAQCAtOTU1LDcgKzk1NSw3 IEBAIHZvaWQgbGlieGxfX2luaXRpYXRlX2RldmljZV9nZW5lcmljX3JlbW92ZShsaWJ4bF9fZWdj ICplZ2MsCiAKICAgICAgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCB0LCBzdGF0 ZV9wYXRoLCAmc3RhdGUpOwogICAgICAgICBpZiAocmMpIHsKLSAgICAgICAgICAgIExPRyhFUlJP UiwgInVuYWJsZSB0byByZWFkIGRldmljZSBzdGF0ZSBmcm9tIHBhdGggJXMiLCBzdGF0ZV9wYXRo KTsKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGRvbWlkLCAidW5hYmxlIHRvIHJlYWQgZGV2aWNl IHN0YXRlIGZyb20gcGF0aCAlcyIsIHN0YXRlX3BhdGgpOwogICAgICAgICAgICAgZ290byBvdXQ7 CiAgICAgICAgIH0KIApAQCAtOTcwLDcgKzk3MCw3IEBAIHZvaWQgbGlieGxfX2luaXRpYXRlX2Rl dmljZV9nZW5lcmljX3JlbW92ZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICBpZiAoc3RhdGUg JiYgYXRvaShzdGF0ZSkgIT0gWGVuYnVzU3RhdGVDbG9zZWQpIHsKICAgICAgICAgICAgIHJjID0g bGlieGxfX3hzX3dyaXRlX2NoZWNrZWQoZ2MsIHQsIHN0YXRlX3BhdGgsIEdDU1BSSU5URigiJWQi LCBYZW5idXNTdGF0ZUNsb3NpbmcpKTsKICAgICAgICAgICAgIGlmIChyYykgewotICAgICAgICAg ICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byB3cml0ZSB0byB4ZW5zdG9yZSBwYXRoICVzIiwg c3RhdGVfcGF0aCk7CisgICAgICAgICAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJ1bmFibGUg dG8gd3JpdGUgdG8geGVuc3RvcmUgcGF0aCAlcyIsIHN0YXRlX3BhdGgpOwogICAgICAgICAgICAg ICAgIGdvdG8gb3V0OwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC05ODUsNyArOTg1LDcg QEAgdm9pZCBsaWJ4bF9faW5pdGlhdGVfZGV2aWNlX2dlbmVyaWNfcmVtb3ZlKGxpYnhsX19lZ2Mg KmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlX3BhdGgsIFhlbmJ1 c1N0YXRlQ2xvc2VkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfREVT VFJPWV9USU1FT1VUICogMTAwMCk7CiAgICAgaWYgKHJjKSB7Ci0gICAgICAgIExPRyhFUlJPUiwg InVuYWJsZSB0byByZW1vdmUgZGV2aWNlICVzIiwgYmVfcGF0aCk7CisgICAgICAgIExPR0QoRVJS T1IsIGRvbWlkLCAidW5hYmxlIHRvIHJlbW92ZSBkZXZpY2UgJXMiLCBiZV9wYXRoKTsKICAgICAg ICAgZ290byBvdXQ7CiAgICAgfQogCkBAIC0xMDE5LDcgKzEwMTksNyBAQCBzdGF0aWMgdm9pZCBk ZXZpY2VfcWVtdV90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3RpbWUgKmV2LAog ICAgIGZvciAoOzspIHsKICAgICAgICAgcmMgPSBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fc3RhcnQo Z2MsICZ0KTsKICAgICAgICAgaWYgKHJjKSB7Ci0gICAgICAgICAgICBMT0coRVJST1IsICJ1bmFi bGUgdG8gc3RhcnQgdHJhbnNhY3Rpb24iKTsKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGFvZGV2 LT5kZXYtPmRvbWlkLCAidW5hYmxlIHRvIHN0YXJ0IHRyYW5zYWN0aW9uIik7CiAgICAgICAgICAg ICBnb3RvIG91dDsKICAgICAgICAgfQogCkBAIC0xMDU2LDIyICsxMDU2LDIyIEBAIHN0YXRpYyB2 b2lkIGRldmljZV9iYWNrZW5kX2NhbGxiYWNrKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X2Rl dnN0YXRlICpkcywKICAgICBsaWJ4bF9fYW9fZGV2aWNlICphb2RldiA9IENPTlRBSU5FUl9PRihk cywgKmFvZGV2LCBiYWNrZW5kX2RzKTsKICAgICBTVEFURV9BT19HQyhhb2Rldi0+YW8pOwogCi0g ICAgTE9HKERFQlVHLCAiY2FsbGluZyBkZXZpY2VfYmFja2VuZF9jbGVhbnVwIik7CisgICAgTE9H RChERUJVRywgYW9kZXYtPmRldi0+ZG9taWQsICJjYWxsaW5nIGRldmljZV9iYWNrZW5kX2NsZWFu dXAiKTsKICAgICBkZXZpY2VfYmFja2VuZF9jbGVhbnVwKGdjLCBhb2Rldik7CiAKICAgICBpZiAo cmMgPT0gRVJST1JfVElNRURPVVQgJiYKICAgICAgICAgYW9kZXYtPmFjdGlvbiA9PSBMSUJYTF9f REVWSUNFX0FDVElPTl9SRU1PVkUgJiYKICAgICAgICAgIWFvZGV2LT5mb3JjZSkgewotICAgICAg ICBMT0coREVCVUcsICJUaW1lb3V0IHJlYWNoZWQsIGluaXRpYXRpbmcgZm9yY2VkIHJlbW92ZSIp OworICAgICAgICBMT0dEKERFQlVHLCBhb2Rldi0+ZGV2LT5kb21pZCwgIlRpbWVvdXQgcmVhY2hl ZCwgaW5pdGlhdGluZyBmb3JjZWQgcmVtb3ZlIik7CiAgICAgICAgIGFvZGV2LT5mb3JjZSA9IDE7 CiAgICAgICAgIGxpYnhsX19pbml0aWF0ZV9kZXZpY2VfZ2VuZXJpY19yZW1vdmUoZWdjLCBhb2Rl dik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAocmMpIHsKLSAgICAgICAgTE9H KEVSUk9SLCAidW5hYmxlIHRvICVzIGRldmljZSB3aXRoIHBhdGggJXMiLAotICAgICAgICAgICAg ICAgICAgIGxpYnhsX19kZXZpY2VfYWN0aW9uX3RvX3N0cmluZyhhb2Rldi0+YWN0aW9uKSwKLSAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2JhY2tlbmRfcGF0aChnYywgYW9kZXYtPmRl dikpOworICAgICAgICBMT0dEKEVSUk9SLCBhb2Rldi0+ZGV2LT5kb21pZCwgInVuYWJsZSB0byAl cyBkZXZpY2Ugd2l0aCBwYXRoICVzIiwKKyAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rldmlj ZV9hY3Rpb25fdG9fc3RyaW5nKGFvZGV2LT5hY3Rpb24pLAorICAgICAgICAgICAgICAgICAgICBs aWJ4bF9fZGV2aWNlX2JhY2tlbmRfcGF0aChnYywgYW9kZXYtPmRldikpOwogICAgICAgICBnb3Rv IG91dDsKICAgICB9CiAKQEAgLTExMDYsMTIgKzExMDYsMTMgQEAgc3RhdGljIHZvaWQgZGV2aWNl X2hvdHBsdWcobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYW9fZGV2aWNlICphb2RldikKICAgICAg Ki8KICAgICByYyA9IGxpYnhsX19nZXRfZG9taWQoZ2MsICZkb21pZCk7CiAgICAgaWYgKHJjKSB7 Ci0gICAgICAgIExPRyhFUlJPUiwgIkZhaWxlZCB0byBnZXQgZG9taWQiKTsKKyAgICAgICAgTE9H RChFUlJPUiwgYW9kZXYtPmRldi0+ZG9taWQsICJGYWlsZWQgdG8gZ2V0IGRvbWlkIik7CiAgICAg ICAgIGdvdG8gb3V0OwogICAgIH0KICAgICBpZiAoYW9kZXYtPmRldi0+YmFja2VuZF9kb21pZCAh PSBkb21pZCkgewotICAgICAgICBMT0coREVCVUcsICJCYWNrZW5kIGRvbWlkICVkLCBkb21pZCAl ZCwgYXNzdW1pbmcgZHJpdmVyIGRvbWFpbnMiLAotICAgICAgICAgICAgYW9kZXYtPmRldi0+YmFj a2VuZF9kb21pZCwgZG9taWQpOworICAgICAgICBMT0dEKERFQlVHLCBhb2Rldi0+ZGV2LT5kb21p ZCwKKyAgICAgICAgICAgICAiQmFja2VuZCBkb21pZCAlZCwgZG9taWQgJWQsIGFzc3VtaW5nIGRy aXZlciBkb21haW5zIiwKKyAgICAgICAgICAgICBhb2Rldi0+ZGV2LT5iYWNrZW5kX2RvbWlkLCBk b21pZCk7CiAKICAgICAgICAgaWYgKGFvZGV2LT5hY3Rpb24gIT0gTElCWExfX0RFVklDRV9BQ1RJ T05fUkVNT1ZFKSB7CiAgICAgICAgICAgICBMT0coREVCVUcsICJOb3QgYSByZW1vdmUsIG5vdCBl eGVjdXRpbmcgaG90cGx1ZyBzY3JpcHRzIik7CkBAIC0xMTI1LDcgKzExMjYsOCBAQCBzdGF0aWMg dm9pZCBkZXZpY2VfaG90cGx1ZyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hb19kZXZpY2UgKmFv ZGV2KQogICAgICAgICBhb2Rldi0+eHN3YWl0LmNhbGxiYWNrID0gZGV2aWNlX2Rlc3Ryb3lfYmVf d2F0Y2hfY2I7CiAgICAgICAgIHJjID0gbGlieGxfX3hzd2FpdF9zdGFydChnYywgJmFvZGV2LT54 c3dhaXQpOwogICAgICAgICBpZiAocmMpIHsKLSAgICAgICAgICAgIExPRyhFUlJPUiwgIlNldHVw IG9mIGJhY2tlbmQgcmVtb3ZhbCB3YXRjaCBmYWlsZWQgKHBhdGggJXMpIiwgYmVfcGF0aCk7Cisg ICAgICAgICAgICBMT0dEKEVSUk9SLCBhb2Rldi0+ZGV2LT5kb21pZCwKKyAgICAgICAgICAgICAg ICAgIlNldHVwIG9mIGJhY2tlbmQgcmVtb3ZhbCB3YXRjaCBmYWlsZWQgKHBhdGggJXMpIiwgYmVf cGF0aCk7CiAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAgfQogCkBAIC0xMTQwLDQzICsx MTQyLDQ0IEBAIHN0YXRpYyB2b2lkIGRldmljZV9ob3RwbHVnKGxpYnhsX19lZ2MgKmVnYywgbGli eGxfX2FvX2RldmljZSAqYW9kZXYpCiAgICAgc3dpdGNoIChob3RwbHVnKSB7CiAgICAgY2FzZSAw OgogICAgICAgICAvKiBubyBob3RwbHVnIHNjcmlwdCB0byBleGVjdXRlICovCi0gICAgICAgIExP RyhERUJVRywgIk5vIGhvdHBsdWcgc2NyaXB0IHRvIGV4ZWN1dGUiKTsKKyAgICAgICAgTE9HRChE RUJVRywgYW9kZXYtPmRldi0+ZG9taWQsICJObyBob3RwbHVnIHNjcmlwdCB0byBleGVjdXRlIik7 CiAgICAgICAgIGdvdG8gb3V0OwogICAgIGNhc2UgMToKICAgICAgICAgLyogZXhlY3V0ZSBob3Rw bHVnIHNjcmlwdCAqLwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICAvKiBl dmVyeXRoaW5nIGVsc2UgaXMgYW4gZXJyb3IgKi8KLSAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxl IHRvIGdldCBhcmdzL2VudiB0byBleGVjdXRlIGhvdHBsdWcgc2NyaXB0IGZvciAiCi0gICAgICAg ICAgICAgICAgICAgImRldmljZSAlcyIsIGxpYnhsX19kZXZpY2VfYmFja2VuZF9wYXRoKGdjLCBh b2Rldi0+ZGV2KSk7CisgICAgICAgIExPR0QoRVJST1IsIGFvZGV2LT5kZXYtPmRvbWlkLAorICAg ICAgICAgICAgICAgICAgICAidW5hYmxlIHRvIGdldCBhcmdzL2VudiB0byBleGVjdXRlIGhvdHBs dWcgc2NyaXB0IGZvciAiCisgICAgICAgICAgICAgICAgICAgICJkZXZpY2UgJXMiLCBsaWJ4bF9f ZGV2aWNlX2JhY2tlbmRfcGF0aChnYywgYW9kZXYtPmRldikpOwogICAgICAgICByYyA9IGhvdHBs dWc7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAogICAgIGFzc2VydChhcmdzICE9IE5VTEwp OwotICAgIExPRyhERUJVRywgImNhbGxpbmcgaG90cGx1ZyBzY3JpcHQ6ICVzICVzIiwgYXJnc1sw XSwgYXJnc1sxXSk7Ci0gICAgTE9HKERFQlVHLCAiZXh0cmEgYXJnczoiKTsKKyAgICBMT0dEKERF QlVHLCBhb2Rldi0+ZGV2LT5kb21pZCwgImNhbGxpbmcgaG90cGx1ZyBzY3JpcHQ6ICVzICVzIiwg YXJnc1swXSwgYXJnc1sxXSk7CisgICAgTE9HRChERUJVRywgYW9kZXYtPmRldi0+ZG9taWQsICJl eHRyYSBhcmdzOiIpOwogICAgIHsKICAgICAgICAgY29uc3QgY2hhciAqYXJnOwogICAgICAgICB1 bnNpZ25lZCBpbnQgeDsKIAogICAgICAgICBmb3IgKHggPSAyOyAoYXJnID0gYXJnc1t4XSk7IHgr KykKLSAgICAgICAgICAgIExPRyhERUJVRywgIlx0JXMiLCBhcmcpOworICAgICAgICAgICAgTE9H RChERUJVRywgYW9kZXYtPmRldi0+ZG9taWQsICJcdCVzIiwgYXJnKTsKICAgICB9Ci0gICAgTE9H KERFQlVHLCAiZW52OiIpOworICAgIExPR0QoREVCVUcsIGFvZGV2LT5kZXYtPmRvbWlkLCAiZW52 OiIpOwogICAgIGlmIChlbnYgIT0gTlVMTCkgewogICAgICAgICBjb25zdCBjaGFyICprLCAqdjsK ICAgICAgICAgdW5zaWduZWQgaW50IHg7CiAKICAgICAgICAgZm9yICh4ID0gMDsgKGsgPSBlbnZb eF0pOyB4ICs9IDIpIHsKICAgICAgICAgICAgIHYgPSBlbnZbeCsxXTsKLSAgICAgICAgICAgIExP RyhERUJVRywgIlx0JXM6ICVzIiwgaywgdik7CisgICAgICAgICAgICBMT0dEKERFQlVHLCBhb2Rl di0+ZGV2LT5kb21pZCwgIlx0JXM6ICVzIiwgaywgdik7CiAgICAgICAgIH0KICAgICB9CiAKICAg ICBudWxsZmQgPSBvcGVuKCIvZGV2L251bGwiLCBPX1JET05MWSk7CiAgICAgaWYgKG51bGxmZCA8 IDApIHsKLSAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIG9wZW4gL2Rldi9udWxsIGZvciBo b3RwbHVnIHNjcmlwdCIpOworICAgICAgICBMT0dEKEVSUk9SLCBhb2Rldi0+ZGV2LT5kb21pZCwg InVuYWJsZSB0byBvcGVuIC9kZXYvbnVsbCBmb3IgaG90cGx1ZyBzY3JpcHQiKTsKICAgICAgICAg cmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CkBAIC0xMjYwLDggKzEy NjMsOSBAQCBzdGF0aWMgdm9pZCBkZXZpY2VfZGVzdHJveV9iZV93YXRjaF9jYihsaWJ4bF9fZWdj ICplZ2MsCiAKICAgICBpZiAocmMpIHsKICAgICAgICAgaWYgKHJjID09IEVSUk9SX1RJTUVET1VU KQotICAgICAgICAgICAgTE9HKEVSUk9SLCAidGltZWQgb3V0IHdoaWxlIHdhaXRpbmcgZm9yICVz IHRvIGJlIHJlbW92ZWQiLAotICAgICAgICAgICAgICAgIHhzd2FpdC0+cGF0aCk7CisgICAgICAg ICAgICBMT0dEKEVSUk9SLCBhb2Rldi0+ZGV2LT5kb21pZCwKKyAgICAgICAgICAgICAgICAgInRp bWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciAlcyB0byBiZSByZW1vdmVkIiwKKyAgICAgICAgICAg ICAgICAgeHN3YWl0LT5wYXRoKTsKICAgICAgICAgYW9kZXYtPnJjID0gcmM7CiAgICAgICAgIGdv dG8gb3V0OwogICAgIH0KLS0gCjIuMTAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=