From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH 05/18] xen: add xenstore watcher infratructure Date: Wed, 21 Nov 2018 15:11:58 +0000 Message-ID: <20181121151211.15997-6-paul.durrant__15596.0972690538$1542813065$gmane$org@citrix.com> References: <20181121151211.15997-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gPUAx-0007IC-3G for xen-devel@lists.xenproject.org; Wed, 21 Nov 2018 15:12:23 +0000 In-Reply-To: <20181121151211.15997-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: qemu-block@nongnu.org, qemu-devel@nongnu.org, xen-devel@lists.xenproject.org Cc: Kevin Wolf , Anthony Perard , Paul Durrant , Stefano Stabellini , Max Reitz List-Id: xen-devel@lists.xenproject.org QSBYZW4gUFYgZnJvbnRlbmQgY29tbXVuaWNhdGVzIGl0cyBzdGF0ZSB0byB0aGUgUFYgYmFja2Vu ZCBieSB3cml0aW5nIHRvCnRoZSAnc3RhdGUnIGtleSBpbiB0aGUgZnJvbnRlbmQgYXJlYSBpbiB4 ZW5zdG9yZS4gSXQgaXMgdGhlcmVmb3JlCm5lY2Vzc2FyeSBmb3IgYSBYZW5EZXZpY2UgaW1wbGVt ZW50YXRpb24gdG8gYmUgbm90aWZpZWQgd2hlbmV2ZXIgdGhlCnZhbHVlIG9mIHRoaXMga2V5IGNo YW5nZXMuCgpUaGlzIHBhdGNoIGFkZHMgY29kZSB0byBkbyB0aGlzIGFzIGZvbGxvd3M6CgotIGFu ICdmZCBoYW5kbGVyJyBpcyByZWdpc3RlcmVkIG9uIHRoZSBsaWJ4ZW5zdG9yZSBoYW5kbGUgd2hp Y2ggd2lsbCBiZQogIHRyaWdnZXJlZCB3aGVuZXZlciBhICd3YXRjaCcgZXZlbnQgb2NjdXJzCi0g cHJpbWl0aXZlcyBhcmUgYWRkZWQgdG8geGVuLWJ1cy1oZWxwZXIgdG8gYWRkIG9yIHJlbW92ZSB3 YXRjaCBldmVudHMKLSBhIGxpc3Qgb2YgTm90aWZpZXIgb2JqZWN0cyBpcyBhZGRlZCB0byBYZW5C dXMgdG8gcHJvdmlkZSBhIG1lY2hhbmlzbQogIHRvIGNhbGwgdGhlIGFwcHJvcHJpYXRlICd3YXRj aCBoYW5kbGVyJyB3aGVuIGl0cyBhc3NvY2lhdGVkIGV2ZW50CiAgb2NjdXJzCgpUaGUgeGVuLXFp c2sgaW1wbGVtZW50YXRpb24gaXMgZXh0ZW5kZWQgd2l0aCBhICdmcm9udGVuZF9jaGFuZ2VkJyBt ZXRob2QsCndoaWNoIGNhbGxzIGFzLXlldCBzdHViICdjb25uZWN0JyBhbmQgJ2Rpc2Nvbm5lY3Qn IGZ1bmN0aW9ucyB3aGVuIHRoZQpyZWxldmFudCBmcm9udGVuZCBzdGF0ZSB0cmFuc2l0aW9ucyBv Y2N1ci4gQSBzdWJzZXF1ZW50IHBhdGNoIHdpbGwgc3VwcGx5CmEgZnVsbCBpbXBsZW1lbnRhdGlv biBmb3IgdGhlc2UgZnVuY3Rpb25zLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVs LmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCkNjOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29t PgpDYzogTWF4IFJlaXR6IDxtcmVpdHpAcmVkaGF0LmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGlu aSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEFudGhvbnkgUGVyYXJkIDxhbnRob255LnBl cmFyZEBjaXRyaXguY29tPgotLS0KIGh3L2Jsb2NrL3RyYWNlLWV2ZW50cyAgICAgICAgICAgfCAg IDIgKwogaHcvYmxvY2sveGVuLXFkaXNrLmMgICAgICAgICAgICB8ICA1NiArKysrKysrKysrKwog aHcveGVuL3RyYWNlLWV2ZW50cyAgICAgICAgICAgICB8ICAgNCArCiBody94ZW4veGVuLWJ1cy1o ZWxwZXIuYyAgICAgICAgIHwgIDI4ICsrKysrKwogaHcveGVuL3hlbi1idXMuYyAgICAgICAgICAg ICAgICB8IDIwNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBpbmNs dWRlL2h3L3hlbi94ZW4tYnVzLWhlbHBlci5oIHwgICA1ICsKIGluY2x1ZGUvaHcveGVuL3hlbi1i dXMuaCAgICAgICAgfCAgMTUgKysrCiA3IGZpbGVzIGNoYW5nZWQsIDMxMyBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3L2Jsb2NrL3RyYWNlLWV2ZW50cyBiL2h3 L2Jsb2NrL3RyYWNlLWV2ZW50cwppbmRleCBmZDNjMTI2YWMxLi44Yjk1NTY3NTYwIDEwMDY0NAot LS0gYS9ody9ibG9jay90cmFjZS1ldmVudHMKKysrIGIvaHcvYmxvY2svdHJhY2UtZXZlbnRzCkBA IC0xMzAsNCArMTMwLDYgQEAgeGVuX2Rpc2tfZnJlZShjaGFyICpuYW1lKSAiJXMiCiAKICMgaHcv YmxvY2sveGVuLXFkaXNrLmMKIHhlbl9xZGlza19yZWFsaXplKHVpbnQzMl90IGRpc2ssIHVpbnQz Ml90IHBhcnRpdGlvbikgImQldXAldSIKK3hlbl9xZGlza19jb25uZWN0KHVpbnQzMl90IGRpc2ss IHVpbnQzMl90IHBhcnRpdGlvbikgImQldXAldSIKK3hlbl9xZGlza19kaXNjb25uZWN0KHVpbnQz Ml90IGRpc2ssIHVpbnQzMl90IHBhcnRpdGlvbikgImQldXAldSIKIHhlbl9xZGlza191bnJlYWxp emUodWludDMyX3QgZGlzaywgdWludDMyX3QgcGFydGl0aW9uKSAiZCV1cCV1IgpkaWZmIC0tZ2l0 IGEvaHcvYmxvY2sveGVuLXFkaXNrLmMgYi9ody9ibG9jay94ZW4tcWRpc2suYwppbmRleCAwODU5 NjQzZjdkLi4zNWY3YjcwNDgwIDEwMDY0NAotLS0gYS9ody9ibG9jay94ZW4tcWRpc2suYworKysg Yi9ody9ibG9jay94ZW4tcWRpc2suYwpAQCAtMzIsMTIgKzMyLDY3IEBAIHN0YXRpYyB2b2lkIHhl bl9xZGlza19yZWFsaXplKFhlbkRldmljZSAqeGVuZGV2LCBFcnJvciAqKmVycnApCiAgICAgdHJh Y2VfeGVuX3FkaXNrX3JlYWxpemUodmRldi0+ZGlzaywgdmRldi0+cGFydGl0aW9uKTsKIH0KIAor c3RhdGljIHZvaWQgeGVuX3FkaXNrX2Nvbm5lY3QoWGVuUWRpc2tEZXZpY2UgKnFkaXNrZGV2LCBF cnJvciAqKmVycnApCit7CisgICAgWGVuUWRpc2tWZGV2ICp2ZGV2ID0gJnFkaXNrZGV2LT52ZGV2 OworCisgICAgdHJhY2VfeGVuX3FkaXNrX2Nvbm5lY3QodmRldi0+ZGlzaywgdmRldi0+cGFydGl0 aW9uKTsKK30KKworc3RhdGljIHZvaWQgeGVuX3FkaXNrX2Rpc2Nvbm5lY3QoWGVuUWRpc2tEZXZp Y2UgKnFkaXNrZGV2LCBFcnJvciAqKmVycnApCit7CisgICAgWGVuUWRpc2tWZGV2ICp2ZGV2ID0g JnFkaXNrZGV2LT52ZGV2OworCisgICAgdHJhY2VfeGVuX3FkaXNrX2Rpc2Nvbm5lY3QodmRldi0+ ZGlzaywgdmRldi0+cGFydGl0aW9uKTsKK30KKworc3RhdGljIHZvaWQgeGVuX3FkaXNrX2Zyb250 ZW5kX2NoYW5nZWQoWGVuRGV2aWNlICp4ZW5kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbnVtIHhlbmJ1c19zdGF0ZSBmcm9udGVuZF9zdGF0ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKK3sKKyAgICBYZW5R ZGlza0RldmljZSAqcWRpc2tkZXYgPSBYRU5fUURJU0tfREVWSUNFKHhlbmRldik7CisgICAgZW51 bSB4ZW5idXNfc3RhdGUgYmFja2VuZF9zdGF0ZSA9IHhlbl9kZXZpY2VfYmFja2VuZF9nZXRfc3Rh dGUoeGVuZGV2KTsKKyAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKworICAgIHN3aXRjaCAo ZnJvbnRlbmRfc3RhdGUpIHsKKyAgICBjYXNlIFhlbmJ1c1N0YXRlSW5pdGlhbGlzZWQ6CisgICAg Y2FzZSBYZW5idXNTdGF0ZUNvbm5lY3RlZDoKKyAgICAgICAgaWYgKGJhY2tlbmRfc3RhdGUgPT0g WGVuYnVzU3RhdGVDb25uZWN0ZWQpIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK KyAgICAgICAgeGVuX3FkaXNrX2Rpc2Nvbm5lY3QocWRpc2tkZXYsICZlcnJvcl9mYXRhbCk7Cisg ICAgICAgIHhlbl9xZGlza19jb25uZWN0KHFkaXNrZGV2LCAmbG9jYWxfZXJyKTsKKyAgICAgICAg aWYgKGxvY2FsX2VycikgeworICAgICAgICAgICAgZXJyb3JfcHJvcGFnYXRlKGVycnAsIGxvY2Fs X2Vycik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHhlbl9kZXZp Y2VfYmFja2VuZF9zZXRfc3RhdGUoeGVuZGV2LCBYZW5idXNTdGF0ZUNvbm5lY3RlZCk7CisgICAg ICAgIGJyZWFrOworCisgICAgY2FzZSBYZW5idXNTdGF0ZUNsb3Npbmc6CisgICAgICAgIHhlbl9k ZXZpY2VfYmFja2VuZF9zZXRfc3RhdGUoeGVuZGV2LCBYZW5idXNTdGF0ZUNsb3NpbmcpOworICAg ICAgICBicmVhazsKKworICAgIGNhc2UgWGVuYnVzU3RhdGVDbG9zZWQ6CisgICAgICAgIHhlbl9x ZGlza19kaXNjb25uZWN0KHFkaXNrZGV2LCAmZXJyb3JfZmF0YWwpOworICAgICAgICB4ZW5fZGV2 aWNlX2JhY2tlbmRfc2V0X3N0YXRlKHhlbmRldiwgWGVuYnVzU3RhdGVDbG9zZWQpOworICAgICAg ICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKwogc3Rh dGljIHZvaWQgeGVuX3FkaXNrX3VucmVhbGl6ZShYZW5EZXZpY2UgKnhlbmRldiwgRXJyb3IgKipl cnJwKQogewogICAgIFhlblFkaXNrRGV2aWNlICpxZGlza2RldiA9IFhFTl9RRElTS19ERVZJQ0Uo eGVuZGV2KTsKICAgICBYZW5RZGlza1ZkZXYgKnZkZXYgPSAmcWRpc2tkZXYtPnZkZXY7CiAKICAg ICB0cmFjZV94ZW5fcWRpc2tfdW5yZWFsaXplKHZkZXYtPmRpc2ssIHZkZXYtPnBhcnRpdGlvbik7 CisKKyAgICB4ZW5fcWRpc2tfZGlzY29ubmVjdChxZGlza2RldiwgJmVycm9yX2ZhdGFsKTsKIH0K IAogc3RhdGljIGNoYXIgKmRpc2tfdG9fdmJkX25hbWUodW5zaWduZWQgaW50IGRpc2spCkBAIC0y NDYsNiArMzAxLDcgQEAgc3RhdGljIHZvaWQgeGVuX3FkaXNrX2NsYXNzX2luaXQoT2JqZWN0Q2xh c3MgKmNsYXNzLCB2b2lkICpkYXRhKQogICAgIHhlbmRldl9jbGFzcy0+ZGV2aWNlID0gInZiZCI7 CiAgICAgeGVuZGV2X2NsYXNzLT5nZXRfbmFtZSA9IHhlbl9xZGlza19nZXRfbmFtZTsKICAgICB4 ZW5kZXZfY2xhc3MtPnJlYWxpemUgPSB4ZW5fcWRpc2tfcmVhbGl6ZTsKKyAgICB4ZW5kZXZfY2xh c3MtPmZyb250ZW5kX2NoYW5nZWQgPSB4ZW5fcWRpc2tfZnJvbnRlbmRfY2hhbmdlZDsKICAgICB4 ZW5kZXZfY2xhc3MtPnVucmVhbGl6ZSA9IHhlbl9xZGlza191bnJlYWxpemU7CiAKICAgICBkZXZf Y2xhc3MtPmRlc2MgPSAiWGVuIFFkaXNrIERldmljZSI7CmRpZmYgLS1naXQgYS9ody94ZW4vdHJh Y2UtZXZlbnRzIGIvaHcveGVuL3RyYWNlLWV2ZW50cwppbmRleCBmYThhZWExZGExLi45NGM0NmMy ZTM0IDEwMDY0NAotLS0gYS9ody94ZW4vdHJhY2UtZXZlbnRzCisrKyBiL2h3L3hlbi90cmFjZS1l dmVudHMKQEAgLTE2LDcgKzE2LDExIEBAIHhlbl9kb21pZF9yZXN0cmljdChpbnQgZXJyKSAiZXJy OiAldSIKICMgaW5jbHVkZS9ody94ZW4veGVuLWJ1cy5jCiB4ZW5fYnVzX3JlYWxpemUodm9pZCkg IiIKIHhlbl9idXNfdW5yZWFsaXplKHZvaWQpICIiCit4ZW5fYnVzX2FkZF93YXRjaChjb25zdCBj aGFyICpub2RlLCBjb25zdCBjaGFyICprZXksIGNoYXIgKnRva2VuKSAibm9kZTogJXMga2V5OiAl cyB0b2tlbjogJXMiCit4ZW5fYnVzX3JlbW92ZV93YXRjaChjb25zdCBjaGFyICpub2RlLCBjb25z dCBjaGFyICprZXksIGNoYXIgKnRva2VuKSAibm9kZTogJXMga2V5OiAlcyB0b2tlbjogJXMiCit4 ZW5fYnVzX3dhdGNoKGNvbnN0IGNoYXIgKnRva2VuKSAidG9rZW46ICVzIgogeGVuX2RldmljZV9y ZWFsaXplKGNvbnN0IGNoYXIgKnR5cGUsIGNoYXIgKm5hbWUpICJ0eXBlOiAlcyBuYW1lOiAlcyIK IHhlbl9kZXZpY2VfdW5yZWFsaXplKGNvbnN0IGNoYXIgKnR5cGUsIGNoYXIgKm5hbWUpICJ0eXBl OiAlcyBuYW1lOiAlcyIKIHhlbl9kZXZpY2VfYmFja2VuZF9zdGF0ZShjb25zdCBjaGFyICp0eXBl LCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpzdGF0ZSkgInR5cGU6ICVzIG5hbWU6ICVzIC0+ICVz IgogeGVuX2RldmljZV9mcm9udGVuZF9zdGF0ZShjb25zdCBjaGFyICp0eXBlLCBjaGFyICpuYW1l LCBjb25zdCBjaGFyICpzdGF0ZSkgInR5cGU6ICVzIG5hbWU6ICVzIC0+ICVzIgoreGVuX2Rldmlj ZV9mcm9udGVuZF9jaGFuZ2VkKGNvbnN0IGNoYXIgKnR5cGUsIGNoYXIgKm5hbWUpICJ0eXBlOiAl cyBuYW1lOiAlcyIKZGlmZiAtLWdpdCBhL2h3L3hlbi94ZW4tYnVzLWhlbHBlci5jIGIvaHcveGVu L3hlbi1idXMtaGVscGVyLmMKaW5kZXggZDllZTJlZDZhMC4uYjQ0YWNjODA0NyAxMDA2NDQKLS0t IGEvaHcveGVuL3hlbi1idXMtaGVscGVyLmMKKysrIGIvaHcveGVuL3hlbi1idXMtaGVscGVyLmMK QEAgLTEyMiwzICsxMjIsMzEgQEAgaW50IHhzX25vZGVfc2NhbmYoc3RydWN0IHhzX2hhbmRsZSAq eHNoLCBjb25zdCBjaGFyICpub2RlLCBjb25zdCBjaGFyICprZXksCiAKICAgICByZXR1cm4gcmM7 CiB9CisKK3ZvaWQgeHNfbm9kZV93YXRjaChzdHJ1Y3QgeHNfaGFuZGxlICp4c2gsIGNvbnN0IGNo YXIgKm5vZGUsIGNvbnN0IGNoYXIgKmtleSwKKyAgICAgICAgICAgICAgICAgICBjaGFyICp0b2tl biwgRXJyb3IgKiplcnJwKQoreworICAgIGNoYXIgKnBhdGg7CisKKyAgICBwYXRoID0gKHN0cmxl bihub2RlKSAhPSAwKSA/IGdfc3RyZHVwX3ByaW50ZigiJXMvJXMiLCBub2RlLCBrZXkpIDoKKyAg ICAgICAgZ19zdHJkdXAoa2V5KTsKKworICAgIGlmICgheHNfd2F0Y2goeHNoLCBwYXRoLCB0b2tl bikpIHsKKyAgICAgICAgZXJyb3Jfc2V0Z19lcnJubyhlcnJwLCBlcnJubywgImZhaWxlZCB0byB3 YXRjaCBwYXRoICclcyciLCBwYXRoKTsKKyAgICB9CisKKyAgICBnX2ZyZWUocGF0aCk7Cit9CisK K3ZvaWQgeHNfbm9kZV91bndhdGNoKHN0cnVjdCB4c19oYW5kbGUgKnhzaCwgY29uc3QgY2hhciAq bm9kZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAq dG9rZW4pCit7CisgICAgY2hhciAqcGF0aDsKKworICAgIHBhdGggPSAoc3RybGVuKG5vZGUpICE9 IDApID8gZ19zdHJkdXBfcHJpbnRmKCIlcy8lcyIsIG5vZGUsIGtleSkgOgorICAgICAgICBnX3N0 cmR1cChrZXkpOworCisgICAgeHNfdW53YXRjaCh4c2gsIHBhdGgsIHRva2VuKTsKKworICAgIGdf ZnJlZShwYXRoKTsKK30KZGlmZiAtLWdpdCBhL2h3L3hlbi94ZW4tYnVzLmMgYi9ody94ZW4veGVu LWJ1cy5jCmluZGV4IDY2M2FhOGUxMTcuLjk5OTg4Zjg1NjggMTAwNjQ0Ci0tLSBhL2h3L3hlbi94 ZW4tYnVzLmMKKysrIGIvaHcveGVuL3hlbi1idXMuYwpAQCAtNCw2ICs0LDkgQEAKICAqLwogCiAj aW5jbHVkZSAicWVtdS9vc2RlcC5oIgorI2luY2x1ZGUgInFlbXUvZXJyb3ItcmVwb3J0LmgiCisj aW5jbHVkZSAicWVtdS9tYWluLWxvb3AuaCIKKyNpbmNsdWRlICJxZW11L3V1aWQuaCIKICNpbmNs dWRlICJody9ody5oIgogI2luY2x1ZGUgImh3L3N5c2J1cy5oIgogI2luY2x1ZGUgImh3L3hlbi94 ZW4uaCIKQEAgLTU3LDYgKzYwLDc4IEBAIHN0YXRpYyBjaGFyICp4ZW5fYnVzX2dldF9kZXZfcGF0 aChEZXZpY2VTdGF0ZSAqZGV2KQogICAgIHJldHVybiB4ZW5fZGV2aWNlX2dldF9iYWNrZW5kX3Bh dGgoWEVOX0RFVklDRShkZXYpKTsKIH0KIAorc3RydWN0IFhlbldhdGNoIHsKKyAgICBjaGFyICpu b2RlLCAqa2V5OworICAgIGNoYXIgKnRva2VuOworICAgIFhlbldhdGNoSGFuZGxlciBoYW5kbGVy OworICAgIHZvaWQgKm9wYXF1ZTsKKyAgICBOb3RpZmllciBub3RpZmllcjsKK307CisKK3N0YXRp YyB2b2lkIHdhdGNoX25vdGlmeShOb3RpZmllciAqbiwgdm9pZCAqZGF0YSkKK3sKKyAgICBYZW5X YXRjaCAqd2F0Y2ggPSBjb250YWluZXJfb2YobiwgWGVuV2F0Y2gsIG5vdGlmaWVyKTsKKyAgICBj b25zdCBjaGFyICp0b2tlbiA9IGRhdGE7CisKKyAgICBpZiAoIXN0cmNtcCh3YXRjaC0+dG9rZW4s IHRva2VuKSkgeworICAgICAgICB3YXRjaC0+aGFuZGxlcih3YXRjaC0+b3BhcXVlKTsKKyAgICB9 Cit9CisKK3N0YXRpYyBYZW5XYXRjaCAqeGVuX2J1c19hZGRfd2F0Y2goWGVuQnVzICp4ZW5idXMs IGNvbnN0IGNoYXIgKm5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IGNoYXIgKmtleSwgWGVuV2F0Y2hIYW5kbGVyIGhhbmRsZXIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1ZSwgRXJyb3IgKiplcnJwKQoreworICAgIFhl bldhdGNoICp3YXRjaCA9IGdfbmV3MChYZW5XYXRjaCwgMSk7CisgICAgUWVtdVVVSUQgdXVpZDsK KyAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKworICAgIHFlbXVfdXVpZF9nZW5lcmF0ZSgm dXVpZCk7CisgICAgd2F0Y2gtPnRva2VuID0gcWVtdV91dWlkX3VucGFyc2Vfc3RyZHVwKCZ1dWlk KTsKKworICAgIHRyYWNlX3hlbl9idXNfYWRkX3dhdGNoKG5vZGUsIGtleSwgd2F0Y2gtPnRva2Vu KTsKKworICAgIHdhdGNoLT5ub2RlID0gZ19zdHJkdXAobm9kZSk7CisgICAgd2F0Y2gtPmtleSA9 IGdfc3RyZHVwKGtleSk7CisgICAgd2F0Y2gtPmhhbmRsZXIgPSBoYW5kbGVyOworICAgIHdhdGNo LT5vcGFxdWUgPSBvcGFxdWU7CisgICAgd2F0Y2gtPm5vdGlmaWVyLm5vdGlmeSA9IHdhdGNoX25v dGlmeTsKKworICAgIG5vdGlmaWVyX2xpc3RfYWRkKCZ4ZW5idXMtPndhdGNoX25vdGlmaWVycywg JndhdGNoLT5ub3RpZmllcik7CisKKyAgICB4c19ub2RlX3dhdGNoKHhlbmJ1cy0+eHNoLCBub2Rl LCBrZXksIHdhdGNoLT50b2tlbiwgJmxvY2FsX2Vycik7CisKKyAgICBpZiAobG9jYWxfZXJyKSB7 CisgICAgICAgIGVycm9yX3Byb3BhZ2F0ZShlcnJwLCBsb2NhbF9lcnIpOworCisgICAgICAgIG5v dGlmaWVyX3JlbW92ZSgmd2F0Y2gtPm5vdGlmaWVyKTsKKworICAgICAgICBnX2ZyZWUod2F0Y2gt PnRva2VuKTsKKyAgICAgICAgZ19mcmVlKHdhdGNoLT5rZXkpOworICAgICAgICBnX2ZyZWUod2F0 Y2gtPm5vZGUpOworCisgICAgICAgIGdfZnJlZSh3YXRjaCk7CisgICAgICAgIHdhdGNoID0gTlVM TDsKKyAgICB9CisKKyAgICByZXR1cm4gd2F0Y2g7Cit9CisKK3N0YXRpYyB2b2lkIHhlbl9idXNf cmVtb3ZlX3dhdGNoKFhlbkJ1cyAqeGVuYnVzLCBYZW5XYXRjaCAqd2F0Y2gpCit7CisgICAgdHJh Y2VfeGVuX2J1c19yZW1vdmVfd2F0Y2god2F0Y2gtPm5vZGUsIHdhdGNoLT5rZXksIHdhdGNoLT50 b2tlbik7CisKKyAgICB4c19ub2RlX3Vud2F0Y2goeGVuYnVzLT54c2gsIHdhdGNoLT5ub2RlLCB3 YXRjaC0+a2V5LCB3YXRjaC0+dG9rZW4pOworCisgICAgbm90aWZpZXJfcmVtb3ZlKCZ3YXRjaC0+ bm90aWZpZXIpOworCisgICAgZ19mcmVlKHdhdGNoLT50b2tlbik7CisgICAgZ19mcmVlKHdhdGNo LT5rZXkpOworICAgIGdfZnJlZSh3YXRjaC0+bm9kZSk7CisKKyAgICBnX2ZyZWUod2F0Y2gpOwor fQorCiBzdGF0aWMgdm9pZCB4ZW5fYnVzX3VucmVhbGl6ZShCdXNTdGF0ZSAqYnVzLCBFcnJvciAq KmVycnApCiB7CiAgICAgWGVuQnVzICp4ZW5idXMgPSBYRU5fQlVTKGJ1cyk7CkBAIC02Nyw5ICsx NDIsMzQgQEAgc3RhdGljIHZvaWQgeGVuX2J1c191bnJlYWxpemUoQnVzU3RhdGUgKmJ1cywgRXJy b3IgKiplcnJwKQogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgcWVtdV9zZXRfZmRfaGFu ZGxlcih4c19maWxlbm8oeGVuYnVzLT54c2gpLCBOVUxMLCBOVUxMLCBOVUxMKTsKKwogICAgIHhz X2Nsb3NlKHhlbmJ1cy0+eHNoKTsKIH0KIAorc3RhdGljIHZvaWQgeGVuX2J1c193YXRjaCh2b2lk ICpvcGFxdWUpCit7CisgICAgWGVuQnVzICp4ZW5idXMgPSBvcGFxdWU7CisgICAgY2hhciAqKnY7 CisgICAgY29uc3QgY2hhciAqdG9rZW47CisgICAgdW5zaWduZWQgaW50IG47CisKKyAgICBnX2Fz c2VydCh4ZW5idXMtPnhzaCk7CisKKyAgICB2ID0geHNfcmVhZF93YXRjaCh4ZW5idXMtPnhzaCwg Jm4pOworICAgIGlmICghdikgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdG9rZW4g PSB2W1hTX1dBVENIX1RPS0VOXTsKKworICAgIHRyYWNlX3hlbl9idXNfd2F0Y2godG9rZW4pOwor CisgICAgbm90aWZpZXJfbGlzdF9ub3RpZnkoJnhlbmJ1cy0+d2F0Y2hfbm90aWZpZXJzLCAodm9p ZCAqKXRva2VuKTsKKworICAgIGZyZWUodik7Cit9CisKIHN0YXRpYyB2b2lkIHhlbl9idXNfcmVh bGl6ZShCdXNTdGF0ZSAqYnVzLCBFcnJvciAqKmVycnApCiB7CiAgICAgWGVuQnVzICp4ZW5idXMg PSBYRU5fQlVTKGJ1cyk7CkBAIC05MCw2ICsxOTAsOSBAQCBzdGF0aWMgdm9pZCB4ZW5fYnVzX3Jl YWxpemUoQnVzU3RhdGUgKmJ1cywgRXJyb3IgKiplcnJwKQogICAgICAgICB4ZW5idXMtPmJhY2tl bmRfaWQgPSAwOyAvKiBBc3N1bWUgbGFjayBvZiBub2RlIG1lYW5zIGRvbTAgKi8KICAgICB9CiAK KyAgICBub3RpZmllcl9saXN0X2luaXQoJnhlbmJ1cy0+d2F0Y2hfbm90aWZpZXJzKTsKKyAgICBx ZW11X3NldF9mZF9oYW5kbGVyKHhzX2ZpbGVubyh4ZW5idXMtPnhzaCksIHhlbl9idXNfd2F0Y2gs IE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICB4ZW5idXMpOwogICAgIHJldHVybjsKIAog ZmFpbDoKQEAgLTEyNyw4ICsyMzAsMjUgQEAgc3RhdGljIHZvaWQgeGVuX2RldmljZV9iYWNrZW5k X3ByaW50ZihYZW5EZXZpY2UgKnhlbmRldiwgY29uc3QgY2hhciAqa2V5LAogICAgIHZhX2VuZChh cCk7CiB9CiAKLXN0YXRpYyB2b2lkIHhlbl9kZXZpY2VfYmFja2VuZF9zZXRfc3RhdGUoWGVuRGV2 aWNlICp4ZW5kZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVu dW0geGVuYnVzX3N0YXRlIHN0YXRlKQorc3RhdGljIGludCB4ZW5fZGV2aWNlX2JhY2tlbmRfc2Nh bmYoWGVuRGV2aWNlICp4ZW5kZXYsIGNvbnN0IGNoYXIgKmtleSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworICAgIFhlbkJ1cyAq eGVuYnVzID0gWEVOX0JVUyhxZGV2X2dldF9wYXJlbnRfYnVzKERFVklDRSh4ZW5kZXYpKSk7Cisg ICAgdmFfbGlzdCBhcDsKKyAgICBpbnQgcmM7CisKKyAgICBnX2Fzc2VydCh4ZW5idXMtPnhzaCk7 CisKKyAgICB2YV9zdGFydChhcCwgZm10KTsKKyAgICByYyA9IHhzX25vZGVfdnNjYW5mKHhlbmJ1 cy0+eHNoLCB4ZW5kZXYtPmJhY2tlbmRfcGF0aCwga2V5LCBmbXQsCisgICAgICAgICAgICAgICAg ICAgICAgICBhcCk7CisgICAgdmFfZW5kKGFwKTsKKworICAgIHJldHVybiByYzsKK30KKwordm9p ZCB4ZW5fZGV2aWNlX2JhY2tlbmRfc2V0X3N0YXRlKFhlbkRldmljZSAqeGVuZGV2LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0geGVuYnVzX3N0YXRlIHN0YXRlKQogewog ICAgIGNvbnN0IGNoYXIgKnR5cGUgPSBvYmplY3RfZ2V0X3R5cGVuYW1lKE9CSkVDVCh4ZW5kZXYp KTsKIApAQCAtMTQzLDYgKzI2MywxMSBAQCBzdGF0aWMgdm9pZCB4ZW5fZGV2aWNlX2JhY2tlbmRf c2V0X3N0YXRlKFhlbkRldmljZSAqeGVuZGV2LAogICAgIHhlbl9kZXZpY2VfYmFja2VuZF9wcmlu dGYoeGVuZGV2LCAic3RhdGUiLCAiJXUiLCBzdGF0ZSk7CiB9CiAKK2VudW0geGVuYnVzX3N0YXRl IHhlbl9kZXZpY2VfYmFja2VuZF9nZXRfc3RhdGUoWGVuRGV2aWNlICp4ZW5kZXYpCit7CisgICAg cmV0dXJuIHhlbmRldi0+YmFja2VuZF9zdGF0ZTsKK30KKwogc3RhdGljIHZvaWQgeGVuX2Rldmlj ZV9iYWNrZW5kX2NyZWF0ZShYZW5EZXZpY2UgKnhlbmRldiwgRXJyb3IgKiplcnJwKQogewogICAg IFhlbkJ1cyAqeGVuYnVzID0gWEVOX0JVUyhxZGV2X2dldF9wYXJlbnRfYnVzKERFVklDRSh4ZW5k ZXYpKSk7CkBAIC0xOTMsNiArMzE4LDIzIEBAIHN0YXRpYyB2b2lkIHhlbl9kZXZpY2VfZnJvbnRl bmRfcHJpbnRmKFhlbkRldmljZSAqeGVuZGV2LCBjb25zdCBjaGFyICprZXksCiAgICAgdmFfZW5k KGFwKTsKIH0KIAorc3RhdGljIGludCB4ZW5fZGV2aWNlX2Zyb250ZW5kX3NjYW5mKFhlbkRldmlj ZSAqeGVuZGV2LCBjb25zdCBjaGFyICprZXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworICAgIFhlbkJ1cyAqeGVuYnVzID0g WEVOX0JVUyhxZGV2X2dldF9wYXJlbnRfYnVzKERFVklDRSh4ZW5kZXYpKSk7CisgICAgdmFfbGlz dCBhcDsKKyAgICBpbnQgcmM7CisKKyAgICBnX2Fzc2VydCh4ZW5idXMtPnhzaCk7CisKKyAgICB2 YV9zdGFydChhcCwgZm10KTsKKyAgICByYyA9IHhzX25vZGVfdnNjYW5mKHhlbmJ1cy0+eHNoLCB4 ZW5kZXYtPmZyb250ZW5kX3BhdGgsIGtleSwgZm10LAorICAgICAgICAgICAgICAgICAgICAgICAg YXApOworICAgIHZhX2VuZChhcCk7CisKKyAgICByZXR1cm4gcmM7Cit9CisKIHN0YXRpYyB2b2lk IHhlbl9kZXZpY2VfZnJvbnRlbmRfc2V0X3N0YXRlKFhlbkRldmljZSAqeGVuZGV2LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSB4ZW5idXNfc3RhdGUgc3Rh dGUpCiB7CkBAIC0yMDksNiArMzUxLDUzIEBAIHN0YXRpYyB2b2lkIHhlbl9kZXZpY2VfZnJvbnRl bmRfc2V0X3N0YXRlKFhlbkRldmljZSAqeGVuZGV2LAogICAgIHhlbl9kZXZpY2VfZnJvbnRlbmRf cHJpbnRmKHhlbmRldiwgInN0YXRlIiwgIiV1Iiwgc3RhdGUpOwogfQogCitzdGF0aWMgdm9pZCB4 ZW5fZGV2aWNlX2Zyb250ZW5kX2NoYW5nZWQodm9pZCAqb3BhcXVlKQoreworICAgIFhlbkRldmlj ZSAqeGVuZGV2ID0gb3BhcXVlOworICAgIFhlbkRldmljZUNsYXNzICp4ZW5kZXZfY2xhc3MgPSBY RU5fREVWSUNFX0dFVF9DTEFTUyh4ZW5kZXYpOworICAgIGNvbnN0IGNoYXIgKnR5cGUgPSBvYmpl Y3RfZ2V0X3R5cGVuYW1lKE9CSkVDVCh4ZW5kZXYpKTsKKyAgICBlbnVtIHhlbmJ1c19zdGF0ZSBz dGF0ZTsKKworICAgIHRyYWNlX3hlbl9kZXZpY2VfZnJvbnRlbmRfY2hhbmdlZCh0eXBlLCB4ZW5k ZXYtPm5hbWUpOworCisgICAgaWYgKHhlbl9kZXZpY2VfZnJvbnRlbmRfc2NhbmYoeGVuZGV2LCAi c3RhdGUiLCAiJXUiLCAmc3RhdGUpICE9IDEpIHsKKyAgICAgICAgc3RhdGUgPSBYZW5idXNTdGF0 ZVVua25vd247CisgICAgfQorCisgICAgeGVuX2RldmljZV9mcm9udGVuZF9zZXRfc3RhdGUoeGVu ZGV2LCBzdGF0ZSk7CisKKyAgICBpZiAoeGVuZGV2X2NsYXNzLT5mcm9udGVuZF9jaGFuZ2VkKSB7 CisgICAgICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOworCisgICAgICAgIHhlbmRldl9jbGFz cy0+ZnJvbnRlbmRfY2hhbmdlZCh4ZW5kZXYsIHN0YXRlLCAmbG9jYWxfZXJyKTsKKworICAgICAg ICBpZiAobG9jYWxfZXJyKSB7CisgICAgICAgICAgICBjb25zdCBjaGFyICptc2cgPSBlcnJvcl9n ZXRfcHJldHR5KGxvY2FsX2Vycik7CisKKyAgICAgICAgICAgIGVycm9yX3JlcG9ydCgiZnJvbnRl bmQgY2hhbmdlIGVycm9yOiAlcyIsIG1zZyk7CisgICAgICAgICAgICBlcnJvcl9mcmVlKGxvY2Fs X2Vycik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKgorICAgICAqIElmIGEgYmFja2VuZCBp cyBzdGlsbCAnb25saW5lJyB0aGVuIGl0cyBzdGF0ZSBzaG91bGQgYmUgY3ljbGVkCisgICAgICog YmFjayByb3VuZCB0byBJbml0V2FpdCBpbiBvcmRlciBmb3IgYSBuZXcgZnJvbnRlbmQgaW5zdGFu Y2UgdG8KKyAgICAgKiBjb25uZWN0LiBUaGlzIG1heSBoYXBwZW4gd2hlbiwgZm9yIGV4YW1wbGUs IGEgZnJvbnRlbmQgZHJpdmVyIGlzCisgICAgICogcmUtaW5zdGFsbGVkIG9yIHVwZGF0ZWQuCisg ICAgICovCisgICAgaWYgKHhlbmRldi0+YmFja2VuZF9zdGF0ZSA9PSBYZW5idXNTdGF0ZUNsb3Nl ZCkgeworICAgICAgICB1bnNpZ25lZCBpbnQgb25saW5lOworCisgICAgICAgIGlmICh4ZW5fZGV2 aWNlX2JhY2tlbmRfc2NhbmYoeGVuZGV2LCAib25saW5lIiwgIiV1IiwgJm9ubGluZSkgIT0gMSkg eworICAgICAgICAgICAgb25saW5lID0gMDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChvbmxp bmUpIHsKKyAgICAgICAgICAgIHhlbl9kZXZpY2VfYmFja2VuZF9zZXRfc3RhdGUoeGVuZGV2LCBY ZW5idXNTdGF0ZUluaXRXYWl0KTsKKyAgICAgICAgfQorICAgIH0KK30KKwogc3RhdGljIHZvaWQg eGVuX2RldmljZV9mcm9udGVuZF9jcmVhdGUoWGVuRGV2aWNlICp4ZW5kZXYsIEVycm9yICoqZXJy cCkKIHsKICAgICBYZW5CdXMgKnhlbmJ1cyA9IFhFTl9CVVMocWRldl9nZXRfcGFyZW50X2J1cyhE RVZJQ0UoeGVuZGV2KSkpOwpAQCAtMjMwLDEyICs0MTksMjQgQEAgc3RhdGljIHZvaWQgeGVuX2Rl dmljZV9mcm9udGVuZF9jcmVhdGUoWGVuRGV2aWNlICp4ZW5kZXYsIEVycm9yICoqZXJycCkKICAg ICAgICAgZXJyb3JfcHJvcGFnYXRlKGVycnAsIGxvY2FsX2Vycik7CiAgICAgICAgIGVycm9yX3By ZXBlbmQoZXJycCwgImZhaWxlZCB0byBjcmVhdGUgZnJvbnRlbmQ6ICIpOwogICAgIH0KKworICAg IHhlbmRldi0+ZnJvbnRlbmRfc3RhdGVfd2F0Y2ggPQorICAgICAgICB4ZW5fYnVzX2FkZF93YXRj aCh4ZW5idXMsIHhlbmRldi0+ZnJvbnRlbmRfcGF0aCwgInN0YXRlIiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgeGVuX2RldmljZV9mcm9udGVuZF9jaGFuZ2VkLCB4ZW5kZXYsICZsb2NhbF9l cnIpOworICAgIGlmIChsb2NhbF9lcnIpIHsKKyAgICAgICAgZXJyb3JfcHJvcGFnYXRlKGVycnAs IGxvY2FsX2Vycik7CisgICAgICAgIGVycm9yX3ByZXBlbmQoZXJycCwgImZhaWxlZCB0byB3YXRj aCBmcm9udGVuZCBzdGF0ZTogIik7CisgICAgfQogfQogCiBzdGF0aWMgdm9pZCB4ZW5fZGV2aWNl X2Zyb250ZW5kX2Rlc3Ryb3koWGVuRGV2aWNlICp4ZW5kZXYpCiB7CiAgICAgWGVuQnVzICp4ZW5i dXMgPSBYRU5fQlVTKHFkZXZfZ2V0X3BhcmVudF9idXMoREVWSUNFKHhlbmRldikpKTsKIAorICAg IGlmICh4ZW5kZXYtPmZyb250ZW5kX3N0YXRlX3dhdGNoKSB7CisgICAgICAgIHhlbl9idXNfcmVt b3ZlX3dhdGNoKHhlbmJ1cywgeGVuZGV2LT5mcm9udGVuZF9zdGF0ZV93YXRjaCk7CisgICAgfQor CiAgICAgaWYgKCF4ZW5kZXYtPmZyb250ZW5kX3BhdGgpIHsKICAgICAgICAgcmV0dXJuOwogICAg IH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVuL3hlbi1idXMtaGVscGVyLmggYi9pbmNsdWRl L2h3L3hlbi94ZW4tYnVzLWhlbHBlci5oCmluZGV4IDUzNTcwNjUwZGIuLjNiODhlZmFhMGMgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvaHcveGVuL3hlbi1idXMtaGVscGVyLmgKKysrIGIvaW5jbHVkZS9o dy94ZW4veGVuLWJ1cy1oZWxwZXIuaApAQCAtMjMsNCArMjMsOSBAQCBpbnQgeHNfbm9kZV92c2Nh bmYoc3RydWN0IHhzX2hhbmRsZSAqeHNoLCBjb25zdCBjaGFyICpub2RlLCBjb25zdCBjaGFyICpr ZXksCiBpbnQgeHNfbm9kZV9zY2FuZihzdHJ1Y3QgeHNfaGFuZGxlICp4c2gsIGNvbnN0IGNoYXIg Km5vZGUsIGNvbnN0IGNoYXIgKmtleSwKICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZt dCwgLi4uKTsKIAordm9pZCB4c19ub2RlX3dhdGNoKHN0cnVjdCB4c19oYW5kbGUgKnhzaCwgY29u c3QgY2hhciAqbm9kZSwgY29uc3QgY2hhciAqa2V5LAorICAgICAgICAgICAgICAgICAgIGNoYXIg KnRva2VuLCBFcnJvciAqKmVycnApOwordm9pZCB4c19ub2RlX3Vud2F0Y2goc3RydWN0IHhzX2hh bmRsZSAqeHNoLCBjb25zdCBjaGFyICpub2RlLCBjb25zdCBjaGFyICprZXksCisgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICp0b2tlbik7CisKICNlbmRpZiAvKiBIV19YRU5fQlVTX0hF TFBFUl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3hlbi94ZW4tYnVzLmggYi9pbmNsdWRl L2h3L3hlbi94ZW4tYnVzLmgKaW5kZXggNDM0ZDFkYmY1OC4uOTU0MTQ5ZTUxYiAxMDA2NDQKLS0t IGEvaW5jbHVkZS9ody94ZW4veGVuLWJ1cy5oCisrKyBiL2luY2x1ZGUvaHcveGVuL3hlbi1idXMu aApAQCAtOCw2ICs4LDExIEBACiAKICNpbmNsdWRlICJody94ZW4veGVuX2NvbW1vbi5oIgogI2lu Y2x1ZGUgImh3L3N5c2J1cy5oIgorI2luY2x1ZGUgInFlbXUvbm90aWZ5LmgiCisKK3R5cGVkZWYg dm9pZCAoKlhlbldhdGNoSGFuZGxlcikodm9pZCAqb3BhcXVlKTsKKwordHlwZWRlZiBzdHJ1Y3Qg WGVuV2F0Y2ggWGVuV2F0Y2g7CiAKIHR5cGVkZWYgc3RydWN0IFhlbkRldmljZSB7CiAgICAgRGV2 aWNlU3RhdGUgcWRldjsKQEAgLTE2LDEwICsyMSwxNCBAQCB0eXBlZGVmIHN0cnVjdCBYZW5EZXZp Y2UgewogICAgIGNoYXIgKmJhY2tlbmRfcGF0aCwgKmZyb250ZW5kX3BhdGg7CiAgICAgZW51bSB4 ZW5idXNfc3RhdGUgYmFja2VuZF9zdGF0ZSwgZnJvbnRlbmRfc3RhdGU7CiAgICAgTm90aWZpZXIg ZXhpdDsKKyAgICBYZW5XYXRjaCAqZnJvbnRlbmRfc3RhdGVfd2F0Y2g7CiB9IFhlbkRldmljZTsK IAogdHlwZWRlZiBjaGFyICooKlhlbkRldmljZUdldE5hbWUpKFhlbkRldmljZSAqeGVuZGV2LCBF cnJvciAqKmVycnApOwogdHlwZWRlZiB2b2lkICgqWGVuRGV2aWNlUmVhbGl6ZSkoWGVuRGV2aWNl ICp4ZW5kZXYsIEVycm9yICoqZXJycCk7Cit0eXBlZGVmIHZvaWQgKCpYZW5EZXZpY2VGcm9udGVu ZENoYW5nZWQpKFhlbkRldmljZSAqeGVuZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbnVtIHhlbmJ1c19zdGF0ZSBmcm9udGVuZF9zdGF0ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKTsKIHR5cGVkZWYg dm9pZCAoKlhlbkRldmljZVVucmVhbGl6ZSkoWGVuRGV2aWNlICp4ZW5kZXYsIEVycm9yICoqZXJy cCk7CiAKIHR5cGVkZWYgc3RydWN0IFhlbkRldmljZUNsYXNzIHsKQEAgLTMwLDYgKzM5LDcgQEAg dHlwZWRlZiBzdHJ1Y3QgWGVuRGV2aWNlQ2xhc3MgewogICAgIGNvbnN0IGNoYXIgKmRldmljZTsK ICAgICBYZW5EZXZpY2VHZXROYW1lIGdldF9uYW1lOwogICAgIFhlbkRldmljZVJlYWxpemUgcmVh bGl6ZTsKKyAgICBYZW5EZXZpY2VGcm9udGVuZENoYW5nZWQgZnJvbnRlbmRfY2hhbmdlZDsKICAg ICBYZW5EZXZpY2VVbnJlYWxpemUgdW5yZWFsaXplOwogfSBYZW5EZXZpY2VDbGFzczsKIApAQCAt NDUsNiArNTUsNyBAQCB0eXBlZGVmIHN0cnVjdCBYZW5CdXMgewogICAgIEJ1c1N0YXRlIHFidXM7 CiAgICAgZG9taWRfdCBiYWNrZW5kX2lkOwogICAgIHN0cnVjdCB4c19oYW5kbGUgKnhzaDsKKyAg ICBOb3RpZmllckxpc3Qgd2F0Y2hfbm90aWZpZXJzOwogfSBYZW5CdXM7CiAKIHR5cGVkZWYgc3Ry dWN0IFhlbkJ1c0NsYXNzIHsKQEAgLTYyLDQgKzczLDggQEAgdHlwZWRlZiBzdHJ1Y3QgWGVuQnVz Q2xhc3MgewogCiB2b2lkIHhlbl9idXNfaW5pdCh2b2lkKTsKIAordm9pZCB4ZW5fZGV2aWNlX2Jh Y2tlbmRfc2V0X3N0YXRlKFhlbkRldmljZSAqeGVuZGV2LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGVudW0geGVuYnVzX3N0YXRlIHN0YXRlKTsKK2VudW0geGVuYnVzX3N0YXRl IHhlbl9kZXZpY2VfYmFja2VuZF9nZXRfc3RhdGUoWGVuRGV2aWNlICp4ZW5kZXYpOworCiAjZW5k aWYgLyogSFdfWEVOX0JVU19IICovCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs