From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 15/19] x86/hvm: Reimplement hvm_copy_*_nofault() in terms of no pagefault_info Date: Mon, 28 Nov 2016 11:13:32 +0000 Message-ID: <1480331616-6165-16-git-send-email-andrew.cooper3@citrix.com> References: <1480331616-6165-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: <1480331616-6165-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: Andrew Cooper , Paul Durrant List-Id: xen-devel@lists.xenproject.org Tm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo QHN1c2UuY29tPgpBY2tlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+Ci0tLQpDQzogUGF1 bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZt L2VtdWxhdGUuYyAgICAgICAgfCAgNiArKy0tLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAgICAg ICAgICAgIHwgNTYgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4v YXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jICAgfCAgOCArKystLS0KIHhlbi9pbmNsdWRlL2Fz bS14ODYvaHZtL3N1cHBvcnQuaCB8IDExIC0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDE5IGlu c2VydGlvbnMoKyksIDYyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9o dm0vZW11bGF0ZS5jIGIveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKaW5kZXggNmRlOTRkNC4u NTE2NWJiMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKKysrIGIveGVu L2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKQEAgLTE5NDcsOSArMTk0Nyw5IEBAIHZvaWQgaHZtX2Vt dWxhdGVfaW5pdF9wZXJfaW5zbigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBodm1fYWNjZXNzX2luc25fZmV0Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaHZtZW11bF9jdHh0LT5jdHh0LmFkZHJfc2l6ZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmYWRkcikgJiYKLSAgICAgICAgICAgICBodm1fZmV0 Y2hfZnJvbV9ndWVzdF92aXJ0X25vZmF1bHQoaHZtZW11bF9jdHh0LT5pbnNuX2J1ZiwgYWRkciwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGh2 bWVtdWxfY3R4dC0+aW5zbl9idWYpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwZmVjKSA9PSBIVk1DT1BZX29rYXkpID8KKyAgICAgICAgICAgICBodm1f ZmV0Y2hfZnJvbV9ndWVzdF92aXJ0KGh2bWVtdWxfY3R4dC0+aW5zbl9idWYsIGFkZHIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaHZtZW11bF9jdHh0LT5p bnNuX2J1ZiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZmVjLCBO VUxMKSA9PSBIVk1DT1BZX29rYXkpID8KICAgICAgICAgICAgIHNpemVvZihodm1lbXVsX2N0eHQt Pmluc25fYnVmKSA6IDA7CiAgICAgfQogICAgIGVsc2UKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDM5MGY3NmQuLjVlYWUw NmEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2 L2h2bS9odm0uYwpAQCAtMzA2Niw4ICszMDY2LDYgQEAgdm9pZCBodm1fdGFza19zd2l0Y2goCiAK ICNkZWZpbmUgSFZNQ09QWV9mcm9tX2d1ZXN0ICgwdTw8MCkKICNkZWZpbmUgSFZNQ09QWV90b19n dWVzdCAgICgxdTw8MCkKLSNkZWZpbmUgSFZNQ09QWV9ub19mYXVsdCAgICgwdTw8MSkKLSNkZWZp bmUgSFZNQ09QWV9mYXVsdCAgICAgICgxdTw8MSkKICNkZWZpbmUgSFZNQ09QWV9waHlzICAgICAg ICgwdTw8MikKICNkZWZpbmUgSFZNQ09QWV92aXJ0ICAgICAgICgxdTw8MikKIHN0YXRpYyBlbnVt IGh2bV9jb3B5X3Jlc3VsdCBfX2h2bV9jb3B5KApAQCAtMzExMiwxMyArMzExMCwxMCBAQCBzdGF0 aWMgZW51bSBodm1fY29weV9yZXN1bHQgX19odm1fY29weSgKICAgICAgICAgICAgICAgICAgICAg cmV0dXJuIEhWTUNPUFlfZ2ZuX3BhZ2VkX291dDsKICAgICAgICAgICAgICAgICBpZiAoIHBmZWMg JiBQRkVDX3BhZ2Vfc2hhcmVkICkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEhWTUNPUFlf Z2ZuX3NoYXJlZDsKLSAgICAgICAgICAgICAgICBpZiAoIGZsYWdzICYgSFZNQ09QWV9mYXVsdCAp CisgICAgICAgICAgICAgICAgaWYgKCBwZmluZm8gKQogICAgICAgICAgICAgICAgIHsKLSAgICAg ICAgICAgICAgICAgICAgaWYgKCBwZmluZm8gKQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg ICAgICAgICAgICAgICAgICAgICBwZmluZm8tPmxpbmVhciA9IGFkZHI7Ci0gICAgICAgICAgICAg ICAgICAgICAgICBwZmluZm8tPmVjID0gcGZlYzsKLSAgICAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgICAgICBwZmluZm8tPmxpbmVhciA9IGFkZHI7CisgICAgICAgICAgICAgICAg ICAgIHBmaW5mby0+ZWMgPSBwZmVjOwogCiAgICAgICAgICAgICAgICAgICAgIGh2bV9pbmplY3Rf cGFnZV9mYXVsdChwZmVjLCBhZGRyKTsKICAgICAgICAgICAgICAgICB9CkBAIC0zMjkwLDE2ICsz Mjg1LDE0IEBAIGVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5X3RvX2d1ZXN0X3BoeXMoCiAg ICAgcGFkZHJfdCBwYWRkciwgdm9pZCAqYnVmLCBpbnQgc2l6ZSkKIHsKICAgICByZXR1cm4gX19o dm1fY29weShidWYsIHBhZGRyLCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgIEhWTUNPUFlf dG9fZ3Vlc3QgfCBIVk1DT1BZX2ZhdWx0IHwgSFZNQ09QWV9waHlzLAotICAgICAgICAgICAgICAg ICAgICAgIDAsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAgIEhWTUNPUFlfdG9fZ3Vlc3Qg fCBIVk1DT1BZX3BoeXMsIDAsIE5VTEwpOwogfQogCiBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1f Y29weV9mcm9tX2d1ZXN0X3BoeXMoCiAgICAgdm9pZCAqYnVmLCBwYWRkcl90IHBhZGRyLCBpbnQg c2l6ZSkKIHsKICAgICByZXR1cm4gX19odm1fY29weShidWYsIHBhZGRyLCBzaXplLAotICAgICAg ICAgICAgICAgICAgICAgIEhWTUNPUFlfZnJvbV9ndWVzdCB8IEhWTUNPUFlfZmF1bHQgfCBIVk1D T1BZX3BoeXMsCi0gICAgICAgICAgICAgICAgICAgICAgMCwgTlVMTCk7CisgICAgICAgICAgICAg ICAgICAgICAgSFZNQ09QWV9mcm9tX2d1ZXN0IHwgSFZNQ09QWV9waHlzLCAwLCBOVUxMKTsKIH0K IAogZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2NvcHlfdG9fZ3Vlc3RfdmlydCgKQEAgLTMzMDcs NyArMzMwMCw3IEBAIGVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5X3RvX2d1ZXN0X3ZpcnQo CiAgICAgcGFnZWZhdWx0X2luZm9fdCAqcGZpbmZvKQogewogICAgIHJldHVybiBfX2h2bV9jb3B5 KGJ1ZiwgdmFkZHIsIHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgSFZNQ09QWV90b19ndWVz dCB8IEhWTUNPUFlfZmF1bHQgfCBIVk1DT1BZX3ZpcnQsCisgICAgICAgICAgICAgICAgICAgICAg SFZNQ09QWV90b19ndWVzdCB8IEhWTUNPUFlfdmlydCwKICAgICAgICAgICAgICAgICAgICAgICBQ RkVDX3BhZ2VfcHJlc2VudCB8IFBGRUNfd3JpdGVfYWNjZXNzIHwgcGZlYywgcGZpbmZvKTsKIH0K IApAQCAtMzMxNiw3ICszMzA5LDcgQEAgZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2NvcHlfZnJv bV9ndWVzdF92aXJ0KAogICAgIHBhZ2VmYXVsdF9pbmZvX3QgKnBmaW5mbykKIHsKICAgICByZXR1 cm4gX19odm1fY29weShidWYsIHZhZGRyLCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgIEhW TUNPUFlfZnJvbV9ndWVzdCB8IEhWTUNPUFlfZmF1bHQgfCBIVk1DT1BZX3ZpcnQsCisgICAgICAg ICAgICAgICAgICAgICAgSFZNQ09QWV9mcm9tX2d1ZXN0IHwgSFZNQ09QWV92aXJ0LAogICAgICAg ICAgICAgICAgICAgICAgIFBGRUNfcGFnZV9wcmVzZW50IHwgcGZlYywgcGZpbmZvKTsKIH0KIApA QCAtMzMyNSwzNCArMzMxOCwxMCBAQCBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fZmV0Y2hfZnJv bV9ndWVzdF92aXJ0KAogICAgIHBhZ2VmYXVsdF9pbmZvX3QgKnBmaW5mbykKIHsKICAgICByZXR1 cm4gX19odm1fY29weShidWYsIHZhZGRyLCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgIEhW TUNPUFlfZnJvbV9ndWVzdCB8IEhWTUNPUFlfZmF1bHQgfCBIVk1DT1BZX3ZpcnQsCisgICAgICAg ICAgICAgICAgICAgICAgSFZNQ09QWV9mcm9tX2d1ZXN0IHwgSFZNQ09QWV92aXJ0LAogICAgICAg ICAgICAgICAgICAgICAgIFBGRUNfcGFnZV9wcmVzZW50IHwgUEZFQ19pbnNuX2ZldGNoIHwgcGZl YywgcGZpbmZvKTsKIH0KIAotZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2NvcHlfdG9fZ3Vlc3Rf dmlydF9ub2ZhdWx0KAotICAgIHVuc2lnbmVkIGxvbmcgdmFkZHIsIHZvaWQgKmJ1ZiwgaW50IHNp emUsIHVpbnQzMl90IHBmZWMpCi17Ci0gICAgcmV0dXJuIF9faHZtX2NvcHkoYnVmLCB2YWRkciwg c2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICBIVk1DT1BZX3RvX2d1ZXN0IHwgSFZNQ09QWV9u b19mYXVsdCB8IEhWTUNPUFlfdmlydCwKLSAgICAgICAgICAgICAgICAgICAgICBQRkVDX3BhZ2Vf cHJlc2VudCB8IFBGRUNfd3JpdGVfYWNjZXNzIHwgcGZlYywgTlVMTCk7Ci19Ci0KLWVudW0gaHZt X2NvcHlfcmVzdWx0IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfdmlydF9ub2ZhdWx0KAotICAgIHZvaWQg KmJ1ZiwgdW5zaWduZWQgbG9uZyB2YWRkciwgaW50IHNpemUsIHVpbnQzMl90IHBmZWMpCi17Ci0g ICAgcmV0dXJuIF9faHZtX2NvcHkoYnVmLCB2YWRkciwgc2l6ZSwKLSAgICAgICAgICAgICAgICAg ICAgICBIVk1DT1BZX2Zyb21fZ3Vlc3QgfCBIVk1DT1BZX25vX2ZhdWx0IHwgSFZNQ09QWV92aXJ0 LAotICAgICAgICAgICAgICAgICAgICAgIFBGRUNfcGFnZV9wcmVzZW50IHwgcGZlYywgTlVMTCk7 Ci19Ci0KLWVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9mZXRjaF9mcm9tX2d1ZXN0X3ZpcnRfbm9m YXVsdCgKLSAgICB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgdmFkZHIsIGludCBzaXplLCB1aW50 MzJfdCBwZmVjKQotewotICAgIHJldHVybiBfX2h2bV9jb3B5KGJ1ZiwgdmFkZHIsIHNpemUsCi0g ICAgICAgICAgICAgICAgICAgICAgSFZNQ09QWV9mcm9tX2d1ZXN0IHwgSFZNQ09QWV9ub19mYXVs dCB8IEhWTUNPUFlfdmlydCwKLSAgICAgICAgICAgICAgICAgICAgICBQRkVDX3BhZ2VfcHJlc2Vu dCB8IFBGRUNfaW5zbl9mZXRjaCB8IHBmZWMsIE5VTEwpOwotfQotCiB1bnNpZ25lZCBsb25nIGNv cHlfdG9fdXNlcl9odm0odm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHVuc2lnbmVkIGludCBs ZW4pCiB7CiAgICAgaW50IHJjOwpAQCAtMzM2NCw4ICszMzMzLDcgQEAgdW5zaWduZWQgbG9uZyBj b3B5X3RvX3VzZXJfaHZtKHZvaWQgKnRvLCBjb25zdCB2b2lkICpmcm9tLCB1bnNpZ25lZCBpbnQg bGVuKQogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICByYyA9IGh2bV9jb3B5X3RvX2d1 ZXN0X3ZpcnRfbm9mYXVsdCgodW5zaWduZWQgbG9uZyl0bywgKHZvaWQgKilmcm9tLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiwgMCk7CisgICAgcmMgPSBodm1f Y29weV90b19ndWVzdF92aXJ0KCh1bnNpZ25lZCBsb25nKXRvLCAodm9pZCAqKWZyb20sIGxlbiwg MCwgTlVMTCk7CiAgICAgcmV0dXJuIHJjID8gbGVuIDogMDsgLyogZmFrZSBhIGNvcHlfdG9fdXNl cigpIHJldHVybiBjb2RlICovCiB9CiAKQEAgLTMzOTUsNyArMzM2Myw3IEBAIHVuc2lnbmVkIGxv bmcgY29weV9mcm9tX3VzZXJfaHZtKHZvaWQgKnRvLCBjb25zdCB2b2lkICpmcm9tLCB1bnNpZ25l ZCBsZW4pCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIHJjID0gaHZtX2NvcHlfZnJv bV9ndWVzdF92aXJ0X25vZmF1bHQodG8sICh1bnNpZ25lZCBsb25nKWZyb20sIGxlbiwgMCk7Cisg ICAgcmMgPSBodm1fY29weV9mcm9tX2d1ZXN0X3ZpcnQodG8sICh1bnNpZ25lZCBsb25nKWZyb20s IGxlbiwgMCwgTlVMTCk7CiAgICAgcmV0dXJuIHJjID8gbGVuIDogMDsgLyogZmFrZSBhIGNvcHlf ZnJvbV91c2VyKCkgcmV0dXJuIGNvZGUgKi8KIH0KIApAQCAtNDA3MCw4ICs0MDM4LDggQEAgdm9p ZCBodm1fdWRfaW50ZXJjZXB0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChodm1fbG9uZ19tb2RlX2VuYWJsZWQoY3Vy KSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcy0+YXR0ci5m aWVsZHMubCkgPyA2NCA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3MtPmF0dHIuZmllbGRzLmRiID8gMzIgOiAxNiwgJmFkZHIpICYmCi0gICAgICAgICAgICAgKGh2 bV9mZXRjaF9mcm9tX2d1ZXN0X3ZpcnRfbm9mYXVsdChzaWcsIGFkZHIsIHNpemVvZihzaWcpLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FsaykgPT0g SFZNQ09QWV9va2F5KSAmJgorICAgICAgICAgICAgIChodm1fZmV0Y2hfZnJvbV9ndWVzdF92aXJ0 KHNpZywgYWRkciwgc2l6ZW9mKHNpZyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgd2FsaywgTlVMTCkgPT0gSFZNQ09QWV9va2F5KSAmJgogICAgICAgICAgICAgICht ZW1jbXAoc2lnLCAiXHhmXHhieGVuIiwgc2l6ZW9mKHNpZykpID09IDApICkKICAgICAgICAgewog ICAgICAgICAgICAgcmVncy0+ZWlwICs9IHNpemVvZihzaWcpOwpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L21tL3NoYWRvdy9jb21tb24uYyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9u LmMKaW5kZXggZTg1MDFjZS4uYjY1OTMyNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3No YWRvdy9jb21tb24uYworKysgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCkBAIC00 MTksOCArNDE5LDggQEAgY29uc3Qgc3RydWN0IHg4Nl9lbXVsYXRlX29wcyAqc2hhZG93X2luaXRf ZW11bGF0aW9uKAogICAgICAgICAoIWh2bV90cmFuc2xhdGVfbGluZWFyX2FkZHIoCiAgICAgICAg ICAgICB4ODZfc2VnX2NzLCByZWdzLT5laXAsIHNpemVvZihzaF9jdHh0LT5pbnNuX2J1ZiksCiAg ICAgICAgICAgICBodm1fYWNjZXNzX2luc25fZmV0Y2gsIHNoX2N0eHQsICZhZGRyKSAmJgotICAg ICAgICAgIWh2bV9mZXRjaF9mcm9tX2d1ZXN0X3ZpcnRfbm9mYXVsdCgKLSAgICAgICAgICAgICBz aF9jdHh0LT5pbnNuX2J1ZiwgYWRkciwgc2l6ZW9mKHNoX2N0eHQtPmluc25fYnVmKSwgMCkpCisg ICAgICAgICAhaHZtX2ZldGNoX2Zyb21fZ3Vlc3RfdmlydCgKKyAgICAgICAgICAgICBzaF9jdHh0 LT5pbnNuX2J1ZiwgYWRkciwgc2l6ZW9mKHNoX2N0eHQtPmluc25fYnVmKSwgMCwgTlVMTCkpCiAg ICAgICAgID8gc2l6ZW9mKHNoX2N0eHQtPmluc25fYnVmKSA6IDA7CiAKICAgICByZXR1cm4gJmh2 bV9zaGFkb3dfZW11bGF0b3Jfb3BzOwpAQCAtNDQ3LDggKzQ0Nyw4IEBAIHZvaWQgc2hhZG93X2Nv bnRpbnVlX2VtdWxhdGlvbihzdHJ1Y3Qgc2hfZW11bGF0ZV9jdHh0ICpzaF9jdHh0LAogICAgICAg ICAgICAgICAgICghaHZtX3RyYW5zbGF0ZV9saW5lYXJfYWRkcigKICAgICAgICAgICAgICAgICAg ICAgeDg2X3NlZ19jcywgcmVncy0+ZWlwLCBzaXplb2Yoc2hfY3R4dC0+aW5zbl9idWYpLAogICAg ICAgICAgICAgICAgICAgICBodm1fYWNjZXNzX2luc25fZmV0Y2gsIHNoX2N0eHQsICZhZGRyKSAm JgotICAgICAgICAgICAgICAgICAhaHZtX2ZldGNoX2Zyb21fZ3Vlc3RfdmlydF9ub2ZhdWx0KAot ICAgICAgICAgICAgICAgICAgICAgc2hfY3R4dC0+aW5zbl9idWYsIGFkZHIsIHNpemVvZihzaF9j dHh0LT5pbnNuX2J1ZiksIDApKQorICAgICAgICAgICAgICAgICAhaHZtX2ZldGNoX2Zyb21fZ3Vl c3RfdmlydCgKKyAgICAgICAgICAgICAgICAgICAgIHNoX2N0eHQtPmluc25fYnVmLCBhZGRyLCBz aXplb2Yoc2hfY3R4dC0+aW5zbl9idWYpLCAwLCBOVUxMKSkKICAgICAgICAgICAgICAgICA/IHNp emVvZihzaF9jdHh0LT5pbnNuX2J1ZikgOiAwOwogICAgICAgICAgICAgc2hfY3R4dC0+aW5zbl9i dWZfZWlwID0gcmVncy0+ZWlwOwogICAgICAgICB9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS9zdXBwb3J0LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmgK aW5kZXggNGFhNWEzNi4uMTE0YWEwNCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9o dm0vc3VwcG9ydC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N1cHBvcnQuaApAQCAt MTA1LDE3ICsxMDUsNiBAQCBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fZmV0Y2hfZnJvbV9ndWVz dF92aXJ0KAogICAgIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyB2YWRkciwgaW50IHNpemUsIHVp bnQzMl90IHBmZWMsCiAgICAgcGFnZWZhdWx0X2luZm9fdCAqcGZpbmZvKTsKIAotLyoKLSAqIEFz IGFib3ZlIChjb3B5IHRvL2Zyb20gYSBndWVzdCB2aXJ0dWFsIGFkZHJlc3MpLCBidXQgbm8gZmF1 bHQgaXMgZ2VuZXJhdGVkCi0gKiB3aGVuIEhWTUNPUFlfYmFkX2d2YV90b19nZm4gaXMgcmV0dXJu ZWQuCi0gKi8KLWVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5X3RvX2d1ZXN0X3ZpcnRfbm9m YXVsdCgKLSAgICB1bnNpZ25lZCBsb25nIHZhZGRyLCB2b2lkICpidWYsIGludCBzaXplLCB1aW50 MzJfdCBwZmVjKTsKLWVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5X2Zyb21fZ3Vlc3Rfdmly dF9ub2ZhdWx0KAotICAgIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyB2YWRkciwgaW50IHNpemUs IHVpbnQzMl90IHBmZWMpOwotZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2ZldGNoX2Zyb21fZ3Vl c3RfdmlydF9ub2ZhdWx0KAotICAgIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyB2YWRkciwgaW50 IHNpemUsIHVpbnQzMl90IHBmZWMpOwotCiAjZGVmaW5lIEhWTV9IQ0FMTF9jb21wbGV0ZWQgIDAg LyogaHlwZXJjYWxsIGNvbXBsZXRlZCAtIG5vIGZ1cnRoZXIgYWN0aW9uICovCiAjZGVmaW5lIEhW TV9IQ0FMTF9wcmVlbXB0ZWQgIDEgLyogaHlwZXJjYWxsIHByZWVtcHRlZCAtIHJlLWV4ZWN1dGUg Vk1DQUxMICovCiAjZGVmaW5lIEhWTV9IQ0FMTF9pbnZhbGlkYXRlIDIgLyogaW52YWxpZGF0ZSBp b2VtdS1kbSBtZW1vcnkgY2FjaGUgICAgICAgICovCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=