From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v5 02/28] libxc: unify xc_dom_p2m_{host/guest} Date: Fri, 21 Aug 2015 18:53:15 +0200 Message-ID: <1440176021-18910-3-git-send-email-roger.pau@citrix.com> References: <1440176021-18910-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZSpZd-0007fz-9G for xen-devel@lists.xenproject.org; Fri, 21 Aug 2015 16:53:49 +0000 In-Reply-To: <1440176021-18910-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Wei Liu , Ian Campbell , Stefano Stabellini , Ian Jackson , Samuel Thibault , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VW5pZnkgYm90aCBmdW5jdGlvbnMgaW50byB4Y19kb21fcDJtLiBTaG91bGQgbm90IGludHJvZHVj ZSBhbnkgZnVuY3Rpb25hbApjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOp IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl dy5jb29wZXIzQGNpdHJpeC5jb20+CkFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXgu Y29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBTdGVm YW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29tPgpDYzogSWFu IENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUy QGNpdHJpeC5jb20+CkNjOiBTYW11ZWwgVGhpYmF1bHQgPHNhbXVlbC50aGliYXVsdEBlbnMtbHlv bi5vcmc+Ci0tLQpDaGFuZ2VzIHNpbmNlIHYzOgogLSBBZGQgQW5kcmV3IENvb3BlciBSZXZpZXdl ZC1ieS4KIC0gQWRkIFdlaSBBY2tlZC1ieS4KLS0tCiBzdHViZG9tL2dydWIva2V4ZWMuYyAgICAg ICAgICAgICAgfCAgNCArKy0tCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hjX2RvbS5oICAgICAgfCAx NCArKy0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGMveGNfZG9tX2Jvb3QuYyAgICAgICAgIHwgMTAg KysrKystLS0tLQogdG9vbHMvbGlieGMveGNfZG9tX2NvbXBhdF9saW51eC5jIHwgIDQgKystLQog dG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jICAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgICAgICB8ICA0ICsr LS0KIDYgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3R1YmRvbS9ncnViL2tleGVjLmMgYi9zdHViZG9tL2dydWIva2V4ZWMuYwpp bmRleCA0YzMzYjI1Li4wYjJmNGYzIDEwMDY0NAotLS0gYS9zdHViZG9tL2dydWIva2V4ZWMuYwor KysgYi9zdHViZG9tL2dydWIva2V4ZWMuYwpAQCAtMzU4LDkgKzM1OCw5IEBAIHZvaWQga2V4ZWMo dm9pZCAqa2VybmVsLCBsb25nIGtlcm5lbF9zaXplLCB2b2lkICptb2R1bGUsIGxvbmcgbW9kdWxl X3NpemUsIGNoYXIKICNpZmRlZiBfX3g4Nl82NF9fCiAgICAgICAgICAgICAgICAgTU1VRVhUX1BJ Tl9MNF9UQUJMRSwKICNlbmRpZgotICAgICAgICAgICAgICAgIHhjX2RvbV9wMm1faG9zdChkb20s IGRvbS0+cGd0YWJsZXNfc2VnLnBmbiksCisgICAgICAgICAgICAgICAgeGNfZG9tX3AybShkb20s IGRvbS0+cGd0YWJsZXNfc2VnLnBmbiksCiAgICAgICAgICAgICAgICAgZG9tLT5ndWVzdF9kb21p ZCkpICE9IDAgKSB7Ci0gICAgICAgIGdydWJfcHJpbnRmKCJwaW5fdGFibGUoJWx4KSByZXR1cm5l ZCAlZFxuIiwgeGNfZG9tX3AybV9ob3N0KGRvbSwKKyAgICAgICAgZ3J1Yl9wcmludGYoInBpbl90 YWJsZSglbHgpIHJldHVybmVkICVkXG4iLCB4Y19kb21fcDJtKGRvbSwKICAgICAgICAgICAgICAg ICAgICAgZG9tLT5wZ3RhYmxlc19zZWcucGZuKSwgcmMpOwogICAgICAgICBlcnJudW0gPSBFUlJf Qk9PVF9GQUlMVVJFOwogICAgICAgICBnb3RvIG91dF9yZW1hcDsKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhjL2luY2x1ZGUveGNfZG9tLmggYi90b29scy9saWJ4Yy9pbmNsdWRlL3hjX2RvbS5oCmlu ZGV4IDYwMGFlZjYuLjljZjEzZTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGNf ZG9tLmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20uaApAQCAtMzc1LDE5ICszNzUs OSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgKnhjX2RvbV92YWRkcl90b19wdHIoc3RydWN0IHhjX2Rv bV9pbWFnZSAqZG9tLAogICAgIHJldHVybiBwdHIgKyBvZmZzZXQ7CiB9CiAKLXN0YXRpYyBpbmxp bmUgeGVuX3Bmbl90IHhjX2RvbV9wMm1faG9zdChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sIHhl bl9wZm5fdCBwZm4pCitzdGF0aWMgaW5saW5lIHhlbl9wZm5fdCB4Y19kb21fcDJtKHN0cnVjdCB4 Y19kb21faW1hZ2UgKmRvbSwgeGVuX3Bmbl90IHBmbikKIHsKLSAgICBpZiAoZG9tLT5zaGFkb3df ZW5hYmxlZCkKLSAgICAgICAgcmV0dXJuIHBmbjsKLSAgICBpZiAocGZuIDwgZG9tLT5yYW1iYXNl X3BmbiB8fCBwZm4gPj0gZG9tLT5yYW1iYXNlX3BmbiArIGRvbS0+dG90YWxfcGFnZXMpCi0gICAg ICAgIHJldHVybiBJTlZBTElEX01GTjsKLSAgICByZXR1cm4gZG9tLT5wMm1faG9zdFtwZm4gLSBk b20tPnJhbWJhc2VfcGZuXTsKLX0KLQotc3RhdGljIGlubGluZSB4ZW5fcGZuX3QgeGNfZG9tX3Ay bV9ndWVzdChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCBwZm4pCi17Ci0gICAgaWYgKHhjX2RvbV9mZWF0 dXJlX3RyYW5zbGF0ZWQoZG9tKSkKKyAgICBpZiAoIGRvbS0+c2hhZG93X2VuYWJsZWQgfHwgeGNf ZG9tX2ZlYXR1cmVfdHJhbnNsYXRlZChkb20pICkKICAgICAgICAgcmV0dXJuIHBmbjsKICAgICBp ZiAocGZuIDwgZG9tLT5yYW1iYXNlX3BmbiB8fCBwZm4gPj0gZG9tLT5yYW1iYXNlX3BmbiArIGRv bS0+dG90YWxfcGFnZXMpCiAgICAgICAgIHJldHVybiBJTlZBTElEX01GTjsKZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnhjL3hjX2RvbV9ib290LmMgYi90b29scy9saWJ4Yy94Y19kb21fYm9vdC5jCmlu ZGV4IDhlMDY0MDYuLjdjMzBmOTYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2RvbV9ib290 LmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tX2Jvb3QuYwpAQCAtNTMsNyArNTMsNyBAQCBzdGF0 aWMgaW50IHNldHVwX2h5cGVyY2FsbF9wYWdlKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAg ICAgICAgICAgICAgICAgIGRvbS0+cGFybXMudmlydF9oeXBlcmNhbGwsIHBmbik7CiAgICAgZG9t Y3RsLmNtZCA9IFhFTl9ET01DVExfaHlwZXJjYWxsX2luaXQ7CiAgICAgZG9tY3RsLmRvbWFpbiA9 IGRvbS0+Z3Vlc3RfZG9taWQ7Ci0gICAgZG9tY3RsLnUuaHlwZXJjYWxsX2luaXQuZ21mbiA9IHhj X2RvbV9wMm1fZ3Vlc3QoZG9tLCBwZm4pOworICAgIGRvbWN0bC51Lmh5cGVyY2FsbF9pbml0Lmdt Zm4gPSB4Y19kb21fcDJtKGRvbSwgcGZuKTsKICAgICByYyA9IGRvX2RvbWN0bChkb20tPnhjaCwg JmRvbWN0bCk7CiAgICAgaWYgKCByYyAhPSAwICkKICAgICAgICAgeGNfZG9tX3BhbmljKGRvbS0+ eGNoLCBYQ19JTlRFUk5BTF9FUlJPUiwKQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIGludCBjbGVh cl9wYWdlKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwgeGVuX3Bmbl90IHBmbikKICAgICBpZiAo IHBmbiA9PSAwICkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBkc3QgPSB4Y19kb21fcDJtX2hv c3QoZG9tLCBwZm4pOworICAgIGRzdCA9IHhjX2RvbV9wMm0oZG9tLCBwZm4pOwogICAgIERPTVBS SU5URigiJXM6IHBmbiAweCUiIFBSSXBmbiAiLCBtZm4gMHglIiBQUklwZm4gIiIsCiAgICAgICAg ICAgICAgIF9fRlVOQ1RJT05fXywgcGZuLCBkc3QpOwogICAgIHJjID0geGNfY2xlYXJfZG9tYWlu X3BhZ2UoZG9tLT54Y2gsIGRvbS0+Z3Vlc3RfZG9taWQsIGRzdCk7CkBAIC0xNzcsNyArMTc3LDcg QEAgdm9pZCAqeGNfZG9tX2Jvb3RfZG9tVV9tYXAoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tLCB4 ZW5fcGZuX3QgcGZuLAogICAgIH0KIAogICAgIGZvciAoIGkgPSAwOyBpIDwgY291bnQ7IGkrKyAp Ci0gICAgICAgIGVudHJpZXNbaV0ubWZuID0geGNfZG9tX3AybV9ob3N0KGRvbSwgcGZuICsgaSk7 CisgICAgICAgIGVudHJpZXNbaV0ubWZuID0geGNfZG9tX3AybShkb20sIHBmbiArIGkpOwogCiAg ICAgcHRyID0geGNfbWFwX2ZvcmVpZ25fcmFuZ2VzKGRvbS0+eGNoLCBkb20tPmd1ZXN0X2RvbWlk LAogICAgICAgICAgICAgICAgIGNvdW50IDw8IHBhZ2Vfc2hpZnQsIFBST1RfUkVBRCB8IFBST1Rf V1JJVEUsIDEgPDwgcGFnZV9zaGlmdCwKQEAgLTQzNCw4ICs0MzQsOCBAQCBpbnQgeGNfZG9tX2du dHRhYl9pbml0KHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZG9tLT5jb25zb2xlX2RvbWlkLCBkb20tPnhlbnN0b3JlX2RvbWlk KTsKICAgICB9IGVsc2UgewogICAgICAgICByZXR1cm4geGNfZG9tX2dudHRhYl9zZWVkKGRvbS0+ eGNoLCBkb20tPmd1ZXN0X2RvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHhjX2RvbV9wMm1faG9zdChkb20sIGRvbS0+Y29uc29sZV9wZm4pLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHhjX2RvbV9wMm1faG9zdChkb20sIGRvbS0+eGVuc3RvcmVfcGZu KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4Y19kb21fcDJtKGRvbSwgZG9t LT5jb25zb2xlX3BmbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGNfZG9t X3AybShkb20sIGRvbS0+eGVuc3RvcmVfcGZuKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkb20tPmNvbnNvbGVfZG9taWQsIGRvbS0+eGVuc3RvcmVfZG9taWQpOwogICAgIH0K IH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbV9jb21wYXRfbGludXguYyBiL3Rvb2xz L2xpYnhjL3hjX2RvbV9jb21wYXRfbGludXguYwppbmRleCBhM2FiYjk5Li41YzFmMDQzIDEwMDY0 NAotLS0gYS90b29scy9saWJ4Yy94Y19kb21fY29tcGF0X2xpbnV4LmMKKysrIGIvdG9vbHMvbGli eGMveGNfZG9tX2NvbXBhdF9saW51eC5jCkBAIC02NCw4ICs2NCw4IEBAIHN0YXRpYyBpbnQgeGNf bGludXhfYnVpbGRfaW50ZXJuYWwoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tLAogICAgIGlmICgg KHJjID0geGNfZG9tX2dudHRhYl9pbml0KGRvbSkpICE9IDApCiAgICAgICAgIGdvdG8gb3V0Owog Ci0gICAgKmNvbnNvbGVfbWZuID0geGNfZG9tX3AybV9ob3N0KGRvbSwgZG9tLT5jb25zb2xlX3Bm bik7Ci0gICAgKnN0b3JlX21mbiA9IHhjX2RvbV9wMm1faG9zdChkb20sIGRvbS0+eGVuc3RvcmVf cGZuKTsKKyAgICAqY29uc29sZV9tZm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT5jb25zb2xlX3Bm bik7CisgICAgKnN0b3JlX21mbiA9IHhjX2RvbV9wMm0oZG9tLCBkb20tPnhlbnN0b3JlX3Bmbik7 CiAKICBvdXQ6CiAgICAgcmV0dXJuIHJjOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfZG9t X3g4Ni5jIGIvdG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jCmluZGV4IDNkNDBmYTQuLmRjMmY0YWEg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2RvbV94ODYuYworKysgYi90b29scy9saWJ4Yy94 Y19kb21feDg2LmMKQEAgLTI0Nyw3ICsyNDcsNyBAQCBzdGF0aWMgaW50IHNldHVwX3BndGFibGVz X3g4Nl8zMl9wYWUoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgIHVuc2lnbmVkIGxvbmcg bDNvZmYsIGwyb2ZmID0gMCwgbDFvZmY7CiAgICAgeGVuX3ZhZGRyX3QgYWRkcjsKICAgICB4ZW5f cGZuX3QgcGdwZm47Ci0gICAgeGVuX3Bmbl90IGwzbWZuID0geGNfZG9tX3AybV9ndWVzdChkb20s IGwzcGZuKTsKKyAgICB4ZW5fcGZuX3QgbDNtZm4gPSB4Y19kb21fcDJtKGRvbSwgbDNwZm4pOwog CiAgICAgaWYgKCBkb20tPnBhcm1zLnBhZSA9PSAxICkKICAgICB7CkBAIC0yNzksNyArMjc5LDcg QEAgc3RhdGljIGludCBzZXR1cF9wZ3RhYmxlc194ODZfMzJfcGFlKHN0cnVjdCB4Y19kb21faW1h Z2UgKmRvbSkKICAgICAgICAgICAgICAgICBnb3RvIHBmbl9lcnJvcjsKICAgICAgICAgICAgIGwz b2ZmID0gbDNfdGFibGVfb2Zmc2V0X3BhZShhZGRyKTsKICAgICAgICAgICAgIGwzdGFiW2wzb2Zm XSA9Ci0gICAgICAgICAgICAgICAgcGZuX3RvX3BhZGRyKHhjX2RvbV9wMm1fZ3Vlc3QoZG9tLCBs MnBmbikpIHwgTDNfUFJPVDsKKyAgICAgICAgICAgICAgICBwZm5fdG9fcGFkZHIoeGNfZG9tX3Ay bShkb20sIGwycGZuKSkgfCBMM19QUk9UOwogICAgICAgICAgICAgbDJwZm4rKzsKICAgICAgICAg fQogCkBAIC0yOTEsNyArMjkxLDcgQEAgc3RhdGljIGludCBzZXR1cF9wZ3RhYmxlc194ODZfMzJf cGFlKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICAgICAgICAgICAgICBnb3RvIHBmbl9l cnJvcjsKICAgICAgICAgICAgIGwyb2ZmID0gbDJfdGFibGVfb2Zmc2V0X3BhZShhZGRyKTsKICAg ICAgICAgICAgIGwydGFiW2wyb2ZmXSA9Ci0gICAgICAgICAgICAgICAgcGZuX3RvX3BhZGRyKHhj X2RvbV9wMm1fZ3Vlc3QoZG9tLCBsMXBmbikpIHwgTDJfUFJPVDsKKyAgICAgICAgICAgICAgICBw Zm5fdG9fcGFkZHIoeGNfZG9tX3AybShkb20sIGwxcGZuKSkgfCBMMl9QUk9UOwogICAgICAgICAg ICAgbDFwZm4rKzsKICAgICAgICAgfQogCkBAIC0yOTksNyArMjk5LDcgQEAgc3RhdGljIGludCBz ZXR1cF9wZ3RhYmxlc194ODZfMzJfcGFlKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICAg ICAgbDFvZmYgPSBsMV90YWJsZV9vZmZzZXRfcGFlKGFkZHIpOwogICAgICAgICBwZ3BmbiA9IChh ZGRyIC0gZG9tLT5wYXJtcy52aXJ0X2Jhc2UpID4+IFBBR0VfU0hJRlRfWDg2OwogICAgICAgICBs MXRhYltsMW9mZl0gPQotICAgICAgICAgICAgcGZuX3RvX3BhZGRyKHhjX2RvbV9wMm1fZ3Vlc3Qo ZG9tLCBwZ3BmbikpIHwgTDFfUFJPVDsKKyAgICAgICAgICAgIHBmbl90b19wYWRkcih4Y19kb21f cDJtKGRvbSwgcGdwZm4pKSB8IEwxX1BST1Q7CiAgICAgICAgIGlmICggKGFkZHIgPj0gZG9tLT5w Z3RhYmxlc19zZWcudnN0YXJ0KSAmJgogICAgICAgICAgICAgIChhZGRyIDwgZG9tLT5wZ3RhYmxl c19zZWcudmVuZCkgKQogICAgICAgICAgICAgbDF0YWJbbDFvZmZdICY9IH5fUEFHRV9SVzsgLyog cGFnZSB0YWJsZXMgYXJlIHIvbyAqLwpAQCAtMzE1LDcgKzMxNSw3IEBAIHN0YXRpYyBpbnQgc2V0 dXBfcGd0YWJsZXNfeDg2XzMyX3BhZShzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAgICAgaWYg KCBkb20tPnZpcnRfcGd0YWJfZW5kIDw9IDB4YzAwMDAwMDAgKQogICAgIHsKICAgICAgICAgRE9N UFJJTlRGKCIlczogUEFFOiBleHRyYSBsMiBwYWdlIHRhYmxlIGZvciBsMyMzIiwgX19GVU5DVElP Tl9fKTsKLSAgICAgICAgbDN0YWJbM10gPSBwZm5fdG9fcGFkZHIoeGNfZG9tX3AybV9ndWVzdChk b20sIGwycGZuKSkgfCBMM19QUk9UOworICAgICAgICBsM3RhYlszXSA9IHBmbl90b19wYWRkcih4 Y19kb21fcDJtKGRvbSwgbDJwZm4pKSB8IEwzX1BST1Q7CiAgICAgfQogICAgIHJldHVybiAwOwog CkBAIC0zNzQsNyArMzc0LDcgQEAgc3RhdGljIGludCBzZXR1cF9wZ3RhYmxlc194ODZfNjQoc3Ry dWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgICAgICAgICAgICAgIGdvdG8gcGZuX2Vycm9yOwog ICAgICAgICAgICAgbDRvZmYgPSBsNF90YWJsZV9vZmZzZXRfeDg2XzY0KGFkZHIpOwogICAgICAg ICAgICAgbDR0YWJbbDRvZmZdID0KLSAgICAgICAgICAgICAgICBwZm5fdG9fcGFkZHIoeGNfZG9t X3AybV9ndWVzdChkb20sIGwzcGZuKSkgfCBMNF9QUk9UOworICAgICAgICAgICAgICAgIHBmbl90 b19wYWRkcih4Y19kb21fcDJtKGRvbSwgbDNwZm4pKSB8IEw0X1BST1Q7CiAgICAgICAgICAgICBs M3BmbisrOwogICAgICAgICB9CiAKQEAgLTM4Niw3ICszODYsNyBAQCBzdGF0aWMgaW50IHNldHVw X3BndGFibGVzX3g4Nl82NChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAgICAgICAgICAgICAg ICAgZ290byBwZm5fZXJyb3I7CiAgICAgICAgICAgICBsM29mZiA9IGwzX3RhYmxlX29mZnNldF94 ODZfNjQoYWRkcik7CiAgICAgICAgICAgICBsM3RhYltsM29mZl0gPQotICAgICAgICAgICAgICAg IHBmbl90b19wYWRkcih4Y19kb21fcDJtX2d1ZXN0KGRvbSwgbDJwZm4pKSB8IEwzX1BST1Q7Cisg ICAgICAgICAgICAgICAgcGZuX3RvX3BhZGRyKHhjX2RvbV9wMm0oZG9tLCBsMnBmbikpIHwgTDNf UFJPVDsKICAgICAgICAgICAgIGwycGZuKys7CiAgICAgICAgIH0KIApAQCAtMzk4LDcgKzM5OCw3 IEBAIHN0YXRpYyBpbnQgc2V0dXBfcGd0YWJsZXNfeDg2XzY0KHN0cnVjdCB4Y19kb21faW1hZ2Ug KmRvbSkKICAgICAgICAgICAgICAgICBnb3RvIHBmbl9lcnJvcjsKICAgICAgICAgICAgIGwyb2Zm ID0gbDJfdGFibGVfb2Zmc2V0X3g4Nl82NChhZGRyKTsKICAgICAgICAgICAgIGwydGFiW2wyb2Zm XSA9Ci0gICAgICAgICAgICAgICAgcGZuX3RvX3BhZGRyKHhjX2RvbV9wMm1fZ3Vlc3QoZG9tLCBs MXBmbikpIHwgTDJfUFJPVDsKKyAgICAgICAgICAgICAgICBwZm5fdG9fcGFkZHIoeGNfZG9tX3Ay bShkb20sIGwxcGZuKSkgfCBMMl9QUk9UOwogICAgICAgICAgICAgbDFwZm4rKzsKICAgICAgICAg fQogCkBAIC00MDYsNyArNDA2LDcgQEAgc3RhdGljIGludCBzZXR1cF9wZ3RhYmxlc194ODZfNjQo c3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgICAgICBsMW9mZiA9IGwxX3RhYmxlX29mZnNl dF94ODZfNjQoYWRkcik7CiAgICAgICAgIHBncGZuID0gKGFkZHIgLSBkb20tPnBhcm1zLnZpcnRf YmFzZSkgPj4gUEFHRV9TSElGVF9YODY7CiAgICAgICAgIGwxdGFiW2wxb2ZmXSA9Ci0gICAgICAg ICAgICBwZm5fdG9fcGFkZHIoeGNfZG9tX3AybV9ndWVzdChkb20sIHBncGZuKSkgfCBMMV9QUk9U OworICAgICAgICAgICAgcGZuX3RvX3BhZGRyKHhjX2RvbV9wMm0oZG9tLCBwZ3BmbikpIHwgTDFf UFJPVDsKICAgICAgICAgaWYgKCAoIWRvbS0+cHZoX2VuYWJsZWQpICAgICAgICAgICAgICAgICYm CiAgICAgICAgICAgICAgKGFkZHIgPj0gZG9tLT5wZ3RhYmxlc19zZWcudnN0YXJ0KSAmJgogICAg ICAgICAgICAgIChhZGRyIDwgZG9tLT5wZ3RhYmxlc19zZWcudmVuZCkgKQpAQCAtNDg5LDkgKzQ4 OSw5IEBAIHN0YXRpYyBpbnQgc3RhcnRfaW5mb194ODZfMzIoc3RydWN0IHhjX2RvbV9pbWFnZSAq ZG9tKQogICAgIHN0YXJ0X2luZm8tPm1mbl9saXN0ID0gZG9tLT5wMm1fc2VnLnZzdGFydDsKIAog ICAgIHN0YXJ0X2luZm8tPmZsYWdzID0gZG9tLT5mbGFnczsKLSAgICBzdGFydF9pbmZvLT5zdG9y ZV9tZm4gPSB4Y19kb21fcDJtX2d1ZXN0KGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4pOworICAgIHN0 YXJ0X2luZm8tPnN0b3JlX21mbiA9IHhjX2RvbV9wMm0oZG9tLCBkb20tPnhlbnN0b3JlX3Bmbik7 CiAgICAgc3RhcnRfaW5mby0+c3RvcmVfZXZ0Y2huID0gZG9tLT54ZW5zdG9yZV9ldnRjaG47Ci0g ICAgc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbiA9IHhjX2RvbV9wMm1fZ3Vlc3QoZG9tLCBk b20tPmNvbnNvbGVfcGZuKTsKKyAgICBzdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuID0geGNf ZG9tX3AybShkb20sIGRvbS0+Y29uc29sZV9wZm4pOwogICAgIHN0YXJ0X2luZm8tPmNvbnNvbGUu ZG9tVS5ldnRjaG4gPSBkb20tPmNvbnNvbGVfZXZ0Y2huOwogCiAgICAgaWYgKCBkb20tPnJhbWRp c2tfYmxvYiApCkBAIC01MzUsOSArNTM1LDkgQEAgc3RhdGljIGludCBzdGFydF9pbmZvX3g4Nl82 NChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAgICAgc3RhcnRfaW5mby0+bWZuX2xpc3QgPSBk b20tPnAybV9zZWcudnN0YXJ0OwogCiAgICAgc3RhcnRfaW5mby0+ZmxhZ3MgPSBkb20tPmZsYWdz OwotICAgIHN0YXJ0X2luZm8tPnN0b3JlX21mbiA9IHhjX2RvbV9wMm1fZ3Vlc3QoZG9tLCBkb20t PnhlbnN0b3JlX3Bmbik7CisgICAgc3RhcnRfaW5mby0+c3RvcmVfbWZuID0geGNfZG9tX3AybShk b20sIGRvbS0+eGVuc3RvcmVfcGZuKTsKICAgICBzdGFydF9pbmZvLT5zdG9yZV9ldnRjaG4gPSBk b20tPnhlbnN0b3JlX2V2dGNobjsKLSAgICBzdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuID0g eGNfZG9tX3AybV9ndWVzdChkb20sIGRvbS0+Y29uc29sZV9wZm4pOworICAgIHN0YXJ0X2luZm8t PmNvbnNvbGUuZG9tVS5tZm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT5jb25zb2xlX3Bmbik7CiAg ICAgc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLmV2dGNobiA9IGRvbS0+Y29uc29sZV9ldnRjaG47 CiAKICAgICBpZiAoIGRvbS0+cmFtZGlza19ibG9iICkKQEAgLTYyMSw3ICs2MjEsNyBAQCBzdGF0 aWMgaW50IHZjcHVfeDg2XzMyKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwgdm9pZCAqcHRyKQog ICAgICAgICAgZG9tLT5wYXJtcy5wYWUgPT0gMyAvKiBiaW1vZGFsICovICkKICAgICAgICAgY3R4 dC0+dm1fYXNzaXN0IHw9ICgxVUwgPDwgVk1BU1NUX1RZUEVfcGFlX2V4dGVuZGVkX2NyMyk7CiAK LSAgICBjcjNfcGZuID0geGNfZG9tX3AybV9ndWVzdChkb20sIGRvbS0+cGd0YWJsZXNfc2VnLnBm bik7CisgICAgY3IzX3BmbiA9IHhjX2RvbV9wMm0oZG9tLCBkb20tPnBndGFibGVzX3NlZy5wZm4p OwogICAgIGN0eHQtPmN0cmxyZWdbM10gPSB4ZW5fcGZuX3RvX2NyM194ODZfMzIoY3IzX3Bmbik7 CiAgICAgRE9NUFJJTlRGKCIlczogY3IzOiBwZm4gMHglIiBQUklwZm4gIiBtZm4gMHglIiBQUklw Zm4gIiIsCiAgICAgICAgICAgICAgIF9fRlVOQ1RJT05fXywgZG9tLT5wZ3RhYmxlc19zZWcucGZu LCBjcjNfcGZuKTsKQEAgLTY0Nyw3ICs2NDcsNyBAQCBzdGF0aWMgaW50IHZjcHVfeDg2XzY0KHN0 cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwgdm9pZCAqcHRyKQogICAgIGN0eHQtPnVzZXJfcmVncy5y ZmxhZ3MgPSAxIDw8IDk7IC8qIEludGVycnVwdCBFbmFibGUgKi8KIAogICAgIGN0eHQtPmZsYWdz ID0gVkdDRl9pbl9rZXJuZWxfWDg2XzY0IHwgVkdDRl9vbmxpbmVfWDg2XzY0OwotICAgIGNyM19w Zm4gPSB4Y19kb21fcDJtX2d1ZXN0KGRvbSwgZG9tLT5wZ3RhYmxlc19zZWcucGZuKTsKKyAgICBj cjNfcGZuID0geGNfZG9tX3AybShkb20sIGRvbS0+cGd0YWJsZXNfc2VnLnBmbik7CiAgICAgY3R4 dC0+Y3RybHJlZ1szXSA9IHhlbl9wZm5fdG9fY3IzX3g4Nl82NChjcjNfcGZuKTsKICAgICBET01Q UklOVEYoIiVzOiBjcjM6IHBmbiAweCUiIFBSSXBmbiAiIG1mbiAweCUiIFBSSXBmbiAiIiwKICAg ICAgICAgICAgICAgX19GVU5DVElPTl9fLCBkb20tPnBndGFibGVzX3NlZy5wZm4sIGNyM19wZm4p OwpAQCAtMTAyMCw3ICsxMDIwLDcgQEAgaW50IGFyY2hfc2V0dXBfYm9vdGxhdGUoc3RydWN0IHhj X2RvbV9pbWFnZSAqZG9tKQogICAgICAgICAvKiBwYXJhdmlydHVhbGl6ZWQgZ3Vlc3QgKi8KICAg ICAgICAgeGNfZG9tX3VubWFwX29uZShkb20sIGRvbS0+cGd0YWJsZXNfc2VnLnBmbik7CiAgICAg ICAgIHJjID0gcGluX3RhYmxlKGRvbS0+eGNoLCBwZ2RfdHlwZSwKLSAgICAgICAgICAgICAgICAg ICAgICAgeGNfZG9tX3AybV9ob3N0KGRvbSwgZG9tLT5wZ3RhYmxlc19zZWcucGZuKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgeGNfZG9tX3AybShkb20sIGRvbS0+cGd0YWJsZXNfc2VnLnBmbiks CiAgICAgICAgICAgICAgICAgICAgICAgIGRvbS0+Z3Vlc3RfZG9taWQpOwogICAgICAgICBpZiAo IHJjICE9IDAgKQogICAgICAgICB7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb20u YyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCmluZGV4IGMyNTE4YTMuLmVhYjZiMjEgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rv bS5jCkBAIC03MzgsOCArNzM4LDggQEAgaW50IGxpYnhsX19idWlsZF9wdihsaWJ4bF9fZ2MgKmdj LCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgc3RhdGUtPmNvbnNvbGVfbWZuID0gZG9tLT5jb25z b2xlX3BmbjsKICAgICAgICAgc3RhdGUtPnN0b3JlX21mbiA9IGRvbS0+eGVuc3RvcmVfcGZuOwog ICAgIH0gZWxzZSB7Ci0gICAgICAgIHN0YXRlLT5jb25zb2xlX21mbiA9IHhjX2RvbV9wMm1faG9z dChkb20sIGRvbS0+Y29uc29sZV9wZm4pOwotICAgICAgICBzdGF0ZS0+c3RvcmVfbWZuID0geGNf ZG9tX3AybV9ob3N0KGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4pOworICAgICAgICBzdGF0ZS0+Y29u c29sZV9tZm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT5jb25zb2xlX3Bmbik7CisgICAgICAgIHN0 YXRlLT5zdG9yZV9tZm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4pOwogICAg IH0KIAogICAgIGxpYnhsX19maWxlX3JlZmVyZW5jZV91bm1hcCgmc3RhdGUtPnB2X2tlcm5lbCk7 Ci0tIAoxLjkuNSAoQXBwbGUgR2l0LTUwLjMpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK