From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 20/24] x86/hvm: Reimplement hvm_copy_*_nofault() in terms of no pagefault_info Date: Wed, 30 Nov 2016 13:50:37 +0000 Message-ID: <1480513841-7565-21-git-send-email-andrew.cooper3@citrix.com> References: <1480513841-7565-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: <1480513841-7565-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 List-Id: xen-devel@lists.xenproject.org Tm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo QHN1c2UuY29tPgpBY2tlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+ClJldmlld2VkLWJ5 OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4 Ni9odm0vZW11bGF0ZS5jICAgICAgICB8ICA2ICsrLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5j ICAgICAgICAgICAgfCA1NiArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IHhlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgICB8ICA4ICsrKy0tLQogeGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5oIHwgMTEgLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwg MTkgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2h2bS9lbXVsYXRlLmMgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwppbmRleCA0MWY2 ODllLi4zMjFjNWFhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYworKysg Yi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwpAQCAtMTkzNyw5ICsxOTM3LDkgQEAgdm9pZCBo dm1fZW11bGF0ZV9pbml0X3Blcl9pbnNuKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGh2bV9hY2Nlc3NfaW5zbl9mZXRjaCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBodm1lbXVsX2N0eHQtPmN0eHQuYWRkcl9zaXplLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhZGRyKSAmJgotICAgICAgICAgICAgIGh2 bV9mZXRjaF9mcm9tX2d1ZXN0X3ZpcnRfbm9mYXVsdChodm1lbXVsX2N0eHQtPmluc25fYnVmLCBh ZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl b2YoaHZtZW11bF9jdHh0LT5pbnNuX2J1ZiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBmZWMpID09IEhWTUNPUFlfb2theSkgPworICAgICAgICAgICAg IGh2bV9mZXRjaF9mcm9tX2d1ZXN0X3ZpcnQoaHZtZW11bF9jdHh0LT5pbnNuX2J1ZiwgYWRkciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihodm1lbXVsX2N0 eHQtPmluc25fYnVmKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBm ZWMsIE5VTEwpID09IEhWTUNPUFlfb2theSkgPwogICAgICAgICAgICAgc2l6ZW9mKGh2bWVtdWxf Y3R4dC0+aW5zbl9idWYpIDogMDsKICAgICB9CiAgICAgZWxzZQpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggMzkwZjc2ZC4u NWVhZTA2YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCkBAIC0zMDY2LDggKzMwNjYsNiBAQCB2b2lkIGh2bV90YXNrX3N3aXRj aCgKIAogI2RlZmluZSBIVk1DT1BZX2Zyb21fZ3Vlc3QgKDB1PDwwKQogI2RlZmluZSBIVk1DT1BZ X3RvX2d1ZXN0ICAgKDF1PDwwKQotI2RlZmluZSBIVk1DT1BZX25vX2ZhdWx0ICAgKDB1PDwxKQot I2RlZmluZSBIVk1DT1BZX2ZhdWx0ICAgICAgKDF1PDwxKQogI2RlZmluZSBIVk1DT1BZX3BoeXMg ICAgICAgKDB1PDwyKQogI2RlZmluZSBIVk1DT1BZX3ZpcnQgICAgICAgKDF1PDwyKQogc3RhdGlj IGVudW0gaHZtX2NvcHlfcmVzdWx0IF9faHZtX2NvcHkoCkBAIC0zMTEyLDEzICszMTEwLDEwIEBA IHN0YXRpYyBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBfX2h2bV9jb3B5KAogICAgICAgICAgICAgICAg ICAgICByZXR1cm4gSFZNQ09QWV9nZm5fcGFnZWRfb3V0OwogICAgICAgICAgICAgICAgIGlmICgg cGZlYyAmIFBGRUNfcGFnZV9zaGFyZWQgKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gSFZN Q09QWV9nZm5fc2hhcmVkOwotICAgICAgICAgICAgICAgIGlmICggZmxhZ3MgJiBIVk1DT1BZX2Zh dWx0ICkKKyAgICAgICAgICAgICAgICBpZiAoIHBmaW5mbyApCiAgICAgICAgICAgICAgICAgewot ICAgICAgICAgICAgICAgICAgICBpZiAoIHBmaW5mbyApCi0gICAgICAgICAgICAgICAgICAgIHsK LSAgICAgICAgICAgICAgICAgICAgICAgIHBmaW5mby0+bGluZWFyID0gYWRkcjsKLSAgICAgICAg ICAgICAgICAgICAgICAgIHBmaW5mby0+ZWMgPSBwZmVjOwotICAgICAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICAgICAgICAgIHBmaW5mby0+bGluZWFyID0gYWRkcjsKKyAgICAgICAgICAg ICAgICAgICAgcGZpbmZvLT5lYyA9IHBmZWM7CiAKICAgICAgICAgICAgICAgICAgICAgaHZtX2lu amVjdF9wYWdlX2ZhdWx0KHBmZWMsIGFkZHIpOwogICAgICAgICAgICAgICAgIH0KQEAgLTMyOTAs MTYgKzMyODUsMTQgQEAgZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2NvcHlfdG9fZ3Vlc3RfcGh5 cygKICAgICBwYWRkcl90IHBhZGRyLCB2b2lkICpidWYsIGludCBzaXplKQogewogICAgIHJldHVy biBfX2h2bV9jb3B5KGJ1ZiwgcGFkZHIsIHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgSFZN Q09QWV90b19ndWVzdCB8IEhWTUNPUFlfZmF1bHQgfCBIVk1DT1BZX3BoeXMsCi0gICAgICAgICAg ICAgICAgICAgICAgMCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgSFZNQ09QWV90b19n dWVzdCB8IEhWTUNPUFlfcGh5cywgMCwgTlVMTCk7CiB9CiAKIGVudW0gaHZtX2NvcHlfcmVzdWx0 IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cygKICAgICB2b2lkICpidWYsIHBhZGRyX3QgcGFkZHIs IGludCBzaXplKQogewogICAgIHJldHVybiBfX2h2bV9jb3B5KGJ1ZiwgcGFkZHIsIHNpemUsCi0g ICAgICAgICAgICAgICAgICAgICAgSFZNQ09QWV9mcm9tX2d1ZXN0IHwgSFZNQ09QWV9mYXVsdCB8 IEhWTUNPUFlfcGh5cywKLSAgICAgICAgICAgICAgICAgICAgICAwLCBOVUxMKTsKKyAgICAgICAg ICAgICAgICAgICAgICBIVk1DT1BZX2Zyb21fZ3Vlc3QgfCBIVk1DT1BZX3BoeXMsIDAsIE5VTEwp OwogfQogCiBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fY29weV90b19ndWVzdF92aXJ0KApAQCAt MzMwNyw3ICszMzAwLDcgQEAgZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2NvcHlfdG9fZ3Vlc3Rf dmlydCgKICAgICBwYWdlZmF1bHRfaW5mb190ICpwZmluZm8pCiB7CiAgICAgcmV0dXJuIF9faHZt X2NvcHkoYnVmLCB2YWRkciwgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICBIVk1DT1BZX3Rv X2d1ZXN0IHwgSFZNQ09QWV9mYXVsdCB8IEhWTUNPUFlfdmlydCwKKyAgICAgICAgICAgICAgICAg ICAgICBIVk1DT1BZX3RvX2d1ZXN0IHwgSFZNQ09QWV92aXJ0LAogICAgICAgICAgICAgICAgICAg ICAgIFBGRUNfcGFnZV9wcmVzZW50IHwgUEZFQ193cml0ZV9hY2Nlc3MgfCBwZmVjLCBwZmluZm8p OwogfQogCkBAIC0zMzE2LDcgKzMzMDksNyBAQCBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fY29w eV9mcm9tX2d1ZXN0X3ZpcnQoCiAgICAgcGFnZWZhdWx0X2luZm9fdCAqcGZpbmZvKQogewogICAg IHJldHVybiBfX2h2bV9jb3B5KGJ1ZiwgdmFkZHIsIHNpemUsCi0gICAgICAgICAgICAgICAgICAg ICAgSFZNQ09QWV9mcm9tX2d1ZXN0IHwgSFZNQ09QWV9mYXVsdCB8IEhWTUNPUFlfdmlydCwKKyAg ICAgICAgICAgICAgICAgICAgICBIVk1DT1BZX2Zyb21fZ3Vlc3QgfCBIVk1DT1BZX3ZpcnQsCiAg ICAgICAgICAgICAgICAgICAgICAgUEZFQ19wYWdlX3ByZXNlbnQgfCBwZmVjLCBwZmluZm8pOwog fQogCkBAIC0zMzI1LDM0ICszMzE4LDEwIEBAIGVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9mZXRj aF9mcm9tX2d1ZXN0X3ZpcnQoCiAgICAgcGFnZWZhdWx0X2luZm9fdCAqcGZpbmZvKQogewogICAg IHJldHVybiBfX2h2bV9jb3B5KGJ1ZiwgdmFkZHIsIHNpemUsCi0gICAgICAgICAgICAgICAgICAg ICAgSFZNQ09QWV9mcm9tX2d1ZXN0IHwgSFZNQ09QWV9mYXVsdCB8IEhWTUNPUFlfdmlydCwKKyAg ICAgICAgICAgICAgICAgICAgICBIVk1DT1BZX2Zyb21fZ3Vlc3QgfCBIVk1DT1BZX3ZpcnQsCiAg ICAgICAgICAgICAgICAgICAgICAgUEZFQ19wYWdlX3ByZXNlbnQgfCBQRkVDX2luc25fZmV0Y2gg fCBwZmVjLCBwZmluZm8pOwogfQogCi1lbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fY29weV90b19n dWVzdF92aXJ0X25vZmF1bHQoCi0gICAgdW5zaWduZWQgbG9uZyB2YWRkciwgdm9pZCAqYnVmLCBp bnQgc2l6ZSwgdWludDMyX3QgcGZlYykKLXsKLSAgICByZXR1cm4gX19odm1fY29weShidWYsIHZh ZGRyLCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgIEhWTUNPUFlfdG9fZ3Vlc3QgfCBIVk1D T1BZX25vX2ZhdWx0IHwgSFZNQ09QWV92aXJ0LAotICAgICAgICAgICAgICAgICAgICAgIFBGRUNf cGFnZV9wcmVzZW50IHwgUEZFQ193cml0ZV9hY2Nlc3MgfCBwZmVjLCBOVUxMKTsKLX0KLQotZW51 bSBodm1fY29weV9yZXN1bHQgaHZtX2NvcHlfZnJvbV9ndWVzdF92aXJ0X25vZmF1bHQoCi0gICAg dm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIHZhZGRyLCBpbnQgc2l6ZSwgdWludDMyX3QgcGZlYykK LXsKLSAgICByZXR1cm4gX19odm1fY29weShidWYsIHZhZGRyLCBzaXplLAotICAgICAgICAgICAg ICAgICAgICAgIEhWTUNPUFlfZnJvbV9ndWVzdCB8IEhWTUNPUFlfbm9fZmF1bHQgfCBIVk1DT1BZ X3ZpcnQsCi0gICAgICAgICAgICAgICAgICAgICAgUEZFQ19wYWdlX3ByZXNlbnQgfCBwZmVjLCBO VUxMKTsKLX0KLQotZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2ZldGNoX2Zyb21fZ3Vlc3Rfdmly dF9ub2ZhdWx0KAotICAgIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyB2YWRkciwgaW50IHNpemUs IHVpbnQzMl90IHBmZWMpCi17Ci0gICAgcmV0dXJuIF9faHZtX2NvcHkoYnVmLCB2YWRkciwgc2l6 ZSwKLSAgICAgICAgICAgICAgICAgICAgICBIVk1DT1BZX2Zyb21fZ3Vlc3QgfCBIVk1DT1BZX25v X2ZhdWx0IHwgSFZNQ09QWV92aXJ0LAotICAgICAgICAgICAgICAgICAgICAgIFBGRUNfcGFnZV9w cmVzZW50IHwgUEZFQ19pbnNuX2ZldGNoIHwgcGZlYywgTlVMTCk7Ci19Ci0KIHVuc2lnbmVkIGxv bmcgY29weV90b191c2VyX2h2bSh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwgdW5zaWduZWQg aW50IGxlbikKIHsKICAgICBpbnQgcmM7CkBAIC0zMzY0LDggKzMzMzMsNyBAQCB1bnNpZ25lZCBs b25nIGNvcHlfdG9fdXNlcl9odm0odm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHVuc2lnbmVk IGludCBsZW4pCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIHJjID0gaHZtX2NvcHlf dG9fZ3Vlc3RfdmlydF9ub2ZhdWx0KCh1bnNpZ25lZCBsb25nKXRvLCAodm9pZCAqKWZyb20sCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuLCAwKTsKKyAgICByYyA9 IGh2bV9jb3B5X3RvX2d1ZXN0X3ZpcnQoKHVuc2lnbmVkIGxvbmcpdG8sICh2b2lkICopZnJvbSwg bGVuLCAwLCBOVUxMKTsKICAgICByZXR1cm4gcmMgPyBsZW4gOiAwOyAvKiBmYWtlIGEgY29weV90 b191c2VyKCkgcmV0dXJuIGNvZGUgKi8KIH0KIApAQCAtMzM5NSw3ICszMzYzLDcgQEAgdW5zaWdu ZWQgbG9uZyBjb3B5X2Zyb21fdXNlcl9odm0odm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHVu c2lnbmVkIGxlbikKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgcmMgPSBodm1fY29w eV9mcm9tX2d1ZXN0X3ZpcnRfbm9mYXVsdCh0bywgKHVuc2lnbmVkIGxvbmcpZnJvbSwgbGVuLCAw KTsKKyAgICByYyA9IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfdmlydCh0bywgKHVuc2lnbmVkIGxvbmcp ZnJvbSwgbGVuLCAwLCBOVUxMKTsKICAgICByZXR1cm4gcmMgPyBsZW4gOiAwOyAvKiBmYWtlIGEg Y29weV9mcm9tX3VzZXIoKSByZXR1cm4gY29kZSAqLwogfQogCkBAIC00MDcwLDggKzQwMzgsOCBA QCB2b2lkIGh2bV91ZF9pbnRlcmNlcHQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGh2bV9sb25nX21vZGVfZW5hYmxl ZChjdXIpICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzLT5h dHRyLmZpZWxkcy5sKSA/IDY0IDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjcy0+YXR0ci5maWVsZHMuZGIgPyAzMiA6IDE2LCAmYWRkcikgJiYKLSAgICAgICAgICAg ICAoaHZtX2ZldGNoX2Zyb21fZ3Vlc3RfdmlydF9ub2ZhdWx0KHNpZywgYWRkciwgc2l6ZW9mKHNp ZyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWxr KSA9PSBIVk1DT1BZX29rYXkpICYmCisgICAgICAgICAgICAgKGh2bV9mZXRjaF9mcm9tX2d1ZXN0 X3ZpcnQoc2lnLCBhZGRyLCBzaXplb2Yoc2lnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB3YWxrLCBOVUxMKSA9PSBIVk1DT1BZX29rYXkpICYmCiAgICAgICAgICAg ICAgKG1lbWNtcChzaWcsICJceGZceGJ4ZW4iLCBzaXplb2Yoc2lnKSkgPT0gMCkgKQogICAgICAg ICB7CiAgICAgICAgICAgICByZWdzLT5laXAgKz0gc2l6ZW9mKHNpZyk7CmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9j b21tb24uYwppbmRleCBlODUwMWNlLi5iNjU5MzI0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv bW0vc2hhZG93L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMK QEAgLTQxOSw4ICs0MTksOCBAQCBjb25zdCBzdHJ1Y3QgeDg2X2VtdWxhdGVfb3BzICpzaGFkb3df aW5pdF9lbXVsYXRpb24oCiAgICAgICAgICghaHZtX3RyYW5zbGF0ZV9saW5lYXJfYWRkcigKICAg ICAgICAgICAgIHg4Nl9zZWdfY3MsIHJlZ3MtPmVpcCwgc2l6ZW9mKHNoX2N0eHQtPmluc25fYnVm KSwKICAgICAgICAgICAgIGh2bV9hY2Nlc3NfaW5zbl9mZXRjaCwgc2hfY3R4dCwgJmFkZHIpICYm Ci0gICAgICAgICAhaHZtX2ZldGNoX2Zyb21fZ3Vlc3RfdmlydF9ub2ZhdWx0KAotICAgICAgICAg ICAgIHNoX2N0eHQtPmluc25fYnVmLCBhZGRyLCBzaXplb2Yoc2hfY3R4dC0+aW5zbl9idWYpLCAw KSkKKyAgICAgICAgICFodm1fZmV0Y2hfZnJvbV9ndWVzdF92aXJ0KAorICAgICAgICAgICAgIHNo X2N0eHQtPmluc25fYnVmLCBhZGRyLCBzaXplb2Yoc2hfY3R4dC0+aW5zbl9idWYpLCAwLCBOVUxM KSkKICAgICAgICAgPyBzaXplb2Yoc2hfY3R4dC0+aW5zbl9idWYpIDogMDsKIAogICAgIHJldHVy biAmaHZtX3NoYWRvd19lbXVsYXRvcl9vcHM7CkBAIC00NDcsOCArNDQ3LDggQEAgdm9pZCBzaGFk b3dfY29udGludWVfZW11bGF0aW9uKHN0cnVjdCBzaF9lbXVsYXRlX2N0eHQgKnNoX2N0eHQsCiAg ICAgICAgICAgICAgICAgKCFodm1fdHJhbnNsYXRlX2xpbmVhcl9hZGRyKAogICAgICAgICAgICAg ICAgICAgICB4ODZfc2VnX2NzLCByZWdzLT5laXAsIHNpemVvZihzaF9jdHh0LT5pbnNuX2J1Ziks CiAgICAgICAgICAgICAgICAgICAgIGh2bV9hY2Nlc3NfaW5zbl9mZXRjaCwgc2hfY3R4dCwgJmFk ZHIpICYmCi0gICAgICAgICAgICAgICAgICFodm1fZmV0Y2hfZnJvbV9ndWVzdF92aXJ0X25vZmF1 bHQoCi0gICAgICAgICAgICAgICAgICAgICBzaF9jdHh0LT5pbnNuX2J1ZiwgYWRkciwgc2l6ZW9m KHNoX2N0eHQtPmluc25fYnVmKSwgMCkpCisgICAgICAgICAgICAgICAgICFodm1fZmV0Y2hfZnJv bV9ndWVzdF92aXJ0KAorICAgICAgICAgICAgICAgICAgICAgc2hfY3R4dC0+aW5zbl9idWYsIGFk ZHIsIHNpemVvZihzaF9jdHh0LT5pbnNuX2J1ZiksIDAsIE5VTEwpKQogICAgICAgICAgICAgICAg ID8gc2l6ZW9mKHNoX2N0eHQtPmluc25fYnVmKSA6IDA7CiAgICAgICAgICAgICBzaF9jdHh0LT5p bnNuX2J1Zl9laXAgPSByZWdzLT5laXA7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL3N1cHBvcnQuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N1cHBv cnQuaAppbmRleCA0YWE1YTM2Li4xMTRhYTA0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t eDg2L2h2bS9zdXBwb3J0LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5o CkBAIC0xMDUsMTcgKzEwNSw2IEBAIGVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9mZXRjaF9mcm9t X2d1ZXN0X3ZpcnQoCiAgICAgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIHZhZGRyLCBpbnQgc2l6 ZSwgdWludDMyX3QgcGZlYywKICAgICBwYWdlZmF1bHRfaW5mb190ICpwZmluZm8pOwogCi0vKgot ICogQXMgYWJvdmUgKGNvcHkgdG8vZnJvbSBhIGd1ZXN0IHZpcnR1YWwgYWRkcmVzcyksIGJ1dCBu byBmYXVsdCBpcyBnZW5lcmF0ZWQKLSAqIHdoZW4gSFZNQ09QWV9iYWRfZ3ZhX3RvX2dmbiBpcyBy ZXR1cm5lZC4KLSAqLwotZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2NvcHlfdG9fZ3Vlc3Rfdmly dF9ub2ZhdWx0KAotICAgIHVuc2lnbmVkIGxvbmcgdmFkZHIsIHZvaWQgKmJ1ZiwgaW50IHNpemUs IHVpbnQzMl90IHBmZWMpOwotZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2NvcHlfZnJvbV9ndWVz dF92aXJ0X25vZmF1bHQoCi0gICAgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIHZhZGRyLCBpbnQg c2l6ZSwgdWludDMyX3QgcGZlYyk7Ci1lbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fZmV0Y2hfZnJv bV9ndWVzdF92aXJ0X25vZmF1bHQoCi0gICAgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIHZhZGRy LCBpbnQgc2l6ZSwgdWludDMyX3QgcGZlYyk7Ci0KICNkZWZpbmUgSFZNX0hDQUxMX2NvbXBsZXRl ZCAgMCAvKiBoeXBlcmNhbGwgY29tcGxldGVkIC0gbm8gZnVydGhlciBhY3Rpb24gKi8KICNkZWZp bmUgSFZNX0hDQUxMX3ByZWVtcHRlZCAgMSAvKiBoeXBlcmNhbGwgcHJlZW1wdGVkIC0gcmUtZXhl Y3V0ZSBWTUNBTEwgKi8KICNkZWZpbmUgSFZNX0hDQUxMX2ludmFsaWRhdGUgMiAvKiBpbnZhbGlk YXRlIGlvZW11LWRtIG1lbW9yeSBjYWNoZSAgICAgICAgKi8KLS0gCjIuMS40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==