From mboxrd@z Thu Jan 1 00:00:00 1970 From: Changlong Xie Subject: [PATCH v13 24/26] setup and control colo proxy on primary side Date: Fri, 25 Mar 2016 14:44:31 +0800 Message-ID: <1458888273-7469-25-git-send-email-xiecl.fnst@cn.fujitsu.com> References: <1458888273-7469-1-git-send-email-xiecl.fnst@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458888273-7469-1-git-send-email-xiecl.fnst@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen devel , Konrad Rzeszutek Wilk , Andrew Cooper , Ian Campbell , Ian Jackson , Wei Liu Cc: Lars Kurth , Changlong Xie , Wen Congyang , Li Zhijian , Gui Jianfeng , Jiang Yunhong , Dong Eddie , Anthony Perard , Shriram Rajagopalan , Yang Hongyang List-Id: xen-devel@lists.xenproject.org RnJvbTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KClNpZ25lZC1vZmYtYnk6 IFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0YWNrLmNuPgpTaWduZWQtb2ZmLWJ5 OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgpTaWduZWQtb2ZmLWJ5OiBDaGFu Z2xvbmcgWGllIDx4aWVjbC5mbnN0QGNuLmZ1aml0c3UuY29tPgpBY2tlZC1ieTogSWFuIEphY2tz b24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfY29s by5oICAgICAgICAgICAgfCAyNSArKysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9jb2xvX3Nh dmUuYyAgICAgICB8IDk0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIHRv b2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggICAgICAgIHwgIDEgKwogdG9vbHMvbGlieGwvbGli eGxfcmVtdXNfZGlza19kcmJkLmMgfCAzOCArKy0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdl ZCwgMTE1IGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX2NvbG8uaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG8uaAppbmRleCA1ZmJi NjU5Li4zMGZkMWRjIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jb2xvLmgKKysrIGIv dG9vbHMvbGlieGwvbGlieGxfY29sby5oCkBAIC0yNiw2ICsyNiwzMSBAQCBzdHJ1Y3QgbGlieGxf X2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZTsKIC8qIENvbnNpc3RlbnQgd2l0aCB0aGUgbmV3IENP TE8gbmV0bGluayBjaGFubmVsIGluIGtlcm5lbCBzaWRlICovCiAjZGVmaW5lIE5FVExJTktfQ09M TyAyOAogCisvKiBNYXhpbXVtIHRpbWUoNXMpIHRvIHdhaXQgZm9yIGNvbG8gcHJveHkgY2hlY2tw b2l0ICovCisjZGVmaW5lIENPTE9fUFJPWFlfQ0hFQ0tQT0lOVF9USU1FT1VUIDUwMDAwMDAKKwor I2RlZmluZSBBU1lOQ19DQUxMKGVnYywgYW8sIGNoaWxkLCBwYXJhbSwgZnVuYywgY2FsbGJhY2sp IGRvIHsgICAgICAgICAgXAorICAgIGludCBwaWQgPSAtMTsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFNUQVRFX0FPX0dDKGFvKTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorICAgIHBpZCA9IGxpYnhsX19ldl9jaGlsZF9mb3JrKGdjLCBjaGlsZCwg Y2FsbGJhY2spOyAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChwaWQgPT0gLTEpIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg ICBMT0coRVJST1IsICJ1bmFibGUgdG8gZm9yayIpOyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorICAgICAgICBnb3RvIG91dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgIGlmICghcGlkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAvKiBjaGlsZCAqLyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBmdW5j KHBhcmFtKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAorICAgICAgICAvKiBub3RyZWFjaGVkICovICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBhYm9ydCgpOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorICAgIHJldHVybjsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorb3V0OiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICAgIGNhbGxiYWNrKGVnYywgY2hpbGQsIC0xLCAxKTsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorfSB3aGlsZSAoMCkKKwogZW51bSB7CiAgICAgTElCWExfQ09MT19T RVRVUEVELAogICAgIExJQlhMX0NPTE9fU1VTUEVOREVELApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGwvbGlieGxfY29sb19zYXZlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jb2xvX3NhdmUuYwppbmRl eCBkNzNlNjMyLi5lMmZkYzRiIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jb2xvX3Nh dmUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jb2xvX3NhdmUuYwpAQCAtMTgsOSArMTgsMTEg QEAKIAogI2luY2x1ZGUgImxpYnhsX2ludGVybmFsLmgiCiAKK2V4dGVybiBjb25zdCBsaWJ4bF9f Y2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vfb3BzIGNvbG9fc2F2ZV9kZXZpY2VfbmljOwogZXh0 ZXJuIGNvbnN0IGxpYnhsX19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgY29sb19zYXZl X2RldmljZV9xZGlzazsKIAogc3RhdGljIGNvbnN0IGxpYnhsX19jaGVja3BvaW50X2RldmljZV9p bnN0YW5jZV9vcHMgKmNvbG9fb3BzW10gPSB7CisgICAgJmNvbG9fc2F2ZV9kZXZpY2VfbmljLAog ICAgICZjb2xvX3NhdmVfZGV2aWNlX3FkaXNrLAogICAgIE5VTEwsCiB9OwpAQCAtMzMsOSArMzUs MTUgQEAgc3RhdGljIGludCBpbml0X2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50X2Rl dmljZXNfc3RhdGUgKmNkcykKICAgICBpbnQgcmM7CiAgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7 CiAKLSAgICByYyA9IGluaXRfc3Via2luZF9xZGlzayhjZHMpOworICAgIHJjID0gaW5pdF9zdWJr aW5kX2NvbG9fbmljKGNkcyk7CiAgICAgaWYgKHJjKSBnb3RvIG91dDsKIAorICAgIHJjID0gaW5p dF9zdWJraW5kX3FkaXNrKGNkcyk7CisgICAgaWYgKHJjKSB7CisgICAgICAgIGNsZWFudXBfc3Vi a2luZF9jb2xvX25pYyhjZHMpOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKICAgICByYyA9 IDA7CiBvdXQ6CiAgICAgcmV0dXJuIHJjOwpAQCAtNDYsNiArNTQsNyBAQCBzdGF0aWMgdm9pZCBj bGVhbnVwX2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNk cykKICAgICAvKiBjbGVhbnVwIGRldmljZSBzdWJraW5kLXNwZWNpZmljIHN0YXRlIGluIHRoZSBs aWJ4bCBjdHggKi8KICAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKIAorICAgIGNsZWFudXBfc3Vi a2luZF9jb2xvX25pYyhjZHMpOwogICAgIGNsZWFudXBfc3Via2luZF9xZGlzayhjZHMpOwogfQog CkBAIC05MSw5ICsxMDAsMTYgQEAgdm9pZCBsaWJ4bF9fY29sb19zYXZlX3NldHVwKGxpYnhsX19l Z2MgKmVnYywgbGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzKQogICAgIGNzcy0+cGF1c2VkID0g dHJ1ZTsKICAgICBjc3MtPnFkaXNrX3NldHVwZWQgPSBmYWxzZTsKICAgICBjc3MtPnFkaXNrX3Vz ZWQgPSBmYWxzZTsKKyAgICBsaWJ4bF9fZXZfY2hpbGRfaW5pdCgmY3NzLT5jaGlsZCk7CisKKyAg ICBpZiAoZHNzLT5yZW11cy0+bmV0YnVmc2NyaXB0KQorICAgICAgICBjc3MtPmNvbG9fcHJveHlf c2NyaXB0ID0gbGlieGxfX3N0cmR1cChnYywgZHNzLT5yZW11cy0+bmV0YnVmc2NyaXB0KTsKKyAg ICBlbHNlCisgICAgICAgIGNzcy0+Y29sb19wcm94eV9zY3JpcHQgPSBHQ1NQUklOVEYoIiVzL2Nv bG8tcHJveHktc2V0dXAiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX194ZW5fc2NyaXB0X2Rpcl9wYXRoKCkpOwogCi0gICAgLyogVE9ETzogbmljIHN1 cHBvcnQgKi8KLSAgICBjZHMtPmRldmljZV9raW5kX2ZsYWdzID0gKDEgPDwgTElCWExfX0RFVklD RV9LSU5EX1ZCRCk7CisgICAgY2RzLT5kZXZpY2Vfa2luZF9mbGFncyA9ICgxIDw8IExJQlhMX19E RVZJQ0VfS0lORF9WSUYpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgTElC WExfX0RFVklDRV9LSU5EX1ZCRCk7CiAgICAgY2RzLT5vcHMgPSBjb2xvX29wczsKICAgICBjZHMt PmNhbGxiYWNrID0gY29sb19zYXZlX3NldHVwX2RvbmU7CiAgICAgY2RzLT5hbyA9IGFvOwpAQCAt MTA0LDYgKzEyMCwxMiBAQCB2b2lkIGxpYnhsX19jb2xvX3NhdmVfc2V0dXAobGlieGxfX2VnYyAq ZWdjLCBsaWJ4bF9fY29sb19zYXZlX3N0YXRlICpjc3MpCiAgICAgY3NzLT5zcnMuZmQgPSBjc3Mt PnJlY3ZfZmQ7CiAgICAgY3NzLT5zcnMuYmFja19jaGFubmVsID0gdHJ1ZTsKICAgICBsaWJ4bF9f c3RyZWFtX3JlYWRfc3RhcnQoZWdjLCAmY3NzLT5zcnMpOworICAgIGNzcy0+Y3BzLmFvID0gYW87 CisgICAgaWYgKGNvbG9fcHJveHlfc2V0dXAoJmNzcy0+Y3BzKSkgeworICAgICAgICBMT0coRVJS T1IsICJDT0xPOiBmYWlsZWQgdG8gc2V0dXAgY29sbyBwcm94eSBmb3IgZ3Vlc3Qgd2l0aCBkb21p ZCAldSIsCisgICAgICAgICAgICBjZHMtPmRvbWlkKTsKKyAgICAgICAgZ290byBvdXQ7CisgICAg fQogCiAgICAgaWYgKGluaXRfZGV2aWNlX3N1YmtpbmQoY2RzKSkKICAgICAgICAgZ290byBvdXQ7 CkBAIC0xOTMsNiArMjE1LDcgQEAgc3RhdGljIHZvaWQgY29sb190ZWFyZG93bl9kb25lKGxpYnhs X19lZ2MgKmVnYywKICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5F Ul9PRihjc3MsICpkc3MsIGNzcyk7CiAKICAgICBjbGVhbnVwX2RldmljZV9zdWJraW5kKGNkcyk7 CisgICAgY29sb19wcm94eV90ZWFyZG93bigmY3NzLT5jcHMpOwogICAgIGRzcy0+Y2FsbGJhY2so ZWdjLCBkc3MsIHJjKTsKIH0KIApAQCAtMzg3LDYgKzQxMCw4IEBAIHN0YXRpYyB2b2lkIGNvbG9f cmVhZF9zdm1fcmVhZHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgIGdvdG8gb3V0Owog ICAgIH0KIAorICAgIGNvbG9fcHJveHlfcHJlcmVzdW1lKCZjc3MtPmNwcyk7CisKICAgICBjc3Mt PnN2bV9ydW5uaW5nID0gdHJ1ZTsKICAgICBkc3MtPmNkcy5jYWxsYmFjayA9IGNvbG9fcHJlcmVz dW1lX2NiOwogICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfcHJlcmVzdW1lKGVnYywgJmRz cy0+Y2RzKTsKQEAgLTQ3MSw2ICs0OTYsOCBAQCBzdGF0aWMgdm9pZCBjb2xvX3JlYWRfc3ZtX3Jl c3VtZWRfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAor ICAgIGNvbG9fcHJveHlfcG9zdHJlc3VtZSgmY3NzLT5jcHMpOworCiAgICAgb2sgPSAxOwogCiBv dXQ6CkBAIC00NzksNiArNTA2LDYxIEBAIG91dDoKIAogLyogPT09PT09PT09PT09PT09PT09PT09 IGNvbG86IHdhaXQgbmV3IGNoZWNrcG9pbnQgPT09PT09PT09PT09PT09PT09PT09ICovCiAKK3N0 YXRpYyB2b2lkIGNvbG9fc3RhcnRfbmV3X2NoZWNrcG9pbnQobGlieGxfX2VnYyAqZWdjLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZp Y2VzX3N0YXRlICpjZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCByYyk7CitzdGF0aWMgdm9pZCBjb2xvX3Byb3h5X2FzeW5jX3dhaXRfZm9yX2NoZWNrcG9pbnQo bGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzKTsKK3N0YXRpYyB2b2lkIGNvbG9fcHJveHlfYXN5 bmNfY2FsbF9kb25lKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpYnhsX19ldl9jaGlsZCAqY2hpbGQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgcGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50IHN0YXR1cyk7CisKK3N0YXRpYyB2b2lkIGNvbG9fcHJveHlfd2FpdF9m b3JfY2hlY2twb2ludChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzKQoreworICAgIGxp YnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGNzcywgKmRzcywgY3Nz KTsKKworICAgIEFTWU5DX0NBTEwoZWdjLCBkc3MtPmNkcy5hbywgJmNzcy0+Y2hpbGQsIGNzcywK KyAgICAgICAgICAgICAgIGNvbG9fcHJveHlfYXN5bmNfd2FpdF9mb3JfY2hlY2twb2ludCwKKyAg ICAgICAgICAgICAgIGNvbG9fcHJveHlfYXN5bmNfY2FsbF9kb25lKTsKK30KKworc3RhdGljIHZv aWQgY29sb19wcm94eV9hc3luY193YWl0X2Zvcl9jaGVja3BvaW50KGxpYnhsX19jb2xvX3NhdmVf c3RhdGUgKmNzcykKK3sKKyAgICBpbnQgcmVxOworCisgICAgcmVxID0gY29sb19wcm94eV9jaGVj a3BvaW50KCZjc3MtPmNwcywgQ09MT19QUk9YWV9DSEVDS1BPSU5UX1RJTUVPVVQpOworICAgIGlm IChyZXEgPCAwKSB7CisgICAgICAgIC8qIHNvbWUgZXJyb3IgaGFwcGVucyAqLworICAgICAgICBf ZXhpdCgxKTsKKyAgICB9IGVsc2UgaWYgKCFyZXEpIHsKKyAgICAgICAgLyogbm8gY2hlY2twb2lu dCBpcyBuZWVkZWQsIGRvIGEgY2hlY2twb2ludCBldmVyeSA1cyAqLworICAgICAgICBfZXhpdCgw KTsKKyAgICB9IGVsc2UgeworICAgICAgICAvKiBuZXQgcGFja2V0cyBpcyBub3QgY29uc2lzdGVu dCwgd2UgbmVlZCB0byBzdGFydCBhIGNoZWNrcG9pbnQgKi8KKyAgICAgICAgX2V4aXQoMCk7Cisg ICAgfQorfQorCitzdGF0aWMgdm9pZCBjb2xvX3Byb3h5X2FzeW5jX2NhbGxfZG9uZShsaWJ4bF9f ZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f ZXZfY2hpbGQgKmNoaWxkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW50IHBpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdGF0 dXMpCit7CisgICAgbGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzID0gQ09OVEFJTkVSX09GKGNo aWxkLCAqY3NzLCBjaGlsZCk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBD T05UQUlORVJfT0YoY3NzLCAqZHNzLCBjc3MpOworCisgICAgRUdDX0dDOworCisgICAgaWYgKHN0 YXR1cykgeworICAgICAgICBMT0coRVJST1IsICJmYWlsZWQgdG8gd2FpdCBmb3IgbmV3IGNoZWNr cG9pbnQiKTsKKyAgICAgICAgY29sb19zdGFydF9uZXdfY2hlY2twb2ludChlZ2MsICZkc3MtPmNk cywgRVJST1JfRkFJTCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb2xvX3N0YXJ0 X25ld19jaGVja3BvaW50KGVnYywgJmRzcy0+Y2RzLCAwKTsKK30KKwogLyoKICAqIERvIHRoZSBm b2xsb3dpbmcgdGhpbmdzOgogICogMS4gZG8gY29tbWl0CkBAIC00ODgsOSArNTcwLDYgQEAgb3V0 Ogogc3RhdGljIHZvaWQgY29sb19kZXZpY2VfY29tbWl0X2NiKGxpYnhsX19lZ2MgKmVnYywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2Vz X3N0YXRlICpjZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsK LXN0YXRpYyB2b2lkIGNvbG9fc3RhcnRfbmV3X2NoZWNrcG9pbnQobGlieGxfX2VnYyAqZWdjLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9k ZXZpY2VzX3N0YXRlICpjZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCByYyk7CiAKIHN0YXRpYyB2b2lkIGxpYnhsX19jb2xvX3NhdmVfZG9tYWluX3dhaXRfY2hl Y2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRhKQogewpAQCAtNTIwLDggKzU5OSw3IEBAIHN0YXRp YyB2b2lkIGNvbG9fZGV2aWNlX2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgIGdv dG8gb3V0OwogICAgIH0KIAotICAgIC8qIFRPRE86IHdhaXQgYSBuZXcgY2hlY2twb2ludCAqLwot ICAgIGNvbG9fc3RhcnRfbmV3X2NoZWNrcG9pbnQoZWdjLCBjZHMsIDApOworICAgIGNvbG9fcHJv eHlfd2FpdF9mb3JfY2hlY2twb2ludChlZ2MsIGNzcyk7CiAgICAgcmV0dXJuOwogCiBvdXQ6CmRp ZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGli eGxfaW50ZXJuYWwuaAppbmRleCA3NTliOGQwLi5lM2M5MTlkIDEwMDY0NAotLS0gYS90b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgK QEAgLTMyMjAsNiArMzIyMCw3IEBAIHN0cnVjdCBsaWJ4bF9fY29sb19zYXZlX3N0YXRlIHsKIAog ICAgIC8qIHByaXZhdGUsIHVzZWQgYnkgY29sby1wcm94eSAqLwogICAgIGxpYnhsX19jb2xvX3By b3h5X3N0YXRlIGNwczsKKyAgICBsaWJ4bF9fZXZfY2hpbGQgY2hpbGQ7CiB9OwogCiB0eXBlZGVm IHN0cnVjdCBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoIHsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhs L2xpYnhsX3JlbXVzX2Rpc2tfZHJiZC5jIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlza19k cmJkLmMKaW5kZXggODQ0ZGQ2Ni4uZDA4ZTQ3MCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGli eGxfcmVtdXNfZGlza19kcmJkLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlza19k cmJkLmMKQEAgLTQyLDM4ICs0Miw2IEBAIHZvaWQgY2xlYW51cF9zdWJraW5kX2RyYmRfZGlzayhs aWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpCiAgICAgcmV0dXJuOwogfQogCi0v Ki0tLS0tIGhlbHBlciBmdW5jdGlvbnMsIGZvciBhc3luYyBjYWxscyAtLS0tLSovCi1zdGF0aWMg dm9pZCBkcmJkX2FzeW5jX2NhbGwobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2LAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZvaWQgZnVuYyhsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2UgKiksCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2V2X2NoaWxkX2NhbGxiYWNrIGNhbGxiYWNr KQotewotICAgIGludCBwaWQsIHJjOwotICAgIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2ID0gJmRl di0+YW9kZXY7Ci0gICAgU1RBVEVfQU9fR0MoZGV2LT5jZHMtPmFvKTsKLQotICAgIC8qIEZvcmsg YW5kIGNhbGwgKi8KLSAgICBwaWQgPSBsaWJ4bF9fZXZfY2hpbGRfZm9yayhnYywgJmFvZGV2LT5j aGlsZCwgY2FsbGJhY2spOwotICAgIGlmIChwaWQgPT0gLTEpIHsKLSAgICAgICAgTE9HKEVSUk9S LCAidW5hYmxlIHRvIGZvcmsiKTsKLSAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwotICAgICAgICBn b3RvIG91dDsKLSAgICB9Ci0KLSAgICBpZiAoIXBpZCkgewotICAgICAgICAvKiBjaGlsZCAqLwot ICAgICAgICBmdW5jKGRldik7Ci0gICAgICAgIC8qIG5vdHJlYWNoZWQgKi8KLSAgICAgICAgYWJv cnQoKTsKLSAgICB9Ci0KLSAgICByZXR1cm47Ci0KLW91dDoKLSAgICBhb2Rldi0+cmMgPSByYzsK LSAgICBhb2Rldi0+Y2FsbGJhY2soZWdjLCBhb2Rldik7Ci19Ci0KIC8qLS0tLS0gbWF0Y2goKSwg c2V0dXAoKSBhbmQgdGVhcmRvd24oKSAtLS0tLSovCiAKIC8qIGNhbGxiYWNrcyAqLwpAQCAtMjEz LDkgKzE4MSw5IEBAIHN0YXRpYyB2b2lkIGRyYmRfcHJlcmVzdW1lX2FzeW5jKGxpYnhsX19jaGVj a3BvaW50X2RldmljZSAqZGV2KTsKIAogc3RhdGljIHZvaWQgZHJiZF9wcmVyZXN1bWUobGlieGxf X2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldikKIHsKLSAgICBTVEFURV9B T19HQyhkZXYtPmNkcy0+YW8pOwotCi0gICAgZHJiZF9hc3luY19jYWxsKGVnYywgZGV2LCBkcmJk X3ByZXJlc3VtZV9hc3luYywgY2hlY2twb2ludF9hc3luY19jYWxsX2RvbmUpOworICAgIEFTWU5D X0NBTEwoZWdjLCBkZXYtPmNkcy0+YW8sICZkZXYtPmFvZGV2LmNoaWxkLCBkZXYsCisgICAgICAg ICAgICAgICBkcmJkX3ByZXJlc3VtZV9hc3luYywKKyAgICAgICAgICAgICAgIGNoZWNrcG9pbnRf YXN5bmNfY2FsbF9kb25lKTsKIH0KIAogc3RhdGljIHZvaWQgZHJiZF9wcmVyZXN1bWVfYXN5bmMo bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYpCi0tIAoxLjkuMwoKCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK