From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/2] x86/vmx: Drop ept_get_*() helpers Date: Mon, 30 Jan 2017 16:54:03 +0000 Message-ID: <1485795243-15484-2-git-send-email-andrew.cooper3@citrix.com> References: <1485795243-15484-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1485795243-15484-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Kevin Tian , Jun Nakajima , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhlIGVwdF9nZXRfKigpIGhlbHBlcnMgYXJlIG5vdCB1c2VkIGNvbnNpc3RlbnRseSwgYW5kIGFy ZSBtb3JlIHZlcmJvc2UgdGhhbgp0aGUgY29kZSB0aGV5IHdyYXAuICBEcm9wIHRoZSB3cmFwcGVy cyBhbmQgdXNlIHRoZSBpbnRlcm5hbCB1bmlvbiBuYW1lcwpjb25zaXN0ZW50bHkuCgpXaGlsZSBt YWtpbmcgdGhlc2UgYWRqdXN0bWVudHMsIGRyb3AgdGhlIHJlZHVuZGFudCBlcHRfKiBwcmVmaXgg ZnJvbSBtdCwgd2wKYW5kIGFkLCBhbmQgcmVuYW1lIHRoZSBhc3IgZmllbGQgdG8gbWZuIGZvciBj b25zaXN0ZW5jeSB3aXRoIFhlbidzIGV4aXN0aW5nCnRlcm1pbm9sb2d5LgoKTm8gZnVuY3Rpb25h bCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0Bj aXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IEdl b3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KQ0M6IEp1biBOYWthamlt YSA8anVuLm5ha2FqaW1hQGludGVsLmNvbT4KQ0M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50 ZWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYyAgICAgICAgfCAgNiArKyst LS0KIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jICAgICAgICAgfCAgNiArKystLS0KIHhlbi9h cmNoL3g4Ni9odm0vdm14L3Z2bXguYyAgICAgICAgfCAgOSArKystLS0tLQogeGVuL2FyY2gveDg2 L21tL3AybS1lcHQuYyAgICAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm1jcy5oIHwgMTYgKysrKysr LS0tLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jIGIveGVuL2FyY2gv eDg2L2h2bS92bXgvdm1jcy5jCmluZGV4IDU5ZWYxOTkuLjNmZTE3ODMgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNz LmMKQEAgLTEyNDcsOCArMTI0Nyw4IEBAIHN0YXRpYyBpbnQgY29uc3RydWN0X3ZtY3Moc3RydWN0 IHZjcHUgKnYpCiAgICAgICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBwMm1fZ2V0X2hvc3Rw Mm0oZCk7CiAgICAgICAgIHN0cnVjdCBlcHRfZGF0YSAqZXB0ID0gJnAybS0+ZXB0OwogCi0gICAg ICAgIGVwdC0+YXNyICA9IHBhZ2V0YWJsZV9nZXRfcGZuKHAybV9nZXRfcGFnZXRhYmxlKHAybSkp OwotICAgICAgICBfX3Ztd3JpdGUoRVBUX1BPSU5URVIsIGVwdF9nZXRfZXB0cChlcHQpKTsKKyAg ICAgICAgZXB0LT5tZm4gPSBwYWdldGFibGVfZ2V0X3BmbihwMm1fZ2V0X3BhZ2V0YWJsZShwMm0p KTsKKyAgICAgICAgX192bXdyaXRlKEVQVF9QT0lOVEVSLCBlcHQtPmVwdHApOwogICAgIH0KIAog ICAgIGlmICggcGFnaW5nX21vZGVfaGFwKGQpICkKQEAgLTE1OTMsNyArMTU5Myw3IEBAIHZvaWQg dm14X2RvbWFpbl91cGRhdGVfZXB0cChzdHJ1Y3QgZG9tYWluICpkKQogICAgIEFTU0VSVChhdG9t aWNfcmVhZCgmZC0+cGF1c2VfY291bnQpKTsKIAogICAgIGZvcl9lYWNoX3ZjcHUgKCBkLCB2ICkK LSAgICAgICAgdm14X3ZjcHVfdXBkYXRlX2VwdHAodiwgZXB0X2dldF9lcHRwKCZwMm0tPmVwdCkp OworICAgICAgICB2bXhfdmNwdV91cGRhdGVfZXB0cCh2LCBwMm0tPmVwdC5lcHRwKTsKIAogICAg IGVwdF9zeW5jX2RvbWFpbihwMm0pOwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92 bXgvdm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwppbmRleCBlY2E0ZjdkLi45MDc4 Y2Y5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYworKysgYi94ZW4vYXJj aC94ODYvaHZtL3ZteC92bXguYwpAQCAtMTk5NiwxMSArMTk5NiwxMSBAQCBzdGF0aWMgdm9pZCB2 bXhfdmNwdV91cGRhdGVfZXB0cChzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgcDJtID0gcDJtX2dl dF9ob3N0cDJtKGQpOwogCiAgICAgZXB0ID0gJnAybS0+ZXB0OwotICAgIGVwdC0+YXNyID0gcGFn ZXRhYmxlX2dldF9wZm4ocDJtX2dldF9wYWdldGFibGUocDJtKSk7CisgICAgZXB0LT5tZm4gPSBw YWdldGFibGVfZ2V0X3BmbihwMm1fZ2V0X3BhZ2V0YWJsZShwMm0pKTsKIAogICAgIHZteF92bWNz X2VudGVyKHYpOwogCi0gICAgX192bXdyaXRlKEVQVF9QT0lOVEVSLCBlcHRfZ2V0X2VwdHAoZXB0 KSk7CisgICAgX192bXdyaXRlKEVQVF9QT0lOVEVSLCBlcHQtPmVwdHApOwogCiAgICAgaWYgKCB2 LT5hcmNoLmh2bV92bXguc2Vjb25kYXJ5X2V4ZWNfY29udHJvbCAmCiAgICAgICAgICBTRUNPTkRB UllfRVhFQ19FTkFCTEVfVklSVF9FWENFUFRJT05TICkKQEAgLTM5NTMsNyArMzk1Myw3IEBAIHZv aWQgdm14X3ZtZW50ZXJfaGVscGVyKGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQog ICAgICAgICBpZiAoIGNwdW1hc2tfdGVzdF9jcHUoY3B1LCBlcHQtPmludmFsaWRhdGUpICkKICAg ICAgICAgewogICAgICAgICAgICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCBlcHQtPmludmFsaWRh dGUpOwotICAgICAgICAgICAgX19pbnZlcHQoSU5WRVBUX1NJTkdMRV9DT05URVhULCBlcHRfZ2V0 X2VwdHAoZXB0KSwgMCk7CisgICAgICAgICAgICBfX2ludmVwdChJTlZFUFRfU0lOR0xFX0NPTlRF WFQsIGVwdC0+ZXB0cCwgMCk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9odm0vdm14L3Z2bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYwppbmRl eCA5Y2FlYmU1Li41YWNiODhhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14 LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jCkBAIC0xMDQzLDE2ICsxMDQzLDEz IEBAIHVpbnQ2NF90IGdldF9zaGFkb3dfZXB0cChzdHJ1Y3QgdmNwdSAqdikKICAgICBzdHJ1Y3Qg cDJtX2RvbWFpbiAqcDJtID0gcDJtX2dldF9uZXN0ZWRwMm0odiwgbnAybV9iYXNlKTsKICAgICBz dHJ1Y3QgZXB0X2RhdGEgKmVwdCA9ICZwMm0tPmVwdDsKIAotICAgIGVwdC0+YXNyID0gcGFnZXRh YmxlX2dldF9wZm4ocDJtX2dldF9wYWdldGFibGUocDJtKSk7Ci0gICAgcmV0dXJuIGVwdF9nZXRf ZXB0cChlcHQpOworICAgIGVwdC0+bWZuID0gcGFnZXRhYmxlX2dldF9wZm4ocDJtX2dldF9wYWdl dGFibGUocDJtKSk7CisgICAgcmV0dXJuIGVwdC0+ZXB0cDsKIH0KIAogc3RhdGljIHVpbnQ2NF90 IGdldF9ob3N0X2VwdHAoc3RydWN0IHZjcHUgKnYpCiB7Ci0gICAgc3RydWN0IGRvbWFpbiAqZCA9 IHYtPmRvbWFpbjsKLSAgICBzdHJ1Y3QgZXB0X2RhdGEgKmVwdF9kYXRhID0gJnAybV9nZXRfaG9z dHAybShkKS0+ZXB0OwotCi0gICAgcmV0dXJuIGVwdF9nZXRfZXB0cChlcHRfZGF0YSk7CisgICAg cmV0dXJuIHAybV9nZXRfaG9zdHAybSh2LT5kb21haW4pLT5lcHQuZXB0cDsKIH0KIAogc3RhdGlj IGJvb2xfdCBudm14X3ZwaWRfZW5hYmxlZChjb25zdCBzdHJ1Y3QgdmNwdSAqdikKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5j CmluZGV4IDA0ODc4ZjUuLjZjMWI4MzUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0t ZXB0LmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYwpAQCAtNDMwLDcgKzQzMCw3IEBA IHN0YXRpYyBpbnQgZXB0X2ludmFsaWRhdGVfZW10X3JhbmdlKHN0cnVjdCBwMm1fZG9tYWluICpw Mm0sCiAgICAgaW50IHdyYywgcmMgPSAwLCByZXQgPSBHVUVTVF9UQUJMRV9NQVBfRkFJTEVEOwog CiAgICAgdGFibGUgPSBtYXBfZG9tYWluX3BhZ2UoX21mbihwYWdldGFibGVfZ2V0X3BmbihwMm1f Z2V0X3BhZ2V0YWJsZShwMm0pKSkpOwotICAgIGZvciAoIGkgPSBlcHRfZ2V0X3dsKCZwMm0tPmVw dCk7IGkgPiB0YXJnZXQ7IC0taSApCisgICAgZm9yICggaSA9IHAybS0+ZXB0LndsOyBpID4gdGFy Z2V0OyAtLWkgKQogICAgIHsKICAgICAgICAgcmV0ID0gZXB0X25leHRfbGV2ZWwocDJtLCAxLCAm dGFibGUsICZnZm5fcmVtYWluZGVyLCBpKTsKICAgICAgICAgaWYgKCByZXQgPT0gR1VFU1RfVEFC TEVfTUFQX0ZBSUxFRCApCkBAIC01MDAsOCArNTAwLDggQEAgc3RhdGljIGludCBlcHRfaW52YWxp ZGF0ZV9lbXRfcmFuZ2Uoc3RydWN0IHAybV9kb21haW4gKnAybSwKIHN0YXRpYyBpbnQgcmVzb2x2 ZV9taXNjb25maWcoc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBnZm4pCiB7 CiAgICAgc3RydWN0IGVwdF9kYXRhICplcHQgPSAmcDJtLT5lcHQ7Ci0gICAgdW5zaWduZWQgaW50 IGxldmVsID0gZXB0X2dldF93bChlcHQpOwotICAgIHVuc2lnbmVkIGxvbmcgbWZuID0gZXB0X2dl dF9hc3IoZXB0KTsKKyAgICB1bnNpZ25lZCBpbnQgbGV2ZWwgPSBlcHQtPndsOworICAgIHVuc2ln bmVkIGxvbmcgbWZuID0gZXB0LT5tZm47CiAgICAgZXB0X2VudHJ5X3QgKmVwdGU7CiAgICAgaW50 IHdyYywgcmMgPSAwOwogCkBAIC02ODcsNyArNjg3LDcgQEAgZXB0X3NldF9lbnRyeShzdHJ1Y3Qg cDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZuX3QgbWZuLAogICAgICAqIDMu IHBhc3NpbmcgYSB2YWxpZCBvcmRlci4KICAgICAgKi8KICAgICBpZiAoICgoZ2ZuIHwgbWZuX3go bWZuKSkgJiAoKDFVTCA8PCBvcmRlcikgLSAxKSkgfHwKLSAgICAgICAgICgodTY0KWdmbiA+PiAo KGVwdF9nZXRfd2woZXB0KSArIDEpICogRVBUX1RBQkxFX09SREVSKSkgfHwKKyAgICAgICAgICgo dTY0KWdmbiA+PiAoKGVwdC0+d2wgKyAxKSAqIEVQVF9UQUJMRV9PUkRFUikpIHx8CiAgICAgICAg ICAob3JkZXIgJSBFUFRfVEFCTEVfT1JERVIpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAK QEAgLTcwNCw3ICs3MDQsNyBAQCBlcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0s IHVuc2lnbmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4sCiAgICAgdGFibGUgPSBtYXBfZG9tYWluX3Bh Z2UoX21mbihwYWdldGFibGVfZ2V0X3BmbihwMm1fZ2V0X3BhZ2V0YWJsZShwMm0pKSkpOwogCiAg ICAgcmV0ID0gR1VFU1RfVEFCTEVfTUFQX0ZBSUxFRDsKLSAgICBmb3IgKCBpID0gZXB0X2dldF93 bChlcHQpOyBpID4gdGFyZ2V0OyBpLS0gKQorICAgIGZvciAoIGkgPSBlcHQtPndsOyBpID4gdGFy Z2V0OyBpLS0gKQogICAgIHsKICAgICAgICAgcmV0ID0gZXB0X25leHRfbGV2ZWwocDJtLCAwLCAm dGFibGUsICZnZm5fcmVtYWluZGVyLCBpKTsKICAgICAgICAgaWYgKCAhcmV0ICkKQEAgLTg5OCw3 ICs4OTgsNyBAQCBzdGF0aWMgbWZuX3QgZXB0X2dldF9lbnRyeShzdHJ1Y3QgcDJtX2RvbWFpbiAq cDJtLAogICAgIC8qIFRoaXMgcGZuIGlzIGhpZ2hlciB0aGFuIHRoZSBoaWdoZXN0IHRoZSBwMm0g bWFwIGN1cnJlbnRseSBob2xkcyAqLwogICAgIGlmICggZ2ZuID4gcDJtLT5tYXhfbWFwcGVkX3Bm biApCiAgICAgewotICAgICAgICBmb3IgKCBpID0gZXB0X2dldF93bChlcHQpOyBpID4gMDsgLS1p ICkKKyAgICAgICAgZm9yICggaSA9IGVwdC0+d2w7IGkgPiAwOyAtLWkgKQogICAgICAgICAgICAg aWYgKCAoZ2ZuICYgfigoMVVMIDw8IChpICogRVBUX1RBQkxFX09SREVSKSkgLSAxKSkgPgogICAg ICAgICAgICAgICAgICBwMm0tPm1heF9tYXBwZWRfcGZuICkKICAgICAgICAgICAgICAgICBicmVh azsKQEAgLTkwNyw3ICs5MDcsNyBAQCBzdGF0aWMgbWZuX3QgZXB0X2dldF9lbnRyeShzdHJ1Y3Qg cDJtX2RvbWFpbiAqcDJtLAogCiAgICAgLyogU2hvdWxkIGNoZWNrIGlmIGdmbiBvYmV5cyBHQVcg aGVyZS4gKi8KIAotICAgIGZvciAoIGkgPSBlcHRfZ2V0X3dsKGVwdCk7IGkgPiAwOyBpLS0gKQor ICAgIGZvciAoIGkgPSBlcHQtPndsOyBpID4gMDsgaS0tICkKICAgICB7CiAgICAgcmV0cnk6CiAg ICAgICAgIGlmICggdGFibGVbZ2ZuX3JlbWFpbmRlciA+PiAoaSAqIEVQVF9UQUJMRV9PUkRFUild LnJlY2FsYyApCkBAIC0xMDA5LDcgKzEwMDksNyBAQCB2b2lkIGVwdF93YWxrX3RhYmxlKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuKQogICAgICAgICBnb3RvIG91dDsKICAgICB9 CiAKLSAgICBmb3IgKCBpID0gZXB0X2dldF93bChlcHQpOyBpID49IDA7IGktLSApCisgICAgZm9y ICggaSA9IGVwdC0+d2w7IGkgPj0gMDsgaS0tICkKICAgICB7CiAgICAgICAgIGVwdF9lbnRyeV90 ICplcHRfZW50cnksICpuZXh0OwogICAgICAgICB1MzIgaW5kZXg7CkBAIC0xMDQzLDEyICsxMDQz LDEyIEBAIHZvaWQgZXB0X3dhbGtfdGFibGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9u ZyBnZm4pCiBzdGF0aWMgdm9pZCBlcHRfY2hhbmdlX2VudHJ5X3R5cGVfZ2xvYmFsKHN0cnVjdCBw Mm1fZG9tYWluICpwMm0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHAybV90eXBlX3Qgb3QsIHAybV90eXBlX3QgbnQpCiB7Ci0gICAgdW5zaWduZWQgbG9uZyBtZm4g PSBlcHRfZ2V0X2FzcigmcDJtLT5lcHQpOworICAgIHVuc2lnbmVkIGxvbmcgbWZuID0gcDJtLT5l cHQubWZuOwogCiAgICAgaWYgKCAhbWZuICkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCBl cHRfaW52YWxpZGF0ZV9lbXQoX21mbihtZm4pLCAxLCBlcHRfZ2V0X3dsKCZwMm0tPmVwdCkpICkK KyAgICBpZiAoIGVwdF9pbnZhbGlkYXRlX2VtdChfbWZuKG1mbiksIDEsIHAybS0+ZXB0LndsKSAp CiAgICAgICAgIGVwdF9zeW5jX2RvbWFpbihwMm0pOwogfQogCkBAIC0xMDU3LDExICsxMDU3LDEx IEBAIHN0YXRpYyBpbnQgZXB0X2NoYW5nZV9lbnRyeV90eXBlX3JhbmdlKHN0cnVjdCBwMm1fZG9t YWluICpwMm0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBsb25nIGZpcnN0X2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGxvbmcgbGFzdF9nZm4pCiB7Ci0gICAgdW5zaWduZWQgaW50IGksIHdsID0gZXB0 X2dldF93bCgmcDJtLT5lcHQpOworICAgIHVuc2lnbmVkIGludCBpLCB3bCA9IHAybS0+ZXB0Lnds OwogICAgIHVuc2lnbmVkIGxvbmcgbWFzayA9ICgxIDw8IEVQVF9UQUJMRV9PUkRFUikgLSAxOwog ICAgIGludCByYyA9IDAsIHN5bmMgPSAwOwogCi0gICAgaWYgKCAhZXB0X2dldF9hc3IoJnAybS0+ ZXB0KSApCisgICAgaWYgKCBwMm0tPmVwdC5tZm4gKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsK IAogICAgIGZvciAoIGkgPSAwOyBpIDw9IHdsOyApCkBAIC0xMTAxLDEyICsxMTAxLDEyIEBAIHN0 YXRpYyBpbnQgZXB0X2NoYW5nZV9lbnRyeV90eXBlX3JhbmdlKHN0cnVjdCBwMm1fZG9tYWluICpw Mm0sCiAKIHN0YXRpYyB2b2lkIGVwdF9tZW1vcnlfdHlwZV9jaGFuZ2VkKHN0cnVjdCBwMm1fZG9t YWluICpwMm0pCiB7Ci0gICAgdW5zaWduZWQgbG9uZyBtZm4gPSBlcHRfZ2V0X2FzcigmcDJtLT5l cHQpOworICAgIHVuc2lnbmVkIGxvbmcgbWZuID0gcDJtLT5lcHQubWZuOwogCiAgICAgaWYgKCAh bWZuICkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCBlcHRfaW52YWxpZGF0ZV9lbXQoX21m bihtZm4pLCAwLCBlcHRfZ2V0X3dsKCZwMm0tPmVwdCkpICkKKyAgICBpZiAoIGVwdF9pbnZhbGlk YXRlX2VtdChfbWZuKG1mbiksIDAsIHAybS0+ZXB0LndsKSApCiAgICAgICAgIGVwdF9zeW5jX2Rv bWFpbihwMm0pOwogfQogCkBAIC0xMTc5LDcgKzExNzksNyBAQCBzdGF0aWMgdm9pZCBlcHRfZW5h YmxlX3BtbChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQogICAgICAgICByZXR1cm47CiAKICAgICAv KiBFbmFibGUgRVBUIEEvRCBiaXQgZm9yIFBNTCAqLwotICAgIHAybS0+ZXB0LmVwdF9hZCA9IDE7 CisgICAgcDJtLT5lcHQuYWQgPSAxOwogICAgIHZteF9kb21haW5fdXBkYXRlX2VwdHAocDJtLT5k b21haW4pOwogfQogCkBAIC0xMTkxLDcgKzExOTEsNyBAQCBzdGF0aWMgdm9pZCBlcHRfZGlzYWJs ZV9wbWwoc3RydWN0IHAybV9kb21haW4gKnAybSkKICAgICB2bXhfZG9tYWluX2Rpc2FibGVfcG1s KHAybS0+ZG9tYWluKTsKIAogICAgIC8qIERpc2FibGUgRVBUIEEvRCBiaXQgKi8KLSAgICBwMm0t PmVwdC5lcHRfYWQgPSAwOworICAgIHAybS0+ZXB0LmFkID0gMDsKICAgICB2bXhfZG9tYWluX3Vw ZGF0ZV9lcHRwKHAybS0+ZG9tYWluKTsKIH0KIApAQCAtMTIxNiwxMCArMTIxNiwxMCBAQCBpbnQg ZXB0X3AybV9pbml0KHN0cnVjdCBwMm1fZG9tYWluICpwMm0pCiAgICAgcDJtLT50bGJfZmx1c2gg PSBlcHRfdGxiX2ZsdXNoOwogCiAgICAgLyogU2V0IHRoZSBtZW1vcnkgdHlwZSB1c2VkIHdoZW4g YWNjZXNzaW5nIEVQVCBwYWdpbmcgc3RydWN0dXJlcy4gKi8KLSAgICBlcHQtPmVwdF9tdCA9IEVQ VF9ERUZBVUxUX01UOworICAgIGVwdC0+bXQgPSBFUFRfREVGQVVMVF9NVDsKIAogICAgIC8qIHNl dCBFUFQgcGFnZS13YWxrIGxlbmd0aCwgbm93IGl0J3MgYWN0dWFsIHdhbGsgbGVuZ3RoIC0gMSwg aS5lLiAzICovCi0gICAgZXB0LT5lcHRfd2wgPSAzOworICAgIGVwdC0+d2wgPSAzOwogCiAgICAg aWYgKCBjcHVfaGFzX3ZteF9wbWwgKQogICAgIHsKQEAgLTEyODksNyArMTI4OSw3IEBAIHN0YXRp YyB2b2lkIGVwdF9kdW1wX3AybV90YWJsZSh1bnNpZ25lZCBjaGFyIGtleSkKICAgICAgICAgICAg IGdmbl9yZW1haW5kZXIgPSBnZm47CiAgICAgICAgICAgICB0YWJsZSA9IG1hcF9kb21haW5fcGFn ZShfbWZuKHBhZ2V0YWJsZV9nZXRfcGZuKHAybV9nZXRfcGFnZXRhYmxlKHAybSkpKSk7CiAKLSAg ICAgICAgICAgIGZvciAoIGkgPSBlcHRfZ2V0X3dsKGVwdCk7IGkgPiAwOyBpLS0gKQorICAgICAg ICAgICAgZm9yICggaSA9IGVwdC0+d2w7IGkgPiAwOyBpLS0gKQogICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgIGVwdF9lbnRyeSA9IHRhYmxlICsgKGdmbl9yZW1haW5kZXIgPj4gKGkgKiBF UFRfVEFCTEVfT1JERVIpKTsKICAgICAgICAgICAgICAgICBpZiAoIGVwdF9lbnRyeS0+ZW10ID09 IE1UUlJfTlVNX1RZUEVTICkKQEAgLTEzMzcsOCArMTMzNyw4IEBAIHZvaWQgcDJtX2luaXRfYWx0 cDJtX2VwdChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaSkKICAgICBwMm0tPm1pbl9y ZW1hcHBlZF9nZm4gPSBnZm5feChJTlZBTElEX0dGTik7CiAgICAgcDJtLT5tYXhfcmVtYXBwZWRf Z2ZuID0gMDsKICAgICBlcHQgPSAmcDJtLT5lcHQ7Ci0gICAgZXB0LT5hc3IgPSBwYWdldGFibGVf Z2V0X3BmbihwMm1fZ2V0X3BhZ2V0YWJsZShwMm0pKTsKLSAgICBkLT5hcmNoLmFsdHAybV9lcHRw W2ldID0gZXB0X2dldF9lcHRwKGVwdCk7CisgICAgZXB0LT5tZm4gPSBwYWdldGFibGVfZ2V0X3Bm bihwMm1fZ2V0X3BhZ2V0YWJsZShwMm0pKTsKKyAgICBkLT5hcmNoLmFsdHAybV9lcHRwW2ldID0g ZXB0LT5lcHRwOwogfQogCiB1bnNpZ25lZCBpbnQgcDJtX2ZpbmRfYWx0cDJtX2J5X2VwdHAoc3Ry dWN0IGRvbWFpbiAqZCwgdWludDY0X3QgZXB0cCkKQEAgLTEzNTcsNyArMTM1Nyw3IEBAIHVuc2ln bmVkIGludCBwMm1fZmluZF9hbHRwMm1fYnlfZXB0cChzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRf dCBlcHRwKQogICAgICAgICBwMm0gPSBkLT5hcmNoLmFsdHAybV9wMm1baV07CiAgICAgICAgIGVw dCA9ICZwMm0tPmVwdDsKIAotICAgICAgICBpZiAoIGVwdHAgPT0gZXB0X2dldF9lcHRwKGVwdCkg KQorICAgICAgICBpZiAoIGVwdHAgPT0gZXB0LT5lcHRwICkKICAgICAgICAgICAgIGdvdG8gb3V0 OwogICAgIH0KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3Mu aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bWNzLmgKaW5kZXggZDcxZGUwNC4uMzNm ZTdkNiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaAorKysg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm1jcy5oCkBAIC01OCwxMiArNTgsMTIgQEAg c3RydWN0IHZteF9tc3Jfc3RhdGUgewogCiBzdHJ1Y3QgZXB0X2RhdGEgewogICAgIHVuaW9uIHsK LSAgICBzdHJ1Y3QgewotICAgICAgICAgICAgdTY0IGVwdF9tdCA6MywKLSAgICAgICAgICAgICAg ICBlcHRfd2wgOjMsCi0gICAgICAgICAgICAgICAgZXB0X2FkIDoxLCAgLyogYml0IDYgLSBlbmFi bGUgRVBUIEEvRCBiaXRzICovCi0gICAgICAgICAgICAgICAgcnN2ZCAgIDo1LAotICAgICAgICAg ICAgICAgIGFzciAgICA6NTI7CisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1aW50NjRf dCBtdDozLCAgIC8qIE1lbW9yeSBUeXBlLiAqLworICAgICAgICAgICAgICAgICAgICAgd2w6Mywg ICAvKiBXYWxrIGxlbmd0aCAtMS4gKi8KKyAgICAgICAgICAgICAgICAgICAgIGFkOjEsICAgLyog RW5hYmxlIEVQVCBBL0QgYml0cy4gKi8KKyAgICAgICAgICAgICAgICAgICAgIDo1LCAgICAgLyog cnN2ZC4gKi8KKyAgICAgICAgICAgICAgICAgICAgIG1mbjo1MjsKICAgICAgICAgfTsKICAgICAg ICAgdTY0IGVwdHA7CiAgICAgfTsKQEAgLTk1LDEwICs5NSw2IEBAIHN0cnVjdCBwaV9kZXNjIHsK ICAgICB1MzIgcnN2ZFs2XTsKIH0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKDY0KSkpOwogCi0j ZGVmaW5lIGVwdF9nZXRfd2woZXB0KSAgICgoZXB0KS0+ZXB0X3dsKQotI2RlZmluZSBlcHRfZ2V0 X2FzcihlcHQpICAoKGVwdCktPmFzcikKLSNkZWZpbmUgZXB0X2dldF9lcHRwKGVwdCkgKChlcHQp LT5lcHRwKQotCiAjZGVmaW5lIE5SX1BNTF9FTlRSSUVTICAgNTEyCiAKIHN0cnVjdCBwaV9ibG9j a2luZ192Y3B1IHsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==