From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xen.org security team Subject: Xen Security Advisory 173 (CVE-2016-3960) - x86 shadow pagetables: address width overflow Date: Mon, 18 Apr 2016 13:31:35 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8" Content-Transfer-Encoding: binary Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-announce@lists.xen.org, xen-devel@lists.xen.org, xen-users@lists.xen.org, oss-security@lists.openwall.com Cc: "Xen.org security team" List-Id: xen-devel@lists.xenproject.org --=separator Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Xen Security Advisory CVE-2016-3960 / XSA-173 version 3 x86 shadow pagetables: address width overflow UPDATES IN VERSION 3 ==================== Public release. ISSUE DESCRIPTION ================= In the x86 shadow pagetable code, the guest frame number of a superpage mapping is stored in a 32-bit field. If a shadowed guest can cause a superpage mapping of a guest-physical address at or above 2^44 to be shadowed, the top bits of the address will be lost, causing an assertion failure or NULL dereference later on, in code that removes the shadow. IMPACT ====== A HVM guest using shadow pagetables can cause the host to crash. A PV guest using shadow pagetables (i.e. being migrated) with PV superpages enabled (which is not the default) can crash the host, or corrupt hypervisor memory, and so a privilege escalation cannot be ruled out. VULNERABLE SYSTEMS ================== Xen versions from 3.4 onwards are affected. Only x86 variants of Xen are susceptible. ARM variants are not affected. HVM guests using shadow mode paging can expose this vulnerability. HVM guests using Hardware Assisted Paging (HAP) are unaffected. Systems running PV guests with PV superpages enabled are vulnerable if those guests undergo live migration. PV superpages are disabled by default, so systems are not vulnerable in this way unless "allowsuperpage" is on the Xen command line. To discover whether your HVM guests are using HAP, or shadow page tables: request debug key `q' (from the Xen console, or with `xl debug-keys q'). This will print (to the console, and visible in `xl dmesg'), debug information for every domain, containing something like this: (XEN) General information for domain 2: (XEN) refcnt=1 dying=2 pause_count=2 (XEN) nr_pages=2 xenheap_pages=0 shared_pages=0 paged_pages=0 dirty_cpus={} max_pages=262400 (XEN) handle=ef58ef1a-784d-4e59-8079-42bdee87f219 vm_assist=00000000 (XEN) paging assistance: hap refcounts translate external ^^^ The presence of `hap' here indicates that the host is not vulnerable to this domain. For an HVM domain the presence of `shadow' indicates that the domain can exploit the vulnerability. MITIGATION ========== Running only PV guests will avoid this vulnerability, unless PV superpage support is enabled (see above). Running HVM guests with Hardware Assisted Paging (HAP) enabled will also avoid this vulnerability. This is the default mode on hardware supporting HAP, but can be overridden by hypervisor command line option and guest configuration setting. Such overrides ("hap=0" in either case, with variants like "no-hap" being possible in the hypervisor command line case) would need to be removed to avoid this vulnerability. CREDITS ======= This issue was discovered by Ling Liu and Yihan Lian of the Cloud Security Team, Qihoo 360. RESOLUTION ========== Applying the appropriate attached patch resolves this issue. xsa173-unstable.patch xen-unstable xsa173-4.6.patch Xen 4.6.x xsa173-4.5.patch Xen 4.5.x xsa173-4.4.patch Xen 4.4.x xsa173-4.3.patch Xen 4.3.x $ sha256sum xsa173* bd4619334351afc9f71bb529e8ac102c63415bb4d13197e3bd24a58de03726cb xsa173-unstable.patch 089c07f0c8237da674796f155ee7e3c0305efd11a59df30ef2c3d5f6b423bfea xsa173-4.3.patch 35e02b8d4c2841ad951dd967b4f11aa7911fe5d52be2cb605b174e8c2e9214ca xsa173-4.4.patch 8cd255416975b5589b85911142b385cc1ed78b8ea5e16ebe9d6c60e2679b23aa xsa173-4.5.patch 6dbc34e3e2d4415967c4406e0f8392a9395bff74da115ae20f26bd112b19017c xsa173-4.6.patch $ DEPLOYMENT DURING EMBARGO ========================= Deployment of the patches and/or mitigations described above (or others which are substantially similar) is permitted during the embargo, even on public-facing systems with untrusted guest users and administrators. But: Distribution of updated software is prohibited (except to other members of the predisclosure list). Predisclosure list members who wish to deploy significantly different patches and/or mitigations, please contact the Xen Project Security Team. (Note: this during-embargo deployment notice is retained in post-embargo publicly released Xen Project advisories, even though it is then no longer applicable. This is to enable the community to have oversight of the Xen Project Security Team's decisionmaking.) For more information about permissible uses of embargoed information, consult the Xen Project community's agreed Security Policy: http://www.xenproject.org/security-policy.html -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQEcBAEBAgAGBQJXFOGhAAoJEIP+FMlX6CvZXUYH/A1ekMpU71/JUK1c53qHmaTY ZCsJj5hArL9poTYss/AfyumZRATalPrbX/Wt6JaVMutMefgPjphP8OKTzywr/aDJ vRIim4piOABS15cWtYlfTans6X4yyk1NxmMt182osRW1JSW+OrjXORs6719zoEL7 3hzuf7g6pYiaVqtUmLEx9/U3T246ZaQ98V93YVxGGUyUYRBmFJxEAtA2yf4SlqNX G3XNDc4DZpXnp8yABFEu+atfWef/Mn/gbNdJPxUXpu25WAOGEf0/0mnEF1b+KmCZ nBXM3UwMIwN+OR0xMC447iQxvKQe7WD/6/JNMI6Bl76SSctCaLV0LU6PtyVCfJI= =FOR7 -----END PGP SIGNATURE----- --=separator Content-Type: application/octet-stream; name="xsa173-unstable.patch" Content-Disposition: attachment; filename="xsa173-unstable.patch" Content-Transfer-Encoding: base64 Y29tbWl0IDUyYTE1YmRjNDIzOGQ3YWNlODM2YzA5NzkwMjIyMmQzZTEyYTE5 ZmMKQXV0aG9yOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KRGF0ZTogICBN b24gTWFyIDE0IDExOjA1OjQ4IDIwMTYgKzAwMDAKCiAgICB4ODY6IGxpbWl0 IEdGTnMgdG8gMzIgYml0cyBmb3Igc2hhZG93ZWQgc3VwZXJwYWdlcy4KICAg IAogICAgU3VwZXJwYWdlIHNoYWRvd3Mgc3RvcmUgdGhlIHNoYWRvd2VkIEdG TiBpbiB0aGUgYmFja3BvaW50ZXIgZmllbGQsCiAgICB3aGljaCBmb3Igbm9u LUJJR01FTSBidWlsZHMgaXMgMzIgYml0cyB3aWRlLiAgU2hhZG93aW5nIGEg c3VwZXJwYWdlCiAgICBtYXBwaW5nIG9mIGEgZ3Vlc3QtcGh5c2ljYWwgYWRk cmVzcyBhYm92ZSAyXjQ0IHdvdWxkIGxlYWQgdG8gdGhlIEdGTgogICAgYmVp bmcgdHJ1bmNhdGVkIHRoZXJlLCBhbmQgYSBjcmFzaCB3aGVuIHdlIGNvbWUg dG8gcmVtb3ZlIHRoZSBzaGFkb3cKICAgIGZyb20gdGhlIGhhc2ggdGFibGUu CiAgICAKICAgIFRyYWNrIHRoZSB2YWxpZCB3aWR0aCBvZiBhIEdGTiBmb3Ig ZWFjaCBndWVzdCwgaW5jbHVkaW5nIHJlcG9ydGluZyBpdAogICAgdGhyb3Vn aCBDUFVJRCwgYW5kIGVuZm9yY2UgaXQgaW4gdGhlIHNoYWRvdyBwYWdldGFi bGVzLiAgU2V0IHRoZQogICAgbWF4aW11bSB3aXR0aCB0byAzMiBmb3IgZ3Vl c3RzIHdoZXJlIHRoaXMgdHJ1bmNhdGlvbiBjb3VsZCBvY2N1ci4KICAgIAog ICAgVGhpcyBpcyBYU0EtMTczLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBU aW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KICAgIFNpZ25lZC1vZmYtYnk6IEph biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KClJlcG9ydGVkLWJ5OiBM aW5nIExpdSA8bGl1bGluZy1pdEAzNjAuY24+CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L2NwdS9jb21t b24uYwppbmRleCA5ZDM2NGQ0Li5jY2NjM2NjIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUv Y29tbW9uLmMKQEAgLTQyLDYgKzQyLDcgQEAgaW50ZWdlcl9wYXJhbSgiY3B1 aWRfbWFza19leHRfZWR4Iiwgb3B0X2NwdWlkX21hc2tfZXh0X2VkeCk7CiBj b25zdCBzdHJ1Y3QgY3B1X2RldiAqX19yZWFkX21vc3RseSBjcHVfZGV2c1tY ODZfVkVORE9SX05VTV0gPSB7fTsKIAogdW5zaWduZWQgaW50IHBhZGRyX2Jp dHMgX19yZWFkX21vc3RseSA9IDM2OwordW5zaWduZWQgaW50IGhhcF9wYWRk cl9iaXRzIF9fcmVhZF9tb3N0bHkgPSAzNjsKIAogLyoKICAqIERlZmF1bHQg aG9zdCBJQTMyX0NSX1BBVCB2YWx1ZSB0byBjb3ZlciBhbGwgbWVtb3J5IHR5 cGVzLgpAQCAtMjEyLDggKzIxMywxMSBAQCBzdGF0aWMgdm9pZCBfX2luaXQg ZWFybHlfY3B1X2RldGVjdCh2b2lkKQogCWMtPng4Nl9jYXBhYmlsaXR5W2Nw dWZlYXRfd29yZChYODZfRkVBVFVSRV9GUFUpXSA9IGVkeDsKIAljLT54ODZf Y2FwYWJpbGl0eVtjcHVmZWF0X3dvcmQoWDg2X0ZFQVRVUkVfU1NFMyldID0g ZWN4OwogCi0JaWYgKCBjcHVpZF9lYXgoMHg4MDAwMDAwMCkgPj0gMHg4MDAw MDAwOCApCi0JCXBhZGRyX2JpdHMgPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCkg JiAweGZmOworCWlmICggY3B1aWRfZWF4KDB4ODAwMDAwMDApID49IDB4ODAw MDAwMDggKSB7CisJCWVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKKwkJ cGFkZHJfYml0cyA9IGVheCAmIDB4ZmY7CisJCWhhcF9wYWRkcl9iaXRzID0g KChlYXggPj4gMTYpICYgMHhmZikgPzogcGFkZHJfYml0czsKKwl9CiB9CiAK IHN0YXRpYyB2b2lkIGdlbmVyaWNfaWRlbnRpZnkoc3RydWN0IGNwdWluZm9f eDg2ICpjKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBi L3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggNWJjMjgxMi4uZTMwOWU5 YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94 ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC00Nzc2LDggKzQ3NzYsNyBAQCB2 b2lkIGh2bV9jcHVpZCh1bnNpZ25lZCBpbnQgaW5wdXQsIHVuc2lnbmVkIGlu dCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKICAgICAgICAgYnJlYWs7CiAK ICAgICBjYXNlIDB4ODAwMDAwMDg6Ci0gICAgICAgIGNvdW50ID0gY3B1aWRf ZWF4KDB4ODAwMDAwMDgpOwotICAgICAgICBjb3VudCA9IChjb3VudCA+PiAx NikgJiAweGZmID86IGNvdW50ICYgMHhmZjsKKyAgICAgICAgY291bnQgPSBk LT5hcmNoLnBhZ2luZy5nZm5fYml0cyArIFBBR0VfU0hJRlQ7CiAgICAgICAg IGlmICggKCplYXggJiAweGZmKSA+IGNvdW50ICkKICAgICAgICAgICAgICpl YXggPSAoKmVheCAmIH4weGZmKSB8IGNvdW50OwogCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jIGIveGVuL2FyY2gveDg2L21t L2d1ZXN0X3dhbGsuYwppbmRleCAyMWNhYmJhLi42MjVhYzRkIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jCisrKyBiL3hlbi9h cmNoL3g4Ni9tbS9ndWVzdF93YWxrLmMKQEAgLTM0MiwyMCArMzQyLDggQEAg Z3Vlc3Rfd2Fsa190YWJsZXMoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBwMm1f ZG9tYWluICpwMm0sCiAgICAgICAgICAgICBmbGFncyAmPSB+X1BBR0VfUEFU OwogCiAgICAgICAgIGlmICggZ2ZuX3goc3RhcnQpICYgR1VFU1RfTDJfR0ZO X01BU0sgJiB+MHgxICkKLSAgICAgICAgewotI2lmIEdVRVNUX1BBR0lOR19M RVZFTFMgPT0gMgotICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAqIE5v dGUgdGhhdCBfUEFHRV9JTlZBTElEX0JJVFMgaXMgemVybyBpbiB0aGlzIGNh c2UsIHlpZWxkaW5nIGEKLSAgICAgICAgICAgICAqIG5vLW9wIGhlcmUuCi0g ICAgICAgICAgICAgKgotICAgICAgICAgICAgICogQXJjaGl0ZWN0dXJhbGx5 LCB0aGUgd2FsayBzaG91bGQgZmFpbCBpZiBiaXQgMjEgaXMgc2V0IChvdGhl cnMKLSAgICAgICAgICAgICAqIGFyZW4ndCBiZWluZyBjaGVja2VkIGF0IGxl YXN0IGluIFBTRTM2IG1vZGUpLCBidXQgd2UnbGwgaWdub3JlCi0gICAgICAg ICAgICAgKiB0aGlzIGhlcmUgaW4gb3JkZXIgdG8gYXZvaWQgc3BlY2lmeWlu ZyBhIG5vbi1uYXR1cmFsLCBub24temVybwotICAgICAgICAgICAgICogX1BB R0VfSU5WQUxJRF9CSVRTIHZhbHVlIGp1c3QgZm9yIHRoYXQgY2FzZS4KLSAg ICAgICAgICAgICAqLwotI2VuZGlmCiAgICAgICAgICAgICByYyB8PSBfUEFH RV9JTlZBTElEX0JJVFM7Ci0gICAgICAgIH0KKwogICAgICAgICAvKiBJbmNy ZW1lbnQgdGhlIHBmbiBieSB0aGUgcmlnaHQgbnVtYmVyIG9mIDRrIHBhZ2Vz LiAgCiAgICAgICAgICAqIE1hc2sgb3V0IFBBVCBhbmQgaW52YWxpZCBiaXRz LiAqLwogICAgICAgICBzdGFydCA9IF9nZm4oKGdmbl94KHN0YXJ0KSAmIH5H VUVTVF9MMl9HRk5fTUFTSykgKwpAQCAtNDQxLDUgKzQyOSwxMSBAQCBzZXRf YWQ6CiAgICAgICAgIHB1dF9wYWdlKG1mbl90b19wYWdlKG1mbl94KGd3LT5s MW1mbikpKTsKICAgICB9CiAKKyAgICAvKiBJZiB0aGlzIGd1ZXN0IGhhcyBh IHJlc3RyaWN0ZWQgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSB0aGVuIHRoZQor ICAgICAqIHRhcmdldCBHRk4gbXVzdCBmaXQgd2l0aGluIGl0LiAqLworICAg IGlmICggIShyYyAmIF9QQUdFX1BSRVNFTlQpCisgICAgICAgICAmJiBnZm5f eChndWVzdF9sMWVfZ2V0X2dmbihndy0+bDFlKSkgPj4gZC0+YXJjaC5wYWdp bmcuZ2ZuX2JpdHMgKQorICAgICAgICByYyB8PSBfUEFHRV9JTlZBTElEX0JJ VFM7CisKICAgICByZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvbW0vaGFwL2hhcC5jIGIveGVuL2FyY2gveDg2L21tL2hhcC9oYXAu YwppbmRleCBmMTczNTM5Li40YWI5OWJiIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvbW0vaGFwL2hhcC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9oYXAv aGFwLmMKQEAgLTQ0OCw2ICs0NDgsOCBAQCB2b2lkIGhhcF9kb21haW5faW5p dChzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIElOSVRfUEFHRV9MSVNUX0hF QUQoJmQtPmFyY2gucGFnaW5nLmhhcC5mcmVlbGlzdCk7CiAKKyAgICBkLT5h cmNoLnBhZ2luZy5nZm5fYml0cyA9IGhhcF9wYWRkcl9iaXRzIC0gUEFHRV9T SElGVDsKKwogICAgIC8qIFVzZSBIQVAgbG9nZGlydHkgbWVjaGFuaXNtLiAq LwogICAgIHBhZ2luZ19sb2dfZGlydHlfaW5pdChkLCBoYXBfZW5hYmxlX2xv Z19kaXJ0eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFwX2Rpc2Fi bGVfbG9nX2RpcnR5LApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3Ay bS5jIGIveGVuL2FyY2gveDg2L21tL3AybS5jCmluZGV4IGIzZmNlMWIuLjll ODIyNTYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysg Yi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKQEAgLTIwODEsNiArMjA4MSwxMiBA QCB2b2lkICptYXBfZG9tYWluX2dmbihzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt LCBnZm5fdCBnZm4sIG1mbl90ICptZm4sCiB7CiAgICAgc3RydWN0IHBhZ2Vf aW5mbyAqcGFnZTsKIAorICAgIGlmICggZ2ZuX3goZ2ZuKSA+PiBwMm0tPmRv bWFpbi0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgKQorICAgIHsKKyAgICAgICAg KnJjID0gX1BBR0VfSU5WQUxJRF9CSVQ7CisgICAgICAgIHJldHVybiBOVUxM OworICAgIH0KKwogICAgIC8qIFRyYW5zbGF0ZSB0aGUgZ2ZuLCB1bnNoYXJp bmcgaWYgc2hhcmVkLiAqLwogICAgIHBhZ2UgPSBnZXRfcGFnZV9mcm9tX2dm bl9wMm0ocDJtLT5kb21haW4sIHAybSwgZ2ZuX3goZ2ZuKSwgcDJtdCwgTlVM TCwgcSk7CiAgICAgaWYgKCBwMm1faXNfcGFnaW5nKCpwMm10KSApCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jIGIveGVu L2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwppbmRleCBjZGFkNTcyLi5k YTMwMjNjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2Nv bW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMK QEAgLTUxLDYgKzUxLDE2IEBAIGludCBzaGFkb3dfZG9tYWluX2luaXQoc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzKQogICAg IElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPmFyY2gucGFnaW5nLnNoYWRvdy5m cmVlbGlzdCk7CiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+YXJjaC5w YWdpbmcuc2hhZG93LnBpbm5lZF9zaGFkb3dzKTsKIAorICAgIGQtPmFyY2gu cGFnaW5nLmdmbl9iaXRzID0gcGFkZHJfYml0cyAtIFBBR0VfU0hJRlQ7Cisj aWZuZGVmIENPTkZJR19CSUdNRU0KKyAgICAvKgorICAgICAqIFNoYWRvd2Vk IHN1cGVycGFnZXMgc3RvcmUgR0ZOcyBpbiAzMi1iaXQgcGFnZV9pbmZvIGZp ZWxkcy4KKyAgICAgKiBOb3RlIHRoYXQgd2UgY2Fubm90IHVzZSBndWVzdF9z dXBwb3J0c19zdXBlcnBhZ2VzKCkgaGVyZS4KKyAgICAgKi8KKyAgICBpZiAo ICFpc19wdl9kb21haW4oZCkgfHwgb3B0X2FsbG93X3N1cGVycGFnZSApCisg ICAgICAgIGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzID0gMzI7CisjZW5kaWYK KwogICAgIC8qIFVzZSBzaGFkb3cgcGFnZXRhYmxlcyBmb3IgbG9nLWRpcnR5 IHN1cHBvcnQgKi8KICAgICBwYWdpbmdfbG9nX2RpcnR5X2luaXQoZCwgc2hf ZW5hYmxlX2xvZ19kaXJ0eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg c2hfZGlzYWJsZV9sb2dfZGlydHksIHNoX2NsZWFuX2RpcnR5X2JpdG1hcCk7 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMg Yi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKaW5kZXggNzBmMmFh NS4uNWYyNjIyZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRv dy9tdWx0aS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGku YwpAQCAtNTQwLDcgKzU0MCw4IEBAIF9zaF9wcm9wYWdhdGUoc3RydWN0IHZj cHUgKnYsCiAgICAgQVNTRVJUKEdVRVNUX1BBR0lOR19MRVZFTFMgPiAzIHx8 IGxldmVsICE9IDMpOwogCiAgICAgLyogQ2hlY2sgdGhlcmUncyBzb21ldGhp bmcgZm9yIHRoZSBzaGFkb3dzIHRvIG1hcCB0byAqLwotICAgIGlmICggIXAy bV9pc192YWxpZChwMm10KSAmJiAhcDJtX2lzX2dyYW50KHAybXQpICkKKyAg ICBpZiAoICghcDJtX2lzX3ZhbGlkKHAybXQpICYmICFwMm1faXNfZ3JhbnQo cDJtdCkpCisgICAgICAgICB8fCBnZm5feCh0YXJnZXRfZ2ZuKSA+PiBkLT5h cmNoLnBhZ2luZy5nZm5fYml0cyApCiAgICAgewogICAgICAgICAqc3AgPSBz aGFkb3dfbDFlX2VtcHR5KCk7CiAgICAgICAgIGdvdG8gZG9uZTsKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmggYi94ZW4vaW5j bHVkZS9hc20teDg2L2RvbWFpbi5oCmluZGV4IGRlNjBkZWYuLjM3ZGVkOTEg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKKysr IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaApAQCAtMTk0LDYgKzE5 NCw5IEBAIHN0cnVjdCBwYWdpbmdfZG9tYWluIHsKICAgICAvKiBsb2cgZGly dHkgc3VwcG9ydCAqLwogICAgIHN0cnVjdCBsb2dfZGlydHlfZG9tYWluIGxv Z19kaXJ0eTsKIAorICAgIC8qIE51bWJlciBvZiB2YWxpZCBiaXRzIGluIGEg Z2ZuLiAqLworICAgIHVuc2lnbmVkIGludCBnZm5fYml0czsKKwogICAgIC8q IHByZWVtcHRpb24gaGFuZGxpbmcgKi8KICAgICBzdHJ1Y3QgewogICAgICAg ICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkb207CmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20teDg2L2d1ZXN0X3B0LmggYi94ZW4vaW5jbHVkZS9hc20t eDg2L2d1ZXN0X3B0LmgKaW5kZXggZWIyOWU2Mi4uMWY2YzJhZSAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdF9wdC5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3RfcHQuaApAQCAtMjIyLDE1ICsyMjIs MTcgQEAgZ3Vlc3Rfc3VwcG9ydHNfbngoc3RydWN0IHZjcHUgKnYpCiB9CiAK IAotLyogU29tZSBiaXRzIGFyZSBpbnZhbGlkIGluIGFueSBwYWdldGFibGUg ZW50cnkuICovCi0jaWYgR1VFU1RfUEFHSU5HX0xFVkVMUyA9PSAyCi0jZGVm aW5lIF9QQUdFX0lOVkFMSURfQklUUyAoMCkKLSNlbGlmIEdVRVNUX1BBR0lO R19MRVZFTFMgPT0gMwotI2RlZmluZSBfUEFHRV9JTlZBTElEX0JJVFMgXAot ICAgIGdldF9wdGVfZmxhZ3MoKCgxdWxsPDw2MykgLSAxKSAmIH4oKDF1bGw8 PHBhZGRyX2JpdHMpIC0gMSkpCi0jZWxzZSAvKiBHVUVTVF9QQUdJTkdfTEVW RUxTID09IDQgKi8KKy8qCisgKiBTb21lIGJpdHMgYXJlIGludmFsaWQgaW4g YW55IHBhZ2V0YWJsZSBlbnRyeS4KKyAqIE5vcm1hbCBmbGFncyB2YWx1ZXMg Z2V0IHJlcHJlc2VudGVkIGluIDI0LWJpdCB2YWx1ZXMgKHNlZQorICogZ2V0 X3B0ZV9mbGFncygpIGFuZCBwdXRfcHRlX2ZsYWdzKCkpLCBzbyBzZXQgYml0 IDI0IGluCisgKiBhZGRpdGlvbiB0byBiZSBhYmxlIHRvIGZsYWcgb3V0IG9m IHJhbmdlIGZyYW1lIG51bWJlcnMuCisgKi8KKyNpZiBHVUVTVF9QQUdJTkdf TEVWRUxTID09IDMKICNkZWZpbmUgX1BBR0VfSU5WQUxJRF9CSVRTIFwKLSAg ICBnZXRfcHRlX2ZsYWdzKCgoMXVsbDw8NTIpIC0gMSkgJiB+KCgxdWxsPDxw YWRkcl9iaXRzKSAtIDEpKQorICAgIChfUEFHRV9JTlZBTElEX0JJVCB8IGdl dF9wdGVfZmxhZ3MoKCgxdWxsIDw8IDYzKSAtIDEpICYgfihQQUdFX1NJWkUg LSAxKSkpCisjZWxzZSAvKiAyLWxldmVsIGFuZCA0LWxldmVsICovCisjZGVm aW5lIF9QQUdFX0lOVkFMSURfQklUUyBfUEFHRV9JTlZBTElEX0JJVAogI2Vu ZGlmCiAKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9j ZXNzb3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKaW5k ZXggYmE5MDdlZS4uOTY2ZTljNyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9wcm9jZXNzb3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2 L3Byb2Nlc3Nvci5oCkBAIC0yMTgsNiArMjE4LDggQEAgZXh0ZXJuIHU2NCB0 cmFtcG9saW5lX21pc2NfZW5hYmxlX29mZjsKIAogLyogTWF4aW11bSB3aWR0 aCBvZiBwaHlzaWNhbCBhZGRyZXNzZXMgc3VwcG9ydGVkIGJ5IHRoZSBoYXJk d2FyZSAqLwogZXh0ZXJuIHVuc2lnbmVkIGludCBwYWRkcl9iaXRzOworLyog TWF4IHBoeXNpY2FsIGFkZHJlc3Mgd2lkdGggc3VwcG9ydGVkIHdpdGhpbiBI QVAgZ3Vlc3RzICovCitleHRlcm4gdW5zaWduZWQgaW50IGhhcF9wYWRkcl9i aXRzOwogCiBleHRlcm4gY29uc3Qgc3RydWN0IHg4Nl9jcHVfaWQgKng4Nl9t YXRjaF9jcHUoY29uc3Qgc3RydWN0IHg4Nl9jcHVfaWQgdGFibGVbXSk7CiAK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3BhZ2Uu aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaAppbmRleCA4 NmFiYjk0Li41ODlmMjI1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t eDg2L3g4Nl82NC9wYWdlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94 ODZfNjQvcGFnZS5oCkBAIC0xNTMsNiArMTUzLDEyIEBAIHR5cGVkZWYgbDRf cGdlbnRyeV90IHJvb3RfcGdlbnRyeV90OwogI2RlZmluZSBfUEFHRV9HTlRU QUIgKDFVPDwyMikKIAogLyoKKyAqIEJpdCAyNCBvZiBhIDI0LWJpdCBmbGFn IG1hc2shICBUaGlzIGlzIG5vdCBhbnkgYml0IG9mIGEgcmVhbCBwdGUsCisg KiBhbmQgaXMgb25seSB1c2VkIGZvciBzaWduYWxsaW5nIGluIHZhcmlhYmxl cyB0aGF0IGNvbnRhaW4gZmxhZ3MuCisgKi8KKyNkZWZpbmUgX1BBR0VfSU5W QUxJRF9CSVQgKDFVPDwyNCkKKworLyoKICAqIEJpdCAxMiBvZiBhIDI0LWJp dCBmbGFnIG1hc2suIFRoaXMgY29ycmVzcG9uZHMgdG8gYml0IDUyIG9mIGEg cHRlLgogICogVGhpcyBpcyBuZWVkZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2Vl biB1c2VyIGFuZCBrZXJuZWwgUFRFcyBzaW5jZSBfUEFHRV9VU0VSCiAgKiBp cyBhc3NlcnRlZCBmb3IgYm90aC4K --=separator Content-Type: application/octet-stream; name="xsa173-4.3.patch" Content-Disposition: attachment; filename="xsa173-4.3.patch" Content-Transfer-Encoding: base64 Y29tbWl0IDk1ZGQxYjZlODdiNjEyMjJmYzg1NjcyNGE1ZDgyOGM5YmRjMzBj ODAKQXV0aG9yOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KRGF0ZTogICBX ZWQgTWFyIDE2IDE3OjA3OjE4IDIwMTYgKzAwMDAKCiAgICB4ODY6IGxpbWl0 IEdGTnMgdG8gMzIgYml0cyBmb3Igc2hhZG93ZWQgc3VwZXJwYWdlcy4KICAg IAogICAgU3VwZXJwYWdlIHNoYWRvd3Mgc3RvcmUgdGhlIHNoYWRvd2VkIEdG TiBpbiB0aGUgYmFja3BvaW50ZXIgZmllbGQsCiAgICB3aGljaCBmb3Igbm9u LUJJR01FTSBidWlsZHMgaXMgMzIgYml0cyB3aWRlLiAgU2hhZG93aW5nIGEg c3VwZXJwYWdlCiAgICBtYXBwaW5nIG9mIGEgZ3Vlc3QtcGh5c2ljYWwgYWRk cmVzcyBhYm92ZSAyXjQ0IHdvdWxkIGxlYWQgdG8gdGhlIEdGTgogICAgYmVp bmcgdHJ1bmNhdGVkIHRoZXJlLCBhbmQgYSBjcmFzaCB3aGVuIHdlIGNvbWUg dG8gcmVtb3ZlIHRoZSBzaGFkb3cKICAgIGZyb20gdGhlIGhhc2ggdGFibGUu CiAgICAKICAgIFRyYWNrIHRoZSB2YWxpZCB3aWR0aCBvZiBhIEdGTiBmb3Ig ZWFjaCBndWVzdCwgaW5jbHVkaW5nIHJlcG9ydGluZyBpdAogICAgdGhyb3Vn aCBDUFVJRCwgYW5kIGVuZm9yY2UgaXQgaW4gdGhlIHNoYWRvdyBwYWdldGFi bGVzLiAgU2V0IHRoZQogICAgbWF4aW11bSB3aXR0aCB0byAzMiBmb3IgZ3Vl c3RzIHdoZXJlIHRoaXMgdHJ1bmNhdGlvbiBjb3VsZCBvY2N1ci4KICAgIAog ICAgVGhpcyBpcyBYU0EtMTczLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBU aW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KICAgIFNpZ25lZC1vZmYtYnk6IEph biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KClJlcG9ydGVkLWJ5OiBM aW5nIExpdSA8bGl1bGluZy1pdEAzNjAuY24+CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L2NwdS9jb21t b24uYwppbmRleCBmNDQ5YThmLi41MzM1NThjIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUv Y29tbW9uLmMKQEAgLTM0LDYgKzM0LDcgQEAgaW50ZWdlcl9wYXJhbSgiY3B1 aWRfbWFza19leHRfZWR4Iiwgb3B0X2NwdWlkX21hc2tfZXh0X2VkeCk7CiBz dHJ1Y3QgY3B1X2RldiAqIGNwdV9kZXZzW1g4Nl9WRU5ET1JfTlVNXSA9IHt9 OwogCiB1bnNpZ25lZCBpbnQgcGFkZHJfYml0cyBfX3JlYWRfbW9zdGx5ID0g MzY7Cit1bnNpZ25lZCBpbnQgaGFwX3BhZGRyX2JpdHMgX19yZWFkX21vc3Rs eSA9IDM2OwogCiAvKgogICogRGVmYXVsdCBob3N0IElBMzJfQ1JfUEFUIHZh bHVlIHRvIGNvdmVyIGFsbCBtZW1vcnkgdHlwZXMuCkBAIC0xOTIsNyArMTkz LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGVhcmx5X2NwdV9kZXRlY3Qodm9p ZCkKIAogc3RhdGljIHZvaWQgX19jcHVpbml0IGdlbmVyaWNfaWRlbnRpZnko c3RydWN0IGNwdWluZm9feDg2ICpjKQogewotCXUzMiB0Zm1zLCB4bHZsLCBj YXBhYmlsaXR5LCBleGNhcCwgZWJ4OworCXUzMiB0Zm1zLCB4bHZsLCBjYXBh YmlsaXR5LCBleGNhcCwgZWF4LCBlYng7CiAKIAkvKiBHZXQgdmVuZG9yIG5h bWUgKi8KIAljcHVpZCgweDAwMDAwMDAwLCAmYy0+Y3B1aWRfbGV2ZWwsCkBA IC0yMjcsOCArMjI4LDExIEBAIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBnZW5l cmljX2lkZW50aWZ5KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIAkJfQogCQlp ZiAoIHhsdmwgPj0gMHg4MDAwMDAwNCApCiAJCQlnZXRfbW9kZWxfbmFtZShj KTsgLyogRGVmYXVsdCBuYW1lICovCi0JCWlmICggeGx2bCA+PSAweDgwMDAw MDA4ICkKLQkJCXBhZGRyX2JpdHMgPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCkg JiAweGZmOworCQlpZiAoIHhsdmwgPj0gMHg4MDAwMDAwOCApIHsKKwkJCWVh eCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKKwkJCXBhZGRyX2JpdHMgPSBl YXggJiAweGZmOworCQkJaGFwX3BhZGRyX2JpdHMgPSAoKGVheCA+PiAxNikg JiAweGZmKSA/OiBwYWRkcl9iaXRzOworCQl9CiAJfQogCiAJLyogTWlnaHQg bGlmdCBCSU9TIG1heF9sZWFmPTMgbGltaXQuICovCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0u YwppbmRleCA5ZGFmY2NhLi5hZWU0YWExIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMK QEAgLTI4ODgsOCArMjg4OCw3IEBAIHZvaWQgaHZtX2NwdWlkKHVuc2lnbmVk IGludCBpbnB1dCwgdW5zaWduZWQgaW50ICplYXgsIHVuc2lnbmVkIGludCAq ZWJ4LAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgMHg4MDAwMDAwODoK LSAgICAgICAgY291bnQgPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCk7Ci0gICAg ICAgIGNvdW50ID0gKGNvdW50ID4+IDE2KSAmIDB4ZmYgPzogY291bnQgJiAw eGZmOworICAgICAgICBjb3VudCA9IGQtPmFyY2gucGFnaW5nLmdmbl9iaXRz ICsgUEFHRV9TSElGVDsKICAgICAgICAgaWYgKCAoKmVheCAmIDB4ZmYpID4g Y291bnQgKQogICAgICAgICAgICAgKmVheCA9ICgqZWF4ICYgfjB4ZmYpIHwg Y291bnQ7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9ndWVzdF93 YWxrLmMgYi94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jCmluZGV4IDcw NDYwYjYuLjA5NTExZjAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9n dWVzdF93YWxrLmMKKysrIGIveGVuL2FyY2gveDg2L21tL2d1ZXN0X3dhbGsu YwpAQCAtOTQsNiArOTQsMTIgQEAgdm9pZCAqbWFwX2RvbWFpbl9nZm4oc3Ry dWN0IHAybV9kb21haW4gKnAybSwgZ2ZuX3QgZ2ZuLCBtZm5fdCAqbWZuLAog ICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7CiAgICAgdm9pZCAqbWFwOwog CisgICAgaWYgKCBnZm5feChnZm4pID4+IHAybS0+ZG9tYWluLT5hcmNoLnBh Z2luZy5nZm5fYml0cyApCisgICAgeworICAgICAgICAqcmMgPSBfUEFHRV9J TlZBTElEX0JJVDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCiAg ICAgLyogVHJhbnNsYXRlIHRoZSBnZm4sIHVuc2hhcmluZyBpZiBzaGFyZWQg Ki8KICAgICBwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm5fcDJtKHAybS0+ZG9t YWluLCBwMm0sIGdmbl94KGdmbiksIHAybXQsIE5VTEwsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBxKTsKQEAgLTI5NCwyMCArMzAwLDgg QEAgZ3Vlc3Rfd2Fsa190YWJsZXMoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBw Mm1fZG9tYWluICpwMm0sCiAgICAgICAgICAgICBmbGFncyAmPSB+X1BBR0Vf UEFUOwogCiAgICAgICAgIGlmICggZ2ZuX3goc3RhcnQpICYgR1VFU1RfTDJf R0ZOX01BU0sgJiB+MHgxICkKLSAgICAgICAgewotI2lmIEdVRVNUX1BBR0lO R19MRVZFTFMgPT0gMgotICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAq IE5vdGUgdGhhdCBfUEFHRV9JTlZBTElEX0JJVFMgaXMgemVybyBpbiB0aGlz IGNhc2UsIHlpZWxkaW5nIGEKLSAgICAgICAgICAgICAqIG5vLW9wIGhlcmUu Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogQXJjaGl0ZWN0dXJh bGx5LCB0aGUgd2FsayBzaG91bGQgZmFpbCBpZiBiaXQgMjEgaXMgc2V0IChv dGhlcnMKLSAgICAgICAgICAgICAqIGFyZW4ndCBiZWluZyBjaGVja2VkIGF0 IGxlYXN0IGluIFBTRTM2IG1vZGUpLCBidXQgd2UnbGwgaWdub3JlCi0gICAg ICAgICAgICAgKiB0aGlzIGhlcmUgaW4gb3JkZXIgdG8gYXZvaWQgc3BlY2lm eWluZyBhIG5vbi1uYXR1cmFsLCBub24temVybwotICAgICAgICAgICAgICog X1BBR0VfSU5WQUxJRF9CSVRTIHZhbHVlIGp1c3QgZm9yIHRoYXQgY2FzZS4K LSAgICAgICAgICAgICAqLwotI2VuZGlmCiAgICAgICAgICAgICByYyB8PSBf UEFHRV9JTlZBTElEX0JJVFM7Ci0gICAgICAgIH0KKwogICAgICAgICAvKiBJ bmNyZW1lbnQgdGhlIHBmbiBieSB0aGUgcmlnaHQgbnVtYmVyIG9mIDRrIHBh Z2VzLiAgCiAgICAgICAgICAqIE1hc2sgb3V0IFBBVCBhbmQgaW52YWxpZCBi aXRzLiAqLwogICAgICAgICBzdGFydCA9IF9nZm4oKGdmbl94KHN0YXJ0KSAm IH5HVUVTVF9MMl9HRk5fTUFTSykgKwpAQCAtMzkwLDUgKzM4NCwxMSBAQCBz ZXRfYWQ6CiAgICAgICAgIHB1dF9wYWdlKG1mbl90b19wYWdlKG1mbl94KGd3 LT5sMW1mbikpKTsKICAgICB9CiAKKyAgICAvKiBJZiB0aGlzIGd1ZXN0IGhh cyBhIHJlc3RyaWN0ZWQgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSB0aGVuIHRo ZQorICAgICAqIHRhcmdldCBHRk4gbXVzdCBmaXQgd2l0aGluIGl0LiAqLwor ICAgIGlmICggIShyYyAmIF9QQUdFX1BSRVNFTlQpCisgICAgICAgICAmJiBn Zm5feChndWVzdF9sMWVfZ2V0X2dmbihndy0+bDFlKSkgPj4gZC0+YXJjaC5w YWdpbmcuZ2ZuX2JpdHMgKQorICAgICAgICByYyB8PSBfUEFHRV9JTlZBTElE X0JJVFM7CisKICAgICByZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvbW0vaGFwL2hhcC5jIGIveGVuL2FyY2gveDg2L21tL2hhcC9o YXAuYwppbmRleCA2NjIzOWI3Li4xMGMyOTUxIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvbW0vaGFwL2hhcC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9o YXAvaGFwLmMKQEAgLTQyMSw2ICs0MjEsNyBAQCBzdGF0aWMgdm9pZCBoYXBf ZGVzdHJveV9tb25pdG9yX3RhYmxlKHN0cnVjdCB2Y3B1KiB2LCBtZm5fdCBt bWZuKQogdm9pZCBoYXBfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkK IHsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2luZy5o YXAuZnJlZWxpc3QpOworICAgIGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzID0g aGFwX3BhZGRyX2JpdHMgLSBQQUdFX1NISUZUOwogfQogCiAvKiByZXR1cm4g MCBmb3Igc3VjY2VzcywgLWVycm5vIGZvciBmYWlsdXJlICovCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jIGIveGVuL2Fy Y2gveDg2L21tL3NoYWRvdy9jb21tb24uYwppbmRleCA0OWQ5ZTA2Li5lZGJi NTQ0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1v bi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKQEAg LTQ4LDYgKzQ4LDE2IEBAIHZvaWQgc2hhZG93X2RvbWFpbl9pbml0KHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncykKICAgICBJ TklUX1BBR0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2luZy5zaGFkb3cuZnJl ZWxpc3QpOwogICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPmFyY2gucGFn aW5nLnNoYWRvdy5waW5uZWRfc2hhZG93cyk7CiAKKyAgICBkLT5hcmNoLnBh Z2luZy5nZm5fYml0cyA9IHBhZGRyX2JpdHMgLSBQQUdFX1NISUZUOworI2lm bmRlZiBDT05GSUdfQklHTUVNCisgICAgLyoKKyAgICAgKiBTaGFkb3dlZCBz dXBlcnBhZ2VzIHN0b3JlIEdGTnMgaW4gMzItYml0IHBhZ2VfaW5mbyBmaWVs ZHMuCisgICAgICogTm90ZSB0aGF0IHdlIGNhbm5vdCB1c2UgZ3Vlc3Rfc3Vw cG9ydHNfc3VwZXJwYWdlcygpIGhlcmUuCisgICAgICovCisgICAgaWYgKCBp c19odm1fZG9tYWluKGQpIHx8IG9wdF9hbGxvd19zdXBlcnBhZ2UgKQorICAg ICAgICBkLT5hcmNoLnBhZ2luZy5nZm5fYml0cyA9IDMyOworI2VuZGlmCisK ICAgICAvKiBVc2Ugc2hhZG93IHBhZ2V0YWJsZXMgZm9yIGxvZy1kaXJ0eSBz dXBwb3J0ICovCiAgICAgcGFnaW5nX2xvZ19kaXJ0eV9pbml0KGQsIHNoYWRv d19lbmFibGVfbG9nX2RpcnR5LCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2hhZG93X2Rpc2FibGVfbG9nX2RpcnR5LCBzaGFkb3dfY2xlYW5fZGly dHlfYml0bWFwKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFk b3cvbXVsdGkuYyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwpp bmRleCA5NmJhNWYyLi5mYTVhYWQ0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvbW0vc2hhZG93L211bHRpLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3No YWRvdy9tdWx0aS5jCkBAIC01MjcsNyArNTI3LDggQEAgX3NoX3Byb3BhZ2F0 ZShzdHJ1Y3QgdmNwdSAqdiwKICAgICBBU1NFUlQoR1VFU1RfUEFHSU5HX0xF VkVMUyA+IDMgfHwgbGV2ZWwgIT0gMyk7CiAKICAgICAvKiBDaGVjayB0aGVy ZSdzIHNvbWV0aGluZyBmb3IgdGhlIHNoYWRvd3MgdG8gbWFwIHRvICovCi0g ICAgaWYgKCAhcDJtX2lzX3ZhbGlkKHAybXQpICYmICFwMm1faXNfZ3JhbnQo cDJtdCkgKQorICAgIGlmICggKCFwMm1faXNfdmFsaWQocDJtdCkgJiYgIXAy bV9pc19ncmFudChwMm10KSkKKyAgICAgICAgIHx8IGdmbl94KHRhcmdldF9n Zm4pID4+IGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzICkKICAgICB7CiAgICAg ICAgICpzcCA9IHNoYWRvd19sMWVfZW1wdHkoKTsKICAgICAgICAgZ290byBk b25lOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4u aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKaW5kZXggYjQ3NzY0 Ni4uMjRkZGFiZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9k b21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBA IC0xODcsNiArMTg3LDkgQEAgc3RydWN0IHBhZ2luZ19kb21haW4gewogICAg IC8qIGxvZyBkaXJ0eSBzdXBwb3J0ICovCiAgICAgc3RydWN0IGxvZ19kaXJ0 eV9kb21haW4gbG9nX2RpcnR5OwogCisgICAgLyogTnVtYmVyIG9mIHZhbGlk IGJpdHMgaW4gYSBnZm4uICovCisgICAgdW5zaWduZWQgaW50IGdmbl9iaXRz OworCiAgICAgLyogcHJlZW1wdGlvbiBoYW5kbGluZyAqLwogICAgIHN0cnVj dCB7CiAgICAgICAgIGNvbnN0IHN0cnVjdCBkb21haW4gKmRvbTsKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3RfcHQuaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvZ3Vlc3RfcHQuaAppbmRleCBiNjJiYzZhLi5lMDY4 MjZmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0X3B0 LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdF9wdC5oCkBAIC0y MjAsMTUgKzIyMCwxNyBAQCBndWVzdF9zdXBwb3J0c19ueChzdHJ1Y3QgdmNw dSAqdikKIH0KIAogCi0vKiBTb21lIGJpdHMgYXJlIGludmFsaWQgaW4gYW55 IHBhZ2V0YWJsZSBlbnRyeS4gKi8KLSNpZiBHVUVTVF9QQUdJTkdfTEVWRUxT ID09IDIKLSNkZWZpbmUgX1BBR0VfSU5WQUxJRF9CSVRTICgwKQotI2VsaWYg R1VFU1RfUEFHSU5HX0xFVkVMUyA9PSAzCi0jZGVmaW5lIF9QQUdFX0lOVkFM SURfQklUUyBcCi0gICAgZ2V0X3B0ZV9mbGFncygoKDF1bGw8PDYzKSAtIDEp ICYgfigoMXVsbDw8cGFkZHJfYml0cykgLSAxKSkKLSNlbHNlIC8qIEdVRVNU X1BBR0lOR19MRVZFTFMgPT0gNCAqLworLyoKKyAqIFNvbWUgYml0cyBhcmUg aW52YWxpZCBpbiBhbnkgcGFnZXRhYmxlIGVudHJ5LgorICogTm9ybWFsIGZs YWdzIHZhbHVlcyBnZXQgcmVwcmVzZW50ZWQgaW4gMjQtYml0IHZhbHVlcyAo c2VlCisgKiBnZXRfcHRlX2ZsYWdzKCkgYW5kIHB1dF9wdGVfZmxhZ3MoKSks IHNvIHNldCBiaXQgMjQgaW4KKyAqIGFkZGl0aW9uIHRvIGJlIGFibGUgdG8g ZmxhZyBvdXQgb2YgcmFuZ2UgZnJhbWUgbnVtYmVycy4KKyAqLworI2lmIEdV RVNUX1BBR0lOR19MRVZFTFMgPT0gMwogI2RlZmluZSBfUEFHRV9JTlZBTElE X0JJVFMgXAotICAgIGdldF9wdGVfZmxhZ3MoKCgxdWxsPDw1MikgLSAxKSAm IH4oKDF1bGw8PHBhZGRyX2JpdHMpIC0gMSkpCisgICAgKF9QQUdFX0lOVkFM SURfQklUIHwgZ2V0X3B0ZV9mbGFncygoKDF1bGwgPDwgNjMpIC0gMSkgJiB+ KFBBR0VfU0laRSAtIDEpKSkKKyNlbHNlIC8qIDItbGV2ZWwgYW5kIDQtbGV2 ZWwgKi8KKyNkZWZpbmUgX1BBR0VfSU5WQUxJRF9CSVRTIF9QQUdFX0lOVkFM SURfQklUCiAjZW5kaWYKIAogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L3Byb2Nlc3Nvci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9j ZXNzb3IuaAppbmRleCA0ZmE0YTYxLi4zYmNjNWI4IDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCisrKyBiL3hlbi9pbmNs dWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTE5Myw2ICsxOTMsOCBAQCBl eHRlcm4gYm9vbF90IG9wdF9jcHVfaW5mbzsKIAogLyogTWF4aW11bSB3aWR0 aCBvZiBwaHlzaWNhbCBhZGRyZXNzZXMgc3VwcG9ydGVkIGJ5IHRoZSBoYXJk d2FyZSAqLwogZXh0ZXJuIHVuc2lnbmVkIGludCBwYWRkcl9iaXRzOworLyog TWF4IHBoeXNpY2FsIGFkZHJlc3Mgd2lkdGggc3VwcG9ydGVkIHdpdGhpbiBI QVAgZ3Vlc3RzICovCitleHRlcm4gdW5zaWduZWQgaW50IGhhcF9wYWRkcl9i aXRzOwogCiBleHRlcm4gdm9pZCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWlu Zm9feDg2ICopOwogZXh0ZXJuIHZvaWQgc2V0dXBfY2xlYXJfY3B1X2NhcCh1 bnNpZ25lZCBpbnQpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni94ODZfNjQvcGFnZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQv cGFnZS5oCmluZGV4IGMxOTNjODguLmE0OGM2NTAgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L3g4Nl82NC9wYWdlLmgKQEAgLTE2Niw2ICsxNjYsNyBA QCB0eXBlZGVmIGw0X3BnZW50cnlfdCByb290X3BnZW50cnlfdDsKIAogI2Rl ZmluZSBVU0VSX01BUFBJTkdTX0FSRV9HTE9CQUwKICNpZmRlZiBVU0VSX01B UFBJTkdTX0FSRV9HTE9CQUwKKwogLyoKICAqIEJpdCAxMiBvZiBhIDI0LWJp dCBmbGFnIG1hc2suIFRoaXMgY29ycmVzcG9uZHMgdG8gYml0IDUyIG9mIGEg cHRlLgogICogVGhpcyBpcyBuZWVkZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2Vl biB1c2VyIGFuZCBrZXJuZWwgUFRFcyBzaW5jZSBfUEFHRV9VU0VSCkBAIC0x NzYsNiArMTc3LDEyIEBAIHR5cGVkZWYgbDRfcGdlbnRyeV90IHJvb3RfcGdl bnRyeV90OwogI2RlZmluZSBfUEFHRV9HVUVTVF9LRVJORUwgMAogI2VuZGlm CiAKKy8qCisgKiBCaXQgMjQgb2YgYSAyNC1iaXQgZmxhZyBtYXNrISAgVGhp cyBpcyBub3QgYW55IGJpdCBvZiBhIHJlYWwgcHRlLAorICogYW5kIGlzIG9u bHkgdXNlZCBmb3Igc2lnbmFsbGluZyBpbiB2YXJpYWJsZXMgdGhhdCBjb250 YWluIGZsYWdzLgorICovCisjZGVmaW5lIF9QQUdFX0lOVkFMSURfQklUICgx VTw8MjQpCisKICNlbmRpZiAvKiBfX1g4Nl82NF9QQUdFX0hfXyAqLwogCiAv Kgo= --=separator Content-Type: application/octet-stream; name="xsa173-4.4.patch" Content-Disposition: attachment; filename="xsa173-4.4.patch" Content-Transfer-Encoding: base64 Y29tbWl0IDU4OTNmOWVhODUyZjQyOGU3MTIwYTRmMzE4NGEyMGRlZWIxNDVk OTEKQXV0aG9yOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KRGF0ZTogICBX ZWQgTWFyIDE2IDE3OjA1OjI1IDIwMTYgKzAwMDAKCiAgICB4ODY6IGxpbWl0 IEdGTnMgdG8gMzIgYml0cyBmb3Igc2hhZG93ZWQgc3VwZXJwYWdlcy4KICAg IAogICAgU3VwZXJwYWdlIHNoYWRvd3Mgc3RvcmUgdGhlIHNoYWRvd2VkIEdG TiBpbiB0aGUgYmFja3BvaW50ZXIgZmllbGQsCiAgICB3aGljaCBmb3Igbm9u LUJJR01FTSBidWlsZHMgaXMgMzIgYml0cyB3aWRlLiAgU2hhZG93aW5nIGEg c3VwZXJwYWdlCiAgICBtYXBwaW5nIG9mIGEgZ3Vlc3QtcGh5c2ljYWwgYWRk cmVzcyBhYm92ZSAyXjQ0IHdvdWxkIGxlYWQgdG8gdGhlIEdGTgogICAgYmVp bmcgdHJ1bmNhdGVkIHRoZXJlLCBhbmQgYSBjcmFzaCB3aGVuIHdlIGNvbWUg dG8gcmVtb3ZlIHRoZSBzaGFkb3cKICAgIGZyb20gdGhlIGhhc2ggdGFibGUu CiAgICAKICAgIFRyYWNrIHRoZSB2YWxpZCB3aWR0aCBvZiBhIEdGTiBmb3Ig ZWFjaCBndWVzdCwgaW5jbHVkaW5nIHJlcG9ydGluZyBpdAogICAgdGhyb3Vn aCBDUFVJRCwgYW5kIGVuZm9yY2UgaXQgaW4gdGhlIHNoYWRvdyBwYWdldGFi bGVzLiAgU2V0IHRoZQogICAgbWF4aW11bSB3aXR0aCB0byAzMiBmb3IgZ3Vl c3RzIHdoZXJlIHRoaXMgdHJ1bmNhdGlvbiBjb3VsZCBvY2N1ci4KICAgIAog ICAgVGhpcyBpcyBYU0EtMTczLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBU aW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KICAgIFNpZ25lZC1vZmYtYnk6IEph biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KClJlcG9ydGVkLWJ5OiBM aW5nIExpdSA8bGl1bGluZy1pdEAzNjAuY24+CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L2NwdS9jb21t b24uYwppbmRleCA0MjIxODI2Li5mNDM2ZjkxIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUv Y29tbW9uLmMKQEAgLTM3LDYgKzM3LDcgQEAgaW50ZWdlcl9wYXJhbSgiY3B1 aWRfbWFza19leHRfZWR4Iiwgb3B0X2NwdWlkX21hc2tfZXh0X2VkeCk7CiBz dHJ1Y3QgY3B1X2RldiAqIGNwdV9kZXZzW1g4Nl9WRU5ET1JfTlVNXSA9IHt9 OwogCiB1bnNpZ25lZCBpbnQgcGFkZHJfYml0cyBfX3JlYWRfbW9zdGx5ID0g MzY7Cit1bnNpZ25lZCBpbnQgaGFwX3BhZGRyX2JpdHMgX19yZWFkX21vc3Rs eSA9IDM2OwogCiAvKgogICogRGVmYXVsdCBob3N0IElBMzJfQ1JfUEFUIHZh bHVlIHRvIGNvdmVyIGFsbCBtZW1vcnkgdHlwZXMuCkBAIC0xOTUsNyArMTk2 LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGVhcmx5X2NwdV9kZXRlY3Qodm9p ZCkKIAogc3RhdGljIHZvaWQgX19jcHVpbml0IGdlbmVyaWNfaWRlbnRpZnko c3RydWN0IGNwdWluZm9feDg2ICpjKQogewotCXUzMiB0Zm1zLCB4bHZsLCBj YXBhYmlsaXR5LCBleGNhcCwgZWJ4OworCXUzMiB0Zm1zLCB4bHZsLCBjYXBh YmlsaXR5LCBleGNhcCwgZWF4LCBlYng7CiAKIAkvKiBHZXQgdmVuZG9yIG5h bWUgKi8KIAljcHVpZCgweDAwMDAwMDAwLCAmYy0+Y3B1aWRfbGV2ZWwsCkBA IC0yMzAsOCArMjMxLDExIEBAIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBnZW5l cmljX2lkZW50aWZ5KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIAkJfQogCQlp ZiAoIHhsdmwgPj0gMHg4MDAwMDAwNCApCiAJCQlnZXRfbW9kZWxfbmFtZShj KTsgLyogRGVmYXVsdCBuYW1lICovCi0JCWlmICggeGx2bCA+PSAweDgwMDAw MDA4ICkKLQkJCXBhZGRyX2JpdHMgPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCkg JiAweGZmOworCQlpZiAoIHhsdmwgPj0gMHg4MDAwMDAwOCApIHsKKwkJCWVh eCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKKwkJCXBhZGRyX2JpdHMgPSBl YXggJiAweGZmOworCQkJaGFwX3BhZGRyX2JpdHMgPSAoKGVheCA+PiAxNikg JiAweGZmKSA/OiBwYWRkcl9iaXRzOworCQl9CiAJfQogCiAJLyogTWlnaHQg bGlmdCBCSU9TIG1heF9sZWFmPTMgbGltaXQuICovCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0u YwppbmRleCBmM2Y2YzYxLi5hNGJmYjkwIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMK QEAgLTI5NjYsOCArMjk2Niw3IEBAIHZvaWQgaHZtX2NwdWlkKHVuc2lnbmVk IGludCBpbnB1dCwgdW5zaWduZWQgaW50ICplYXgsIHVuc2lnbmVkIGludCAq ZWJ4LAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgMHg4MDAwMDAwODoK LSAgICAgICAgY291bnQgPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCk7Ci0gICAg ICAgIGNvdW50ID0gKGNvdW50ID4+IDE2KSAmIDB4ZmYgPzogY291bnQgJiAw eGZmOworICAgICAgICBjb3VudCA9IGQtPmFyY2gucGFnaW5nLmdmbl9iaXRz ICsgUEFHRV9TSElGVDsKICAgICAgICAgaWYgKCAoKmVheCAmIDB4ZmYpID4g Y291bnQgKQogICAgICAgICAgICAgKmVheCA9ICgqZWF4ICYgfjB4ZmYpIHwg Y291bnQ7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9ndWVzdF93 YWxrLmMgYi94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jCmluZGV4IDcw NDYwYjYuLjA5NTExZjAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9n dWVzdF93YWxrLmMKKysrIGIveGVuL2FyY2gveDg2L21tL2d1ZXN0X3dhbGsu YwpAQCAtOTQsNiArOTQsMTIgQEAgdm9pZCAqbWFwX2RvbWFpbl9nZm4oc3Ry dWN0IHAybV9kb21haW4gKnAybSwgZ2ZuX3QgZ2ZuLCBtZm5fdCAqbWZuLAog ICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7CiAgICAgdm9pZCAqbWFwOwog CisgICAgaWYgKCBnZm5feChnZm4pID4+IHAybS0+ZG9tYWluLT5hcmNoLnBh Z2luZy5nZm5fYml0cyApCisgICAgeworICAgICAgICAqcmMgPSBfUEFHRV9J TlZBTElEX0JJVDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCiAg ICAgLyogVHJhbnNsYXRlIHRoZSBnZm4sIHVuc2hhcmluZyBpZiBzaGFyZWQg Ki8KICAgICBwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm5fcDJtKHAybS0+ZG9t YWluLCBwMm0sIGdmbl94KGdmbiksIHAybXQsIE5VTEwsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBxKTsKQEAgLTI5NCwyMCArMzAwLDgg QEAgZ3Vlc3Rfd2Fsa190YWJsZXMoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBw Mm1fZG9tYWluICpwMm0sCiAgICAgICAgICAgICBmbGFncyAmPSB+X1BBR0Vf UEFUOwogCiAgICAgICAgIGlmICggZ2ZuX3goc3RhcnQpICYgR1VFU1RfTDJf R0ZOX01BU0sgJiB+MHgxICkKLSAgICAgICAgewotI2lmIEdVRVNUX1BBR0lO R19MRVZFTFMgPT0gMgotICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAq IE5vdGUgdGhhdCBfUEFHRV9JTlZBTElEX0JJVFMgaXMgemVybyBpbiB0aGlz IGNhc2UsIHlpZWxkaW5nIGEKLSAgICAgICAgICAgICAqIG5vLW9wIGhlcmUu Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogQXJjaGl0ZWN0dXJh bGx5LCB0aGUgd2FsayBzaG91bGQgZmFpbCBpZiBiaXQgMjEgaXMgc2V0IChv dGhlcnMKLSAgICAgICAgICAgICAqIGFyZW4ndCBiZWluZyBjaGVja2VkIGF0 IGxlYXN0IGluIFBTRTM2IG1vZGUpLCBidXQgd2UnbGwgaWdub3JlCi0gICAg ICAgICAgICAgKiB0aGlzIGhlcmUgaW4gb3JkZXIgdG8gYXZvaWQgc3BlY2lm eWluZyBhIG5vbi1uYXR1cmFsLCBub24temVybwotICAgICAgICAgICAgICog X1BBR0VfSU5WQUxJRF9CSVRTIHZhbHVlIGp1c3QgZm9yIHRoYXQgY2FzZS4K LSAgICAgICAgICAgICAqLwotI2VuZGlmCiAgICAgICAgICAgICByYyB8PSBf UEFHRV9JTlZBTElEX0JJVFM7Ci0gICAgICAgIH0KKwogICAgICAgICAvKiBJ bmNyZW1lbnQgdGhlIHBmbiBieSB0aGUgcmlnaHQgbnVtYmVyIG9mIDRrIHBh Z2VzLiAgCiAgICAgICAgICAqIE1hc2sgb3V0IFBBVCBhbmQgaW52YWxpZCBi aXRzLiAqLwogICAgICAgICBzdGFydCA9IF9nZm4oKGdmbl94KHN0YXJ0KSAm IH5HVUVTVF9MMl9HRk5fTUFTSykgKwpAQCAtMzkwLDUgKzM4NCwxMSBAQCBz ZXRfYWQ6CiAgICAgICAgIHB1dF9wYWdlKG1mbl90b19wYWdlKG1mbl94KGd3 LT5sMW1mbikpKTsKICAgICB9CiAKKyAgICAvKiBJZiB0aGlzIGd1ZXN0IGhh cyBhIHJlc3RyaWN0ZWQgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSB0aGVuIHRo ZQorICAgICAqIHRhcmdldCBHRk4gbXVzdCBmaXQgd2l0aGluIGl0LiAqLwor ICAgIGlmICggIShyYyAmIF9QQUdFX1BSRVNFTlQpCisgICAgICAgICAmJiBn Zm5feChndWVzdF9sMWVfZ2V0X2dmbihndy0+bDFlKSkgPj4gZC0+YXJjaC5w YWdpbmcuZ2ZuX2JpdHMgKQorICAgICAgICByYyB8PSBfUEFHRV9JTlZBTElE X0JJVFM7CisKICAgICByZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvbW0vaGFwL2hhcC5jIGIveGVuL2FyY2gveDg2L21tL2hhcC9o YXAuYwppbmRleCBjMDYzNjliLi5jY2M0MTc0IDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvbW0vaGFwL2hhcC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9o YXAvaGFwLmMKQEAgLTQyOCw2ICs0MjgsNyBAQCBzdGF0aWMgdm9pZCBoYXBf ZGVzdHJveV9tb25pdG9yX3RhYmxlKHN0cnVjdCB2Y3B1KiB2LCBtZm5fdCBt bWZuKQogdm9pZCBoYXBfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkK IHsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2luZy5o YXAuZnJlZWxpc3QpOworICAgIGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzID0g aGFwX3BhZGRyX2JpdHMgLSBQQUdFX1NISUZUOwogfQogCiAvKiByZXR1cm4g MCBmb3Igc3VjY2VzcywgLWVycm5vIGZvciBmYWlsdXJlICovCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jIGIveGVuL2Fy Y2gveDg2L21tL3NoYWRvdy9jb21tb24uYwppbmRleCA5MGJhNGQ2Li4wNmEw NGFkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1v bi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKQEAg LTQ4LDYgKzQ4LDE2IEBAIHZvaWQgc2hhZG93X2RvbWFpbl9pbml0KHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncykKICAgICBJ TklUX1BBR0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2luZy5zaGFkb3cuZnJl ZWxpc3QpOwogICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPmFyY2gucGFn aW5nLnNoYWRvdy5waW5uZWRfc2hhZG93cyk7CiAKKyAgICBkLT5hcmNoLnBh Z2luZy5nZm5fYml0cyA9IHBhZGRyX2JpdHMgLSBQQUdFX1NISUZUOworI2lm bmRlZiBDT05GSUdfQklHTUVNCisgICAgLyoKKyAgICAgKiBTaGFkb3dlZCBz dXBlcnBhZ2VzIHN0b3JlIEdGTnMgaW4gMzItYml0IHBhZ2VfaW5mbyBmaWVs ZHMuCisgICAgICogTm90ZSB0aGF0IHdlIGNhbm5vdCB1c2UgZ3Vlc3Rfc3Vw cG9ydHNfc3VwZXJwYWdlcygpIGhlcmUuCisgICAgICovCisgICAgaWYgKCAh aXNfcHZfZG9tYWluKGQpIHx8IG9wdF9hbGxvd19zdXBlcnBhZ2UgKQorICAg ICAgICBkLT5hcmNoLnBhZ2luZy5nZm5fYml0cyA9IDMyOworI2VuZGlmCisK ICAgICAvKiBVc2Ugc2hhZG93IHBhZ2V0YWJsZXMgZm9yIGxvZy1kaXJ0eSBz dXBwb3J0ICovCiAgICAgcGFnaW5nX2xvZ19kaXJ0eV9pbml0KGQsIHNoYWRv d19lbmFibGVfbG9nX2RpcnR5LCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2hhZG93X2Rpc2FibGVfbG9nX2RpcnR5LCBzaGFkb3dfY2xlYW5fZGly dHlfYml0bWFwKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFk b3cvbXVsdGkuYyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwpp bmRleCAwZjQ5OWJmLi42Yzg4ZDRlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvbW0vc2hhZG93L211bHRpLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3No YWRvdy9tdWx0aS5jCkBAIC01MjcsNyArNTI3LDggQEAgX3NoX3Byb3BhZ2F0 ZShzdHJ1Y3QgdmNwdSAqdiwKICAgICBBU1NFUlQoR1VFU1RfUEFHSU5HX0xF VkVMUyA+IDMgfHwgbGV2ZWwgIT0gMyk7CiAKICAgICAvKiBDaGVjayB0aGVy ZSdzIHNvbWV0aGluZyBmb3IgdGhlIHNoYWRvd3MgdG8gbWFwIHRvICovCi0g ICAgaWYgKCAhcDJtX2lzX3ZhbGlkKHAybXQpICYmICFwMm1faXNfZ3JhbnQo cDJtdCkgKQorICAgIGlmICggKCFwMm1faXNfdmFsaWQocDJtdCkgJiYgIXAy bV9pc19ncmFudChwMm10KSkKKyAgICAgICAgIHx8IGdmbl94KHRhcmdldF9n Zm4pID4+IGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzICkKICAgICB7CiAgICAg ICAgICpzcCA9IHNoYWRvd19sMWVfZW1wdHkoKTsKICAgICAgICAgZ290byBk b25lOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4u aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKaW5kZXggN2RmYmJj Yi4uYTAzZmMyZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9k b21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBA IC0xODcsNiArMTg3LDkgQEAgc3RydWN0IHBhZ2luZ19kb21haW4gewogICAg IC8qIGxvZyBkaXJ0eSBzdXBwb3J0ICovCiAgICAgc3RydWN0IGxvZ19kaXJ0 eV9kb21haW4gbG9nX2RpcnR5OwogCisgICAgLyogTnVtYmVyIG9mIHZhbGlk IGJpdHMgaW4gYSBnZm4uICovCisgICAgdW5zaWduZWQgaW50IGdmbl9iaXRz OworCiAgICAgLyogcHJlZW1wdGlvbiBoYW5kbGluZyAqLwogICAgIHN0cnVj dCB7CiAgICAgICAgIGNvbnN0IHN0cnVjdCBkb21haW4gKmRvbTsKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3RfcHQuaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvZ3Vlc3RfcHQuaAppbmRleCBkMmE4MjUwLi5kOTVm ODM1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0X3B0 LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdF9wdC5oCkBAIC0y MjAsMTUgKzIyMCwxNyBAQCBndWVzdF9zdXBwb3J0c19ueChzdHJ1Y3QgdmNw dSAqdikKIH0KIAogCi0vKiBTb21lIGJpdHMgYXJlIGludmFsaWQgaW4gYW55 IHBhZ2V0YWJsZSBlbnRyeS4gKi8KLSNpZiBHVUVTVF9QQUdJTkdfTEVWRUxT ID09IDIKLSNkZWZpbmUgX1BBR0VfSU5WQUxJRF9CSVRTICgwKQotI2VsaWYg R1VFU1RfUEFHSU5HX0xFVkVMUyA9PSAzCi0jZGVmaW5lIF9QQUdFX0lOVkFM SURfQklUUyBcCi0gICAgZ2V0X3B0ZV9mbGFncygoKDF1bGw8PDYzKSAtIDEp ICYgfigoMXVsbDw8cGFkZHJfYml0cykgLSAxKSkKLSNlbHNlIC8qIEdVRVNU X1BBR0lOR19MRVZFTFMgPT0gNCAqLworLyoKKyAqIFNvbWUgYml0cyBhcmUg aW52YWxpZCBpbiBhbnkgcGFnZXRhYmxlIGVudHJ5LgorICogTm9ybWFsIGZs YWdzIHZhbHVlcyBnZXQgcmVwcmVzZW50ZWQgaW4gMjQtYml0IHZhbHVlcyAo c2VlCisgKiBnZXRfcHRlX2ZsYWdzKCkgYW5kIHB1dF9wdGVfZmxhZ3MoKSks IHNvIHNldCBiaXQgMjQgaW4KKyAqIGFkZGl0aW9uIHRvIGJlIGFibGUgdG8g ZmxhZyBvdXQgb2YgcmFuZ2UgZnJhbWUgbnVtYmVycy4KKyAqLworI2lmIEdV RVNUX1BBR0lOR19MRVZFTFMgPT0gMwogI2RlZmluZSBfUEFHRV9JTlZBTElE X0JJVFMgXAotICAgIGdldF9wdGVfZmxhZ3MoKCgxdWxsPDw1MikgLSAxKSAm IH4oKDF1bGw8PHBhZGRyX2JpdHMpIC0gMSkpCisgICAgKF9QQUdFX0lOVkFM SURfQklUIHwgZ2V0X3B0ZV9mbGFncygoKDF1bGwgPDwgNjMpIC0gMSkgJiB+ KFBBR0VfU0laRSAtIDEpKSkKKyNlbHNlIC8qIDItbGV2ZWwgYW5kIDQtbGV2 ZWwgKi8KKyNkZWZpbmUgX1BBR0VfSU5WQUxJRF9CSVRTIF9QQUdFX0lOVkFM SURfQklUCiAjZW5kaWYKIAogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L3Byb2Nlc3Nvci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9j ZXNzb3IuaAppbmRleCBlYzNkYTliLi44MTgyYWZkIDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCisrKyBiL3hlbi9pbmNs dWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTE5NCw2ICsxOTQsOCBAQCBl eHRlcm4gYm9vbF90IG9wdF9jcHVfaW5mbzsKIAogLyogTWF4aW11bSB3aWR0 aCBvZiBwaHlzaWNhbCBhZGRyZXNzZXMgc3VwcG9ydGVkIGJ5IHRoZSBoYXJk d2FyZSAqLwogZXh0ZXJuIHVuc2lnbmVkIGludCBwYWRkcl9iaXRzOworLyog TWF4IHBoeXNpY2FsIGFkZHJlc3Mgd2lkdGggc3VwcG9ydGVkIHdpdGhpbiBI QVAgZ3Vlc3RzICovCitleHRlcm4gdW5zaWduZWQgaW50IGhhcF9wYWRkcl9i aXRzOwogCiBleHRlcm4gdm9pZCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWlu Zm9feDg2ICopOwogZXh0ZXJuIHZvaWQgc2V0dXBfY2xlYXJfY3B1X2NhcCh1 bnNpZ25lZCBpbnQpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni94ODZfNjQvcGFnZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQv cGFnZS5oCmluZGV4IGMxOTNjODguLmE0OGM2NTAgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L3g4Nl82NC9wYWdlLmgKQEAgLTE2Niw2ICsxNjYsNyBA QCB0eXBlZGVmIGw0X3BnZW50cnlfdCByb290X3BnZW50cnlfdDsKIAogI2Rl ZmluZSBVU0VSX01BUFBJTkdTX0FSRV9HTE9CQUwKICNpZmRlZiBVU0VSX01B UFBJTkdTX0FSRV9HTE9CQUwKKwogLyoKICAqIEJpdCAxMiBvZiBhIDI0LWJp dCBmbGFnIG1hc2suIFRoaXMgY29ycmVzcG9uZHMgdG8gYml0IDUyIG9mIGEg cHRlLgogICogVGhpcyBpcyBuZWVkZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2Vl biB1c2VyIGFuZCBrZXJuZWwgUFRFcyBzaW5jZSBfUEFHRV9VU0VSCkBAIC0x NzYsNiArMTc3LDEyIEBAIHR5cGVkZWYgbDRfcGdlbnRyeV90IHJvb3RfcGdl bnRyeV90OwogI2RlZmluZSBfUEFHRV9HVUVTVF9LRVJORUwgMAogI2VuZGlm CiAKKy8qCisgKiBCaXQgMjQgb2YgYSAyNC1iaXQgZmxhZyBtYXNrISAgVGhp cyBpcyBub3QgYW55IGJpdCBvZiBhIHJlYWwgcHRlLAorICogYW5kIGlzIG9u bHkgdXNlZCBmb3Igc2lnbmFsbGluZyBpbiB2YXJpYWJsZXMgdGhhdCBjb250 YWluIGZsYWdzLgorICovCisjZGVmaW5lIF9QQUdFX0lOVkFMSURfQklUICgx VTw8MjQpCisKICNlbmRpZiAvKiBfX1g4Nl82NF9QQUdFX0hfXyAqLwogCiAv Kgo= --=separator Content-Type: application/octet-stream; name="xsa173-4.5.patch" Content-Disposition: attachment; filename="xsa173-4.5.patch" Content-Transfer-Encoding: base64 Y29tbWl0IDlkNzY4N2Q2MGFlMmUwOWFkMmE3N2IwNWJkODIwZTc4NTA3MDkz NzUKQXV0aG9yOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KRGF0ZTogICBX ZWQgTWFyIDE2IDE2OjU2OjA0IDIwMTYgKzAwMDAKCiAgICB4ODY6IGxpbWl0 IEdGTnMgdG8gMzIgYml0cyBmb3Igc2hhZG93ZWQgc3VwZXJwYWdlcy4KICAg IAogICAgU3VwZXJwYWdlIHNoYWRvd3Mgc3RvcmUgdGhlIHNoYWRvd2VkIEdG TiBpbiB0aGUgYmFja3BvaW50ZXIgZmllbGQsCiAgICB3aGljaCBmb3Igbm9u LUJJR01FTSBidWlsZHMgaXMgMzIgYml0cyB3aWRlLiAgU2hhZG93aW5nIGEg c3VwZXJwYWdlCiAgICBtYXBwaW5nIG9mIGEgZ3Vlc3QtcGh5c2ljYWwgYWRk cmVzcyBhYm92ZSAyXjQ0IHdvdWxkIGxlYWQgdG8gdGhlIEdGTgogICAgYmVp bmcgdHJ1bmNhdGVkIHRoZXJlLCBhbmQgYSBjcmFzaCB3aGVuIHdlIGNvbWUg dG8gcmVtb3ZlIHRoZSBzaGFkb3cKICAgIGZyb20gdGhlIGhhc2ggdGFibGUu CiAgICAKICAgIFRyYWNrIHRoZSB2YWxpZCB3aWR0aCBvZiBhIEdGTiBmb3Ig ZWFjaCBndWVzdCwgaW5jbHVkaW5nIHJlcG9ydGluZyBpdAogICAgdGhyb3Vn aCBDUFVJRCwgYW5kIGVuZm9yY2UgaXQgaW4gdGhlIHNoYWRvdyBwYWdldGFi bGVzLiAgU2V0IHRoZQogICAgbWF4aW11bSB3aXR0aCB0byAzMiBmb3IgZ3Vl c3RzIHdoZXJlIHRoaXMgdHJ1bmNhdGlvbiBjb3VsZCBvY2N1ci4KICAgIAog ICAgVGhpcyBpcyBYU0EtMTczLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBU aW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KICAgIFNpZ25lZC1vZmYtYnk6IEph biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KClJlcG9ydGVkLWJ5OiBM aW5nIExpdSA8bGl1bGluZy1pdEAzNjAuY24+CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L2NwdS9jb21t b24uYwppbmRleCA1YzhkM2MyLi43ZGM4MjIwIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUv Y29tbW9uLmMKQEAgLTM3LDYgKzM3LDcgQEAgaW50ZWdlcl9wYXJhbSgiY3B1 aWRfbWFza19leHRfZWR4Iiwgb3B0X2NwdWlkX21hc2tfZXh0X2VkeCk7CiBz dHJ1Y3QgY3B1X2RldiAqIGNwdV9kZXZzW1g4Nl9WRU5ET1JfTlVNXSA9IHt9 OwogCiB1bnNpZ25lZCBpbnQgcGFkZHJfYml0cyBfX3JlYWRfbW9zdGx5ID0g MzY7Cit1bnNpZ25lZCBpbnQgaGFwX3BhZGRyX2JpdHMgX19yZWFkX21vc3Rs eSA9IDM2OwogCiAvKgogICogRGVmYXVsdCBob3N0IElBMzJfQ1JfUEFUIHZh bHVlIHRvIGNvdmVyIGFsbCBtZW1vcnkgdHlwZXMuCkBAIC0yMDksNyArMjEw LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGVhcmx5X2NwdV9kZXRlY3Qodm9p ZCkKIAogc3RhdGljIHZvaWQgX19jcHVpbml0IGdlbmVyaWNfaWRlbnRpZnko c3RydWN0IGNwdWluZm9feDg2ICpjKQogewotCXUzMiB0Zm1zLCBjYXBhYmls aXR5LCBleGNhcCwgZWJ4OworCXUzMiB0Zm1zLCBjYXBhYmlsaXR5LCBleGNh cCwgZWJ4LCBlYXg7CiAKIAkvKiBHZXQgdmVuZG9yIG5hbWUgKi8KIAljcHVp ZCgweDAwMDAwMDAwLCAmYy0+Y3B1aWRfbGV2ZWwsCkBAIC0yNDYsOCArMjQ3 LDExIEBAIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBnZW5lcmljX2lkZW50aWZ5 KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIAkJfQogCQlpZiAoIGMtPmV4dGVu ZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDQgKQogCQkJZ2V0X21vZGVs X25hbWUoYyk7IC8qIERlZmF1bHQgbmFtZSAqLwotCQlpZiAoIGMtPmV4dGVu ZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDggKQotCQkJcGFkZHJfYml0 cyA9IGNwdWlkX2VheCgweDgwMDAwMDA4KSAmIDB4ZmY7CisJCWlmICggYy0+ ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwOCApIHsKKwkJCWVh eCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKKwkJCXBhZGRyX2JpdHMgPSBl YXggJiAweGZmOworCQkJaGFwX3BhZGRyX2JpdHMgPSAoKGVheCA+PiAxNikg JiAweGZmKSA/OiBwYWRkcl9iaXRzOworCQl9CiAJfQogCiAJLyogTWlnaHQg bGlmdCBCSU9TIG1heF9sZWFmPTMgbGltaXQuICovCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0u YwppbmRleCA0MWZiMTBhLi5jYWM0NThhIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMK QEAgLTQzMjcsOCArNDMyNyw3IEBAIHZvaWQgaHZtX2NwdWlkKHVuc2lnbmVk IGludCBpbnB1dCwgdW5zaWduZWQgaW50ICplYXgsIHVuc2lnbmVkIGludCAq ZWJ4LAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgMHg4MDAwMDAwODoK LSAgICAgICAgY291bnQgPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCk7Ci0gICAg ICAgIGNvdW50ID0gKGNvdW50ID4+IDE2KSAmIDB4ZmYgPzogY291bnQgJiAw eGZmOworICAgICAgICBjb3VudCA9IGQtPmFyY2gucGFnaW5nLmdmbl9iaXRz ICsgUEFHRV9TSElGVDsKICAgICAgICAgaWYgKCAoKmVheCAmIDB4ZmYpID4g Y291bnQgKQogICAgICAgICAgICAgKmVheCA9ICgqZWF4ICYgfjB4ZmYpIHwg Y291bnQ7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9ndWVzdF93 YWxrLmMgYi94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jCmluZGV4IDFi MjYxNzUuLjUwYmE3ZDUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9n dWVzdF93YWxrLmMKKysrIGIveGVuL2FyY2gveDg2L21tL2d1ZXN0X3dhbGsu YwpAQCAtOTQsNiArOTQsMTIgQEAgdm9pZCAqbWFwX2RvbWFpbl9nZm4oc3Ry dWN0IHAybV9kb21haW4gKnAybSwgZ2ZuX3QgZ2ZuLCBtZm5fdCAqbWZuLAog ICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7CiAgICAgdm9pZCAqbWFwOwog CisgICAgaWYgKCBnZm5feChnZm4pID4+IHAybS0+ZG9tYWluLT5hcmNoLnBh Z2luZy5nZm5fYml0cyApCisgICAgeworICAgICAgICAqcmMgPSBfUEFHRV9J TlZBTElEX0JJVDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCiAg ICAgLyogVHJhbnNsYXRlIHRoZSBnZm4sIHVuc2hhcmluZyBpZiBzaGFyZWQg Ki8KICAgICBwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm5fcDJtKHAybS0+ZG9t YWluLCBwMm0sIGdmbl94KGdmbiksIHAybXQsIE5VTEwsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBxKTsKQEAgLTMyNywyMCArMzMzLDgg QEAgZ3Vlc3Rfd2Fsa190YWJsZXMoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBw Mm1fZG9tYWluICpwMm0sCiAgICAgICAgICAgICBmbGFncyAmPSB+X1BBR0Vf UEFUOwogCiAgICAgICAgIGlmICggZ2ZuX3goc3RhcnQpICYgR1VFU1RfTDJf R0ZOX01BU0sgJiB+MHgxICkKLSAgICAgICAgewotI2lmIEdVRVNUX1BBR0lO R19MRVZFTFMgPT0gMgotICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAq IE5vdGUgdGhhdCBfUEFHRV9JTlZBTElEX0JJVFMgaXMgemVybyBpbiB0aGlz IGNhc2UsIHlpZWxkaW5nIGEKLSAgICAgICAgICAgICAqIG5vLW9wIGhlcmUu Ci0gICAgICAgICAgICAgKgotICAgICAgICAgICAgICogQXJjaGl0ZWN0dXJh bGx5LCB0aGUgd2FsayBzaG91bGQgZmFpbCBpZiBiaXQgMjEgaXMgc2V0IChv dGhlcnMKLSAgICAgICAgICAgICAqIGFyZW4ndCBiZWluZyBjaGVja2VkIGF0 IGxlYXN0IGluIFBTRTM2IG1vZGUpLCBidXQgd2UnbGwgaWdub3JlCi0gICAg ICAgICAgICAgKiB0aGlzIGhlcmUgaW4gb3JkZXIgdG8gYXZvaWQgc3BlY2lm eWluZyBhIG5vbi1uYXR1cmFsLCBub24temVybwotICAgICAgICAgICAgICog X1BBR0VfSU5WQUxJRF9CSVRTIHZhbHVlIGp1c3QgZm9yIHRoYXQgY2FzZS4K LSAgICAgICAgICAgICAqLwotI2VuZGlmCiAgICAgICAgICAgICByYyB8PSBf UEFHRV9JTlZBTElEX0JJVFM7Ci0gICAgICAgIH0KKwogICAgICAgICAvKiBJ bmNyZW1lbnQgdGhlIHBmbiBieSB0aGUgcmlnaHQgbnVtYmVyIG9mIDRrIHBh Z2VzLiAgCiAgICAgICAgICAqIE1hc2sgb3V0IFBBVCBhbmQgaW52YWxpZCBi aXRzLiAqLwogICAgICAgICBzdGFydCA9IF9nZm4oKGdmbl94KHN0YXJ0KSAm IH5HVUVTVF9MMl9HRk5fTUFTSykgKwpAQCAtNDIzLDUgKzQxNywxMSBAQCBz ZXRfYWQ6CiAgICAgICAgIHB1dF9wYWdlKG1mbl90b19wYWdlKG1mbl94KGd3 LT5sMW1mbikpKTsKICAgICB9CiAKKyAgICAvKiBJZiB0aGlzIGd1ZXN0IGhh cyBhIHJlc3RyaWN0ZWQgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSB0aGVuIHRo ZQorICAgICAqIHRhcmdldCBHRk4gbXVzdCBmaXQgd2l0aGluIGl0LiAqLwor ICAgIGlmICggIShyYyAmIF9QQUdFX1BSRVNFTlQpCisgICAgICAgICAmJiBn Zm5feChndWVzdF9sMWVfZ2V0X2dmbihndy0+bDFlKSkgPj4gZC0+YXJjaC5w YWdpbmcuZ2ZuX2JpdHMgKQorICAgICAgICByYyB8PSBfUEFHRV9JTlZBTElE X0JJVFM7CisKICAgICByZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvbW0vaGFwL2hhcC5jIGIveGVuL2FyY2gveDg2L21tL2hhcC9o YXAuYwppbmRleCAwYzgwMDEyLi44NDUzMWIxIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvbW0vaGFwL2hhcC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9o YXAvaGFwLmMKQEAgLTQyOSw2ICs0MjksOCBAQCB2b2lkIGhhcF9kb21haW5f aW5pdChzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIElOSVRfUEFHRV9MSVNU X0hFQUQoJmQtPmFyY2gucGFnaW5nLmhhcC5mcmVlbGlzdCk7CiAKKyAgICBk LT5hcmNoLnBhZ2luZy5nZm5fYml0cyA9IGhhcF9wYWRkcl9iaXRzIC0gUEFH RV9TSElGVDsKKwogICAgIC8qIFVzZSBIQVAgbG9nZGlydHkgbWVjaGFuaXNt LiAqLwogICAgIHBhZ2luZ19sb2dfZGlydHlfaW5pdChkLCBoYXBfZW5hYmxl X2xvZ19kaXJ0eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFwX2Rp c2FibGVfbG9nX2RpcnR5LApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21t L3NoYWRvdy9jb21tb24uYyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29t bW9uLmMKaW5kZXggMTgwMjZmZS4uOTAyOGQ4MiAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYworKysgYi94ZW4vYXJjaC94 ODYvbW0vc2hhZG93L2NvbW1vbi5jCkBAIC00OCw2ICs0OCwxNiBAQCB2b2lk IHNoYWRvd19kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBpbnQgZG9tY3JfZmxhZ3MpCiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgm ZC0+YXJjaC5wYWdpbmcuc2hhZG93LmZyZWVsaXN0KTsKICAgICBJTklUX1BB R0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2luZy5zaGFkb3cucGlubmVkX3No YWRvd3MpOwogCisgICAgZC0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgPSBwYWRk cl9iaXRzIC0gUEFHRV9TSElGVDsKKyNpZm5kZWYgQ09ORklHX0JJR01FTQor ICAgIC8qCisgICAgICogU2hhZG93ZWQgc3VwZXJwYWdlcyBzdG9yZSBHRk5z IGluIDMyLWJpdCBwYWdlX2luZm8gZmllbGRzLgorICAgICAqIE5vdGUgdGhh dCB3ZSBjYW5ub3QgdXNlIGd1ZXN0X3N1cHBvcnRzX3N1cGVycGFnZXMoKSBo ZXJlLgorICAgICAqLworICAgIGlmICggIWlzX3B2X2RvbWFpbihkKSB8fCBv cHRfYWxsb3dfc3VwZXJwYWdlICkKKyAgICAgICAgZC0+YXJjaC5wYWdpbmcu Z2ZuX2JpdHMgPSAzMjsKKyNlbmRpZgorCiAgICAgLyogVXNlIHNoYWRvdyBw YWdldGFibGVzIGZvciBsb2ctZGlydHkgc3VwcG9ydCAqLwogICAgIHBhZ2lu Z19sb2dfZGlydHlfaW5pdChkLCBzaGFkb3dfZW5hYmxlX2xvZ19kaXJ0eSwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd19kaXNhYmxlX2xv Z19kaXJ0eSwgc2hhZG93X2NsZWFuX2RpcnR5X2JpdG1hcCk7CmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMgYi94ZW4vYXJj aC94ODYvbW0vc2hhZG93L211bHRpLmMKaW5kZXggZDY4MDJmZi4uNzU4OWQy MyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5j CisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwpAQCAtNTI3 LDcgKzUyNyw4IEBAIF9zaF9wcm9wYWdhdGUoc3RydWN0IHZjcHUgKnYsCiAg ICAgQVNTRVJUKEdVRVNUX1BBR0lOR19MRVZFTFMgPiAzIHx8IGxldmVsICE9 IDMpOwogCiAgICAgLyogQ2hlY2sgdGhlcmUncyBzb21ldGhpbmcgZm9yIHRo ZSBzaGFkb3dzIHRvIG1hcCB0byAqLwotICAgIGlmICggIXAybV9pc192YWxp ZChwMm10KSAmJiAhcDJtX2lzX2dyYW50KHAybXQpICkKKyAgICBpZiAoICgh cDJtX2lzX3ZhbGlkKHAybXQpICYmICFwMm1faXNfZ3JhbnQocDJtdCkpCisg ICAgICAgICB8fCBnZm5feCh0YXJnZXRfZ2ZuKSA+PiBkLT5hcmNoLnBhZ2lu Zy5nZm5fYml0cyApCiAgICAgewogICAgICAgICAqc3AgPSBzaGFkb3dfbDFl X2VtcHR5KCk7CiAgICAgICAgIGdvdG8gZG9uZTsKZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20t eDg2L2RvbWFpbi5oCmluZGV4IDZhNzdhOTMuLmU4ZGY0YTkgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9kb21haW4uaApAQCAtMTg4LDYgKzE4OCw5IEBAIHN0 cnVjdCBwYWdpbmdfZG9tYWluIHsKICAgICAvKiBsb2cgZGlydHkgc3VwcG9y dCAqLwogICAgIHN0cnVjdCBsb2dfZGlydHlfZG9tYWluIGxvZ19kaXJ0eTsK IAorICAgIC8qIE51bWJlciBvZiB2YWxpZCBiaXRzIGluIGEgZ2ZuLiAqLwor ICAgIHVuc2lnbmVkIGludCBnZm5fYml0czsKKwogICAgIC8qIHByZWVtcHRp b24gaGFuZGxpbmcgKi8KICAgICBzdHJ1Y3QgewogICAgICAgICBjb25zdCBz dHJ1Y3QgZG9tYWluICpkb207CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L2d1ZXN0X3B0LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0 X3B0LmgKaW5kZXggZDJhODI1MC4uZDk1ZjgzNSAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9ndWVzdF9wdC5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS14ODYvZ3Vlc3RfcHQuaApAQCAtMjIwLDE1ICsyMjAsMTcgQEAgZ3Vl c3Rfc3VwcG9ydHNfbngoc3RydWN0IHZjcHUgKnYpCiB9CiAKIAotLyogU29t ZSBiaXRzIGFyZSBpbnZhbGlkIGluIGFueSBwYWdldGFibGUgZW50cnkuICov Ci0jaWYgR1VFU1RfUEFHSU5HX0xFVkVMUyA9PSAyCi0jZGVmaW5lIF9QQUdF X0lOVkFMSURfQklUUyAoMCkKLSNlbGlmIEdVRVNUX1BBR0lOR19MRVZFTFMg PT0gMwotI2RlZmluZSBfUEFHRV9JTlZBTElEX0JJVFMgXAotICAgIGdldF9w dGVfZmxhZ3MoKCgxdWxsPDw2MykgLSAxKSAmIH4oKDF1bGw8PHBhZGRyX2Jp dHMpIC0gMSkpCi0jZWxzZSAvKiBHVUVTVF9QQUdJTkdfTEVWRUxTID09IDQg Ki8KKy8qCisgKiBTb21lIGJpdHMgYXJlIGludmFsaWQgaW4gYW55IHBhZ2V0 YWJsZSBlbnRyeS4KKyAqIE5vcm1hbCBmbGFncyB2YWx1ZXMgZ2V0IHJlcHJl c2VudGVkIGluIDI0LWJpdCB2YWx1ZXMgKHNlZQorICogZ2V0X3B0ZV9mbGFn cygpIGFuZCBwdXRfcHRlX2ZsYWdzKCkpLCBzbyBzZXQgYml0IDI0IGluCisg KiBhZGRpdGlvbiB0byBiZSBhYmxlIHRvIGZsYWcgb3V0IG9mIHJhbmdlIGZy YW1lIG51bWJlcnMuCisgKi8KKyNpZiBHVUVTVF9QQUdJTkdfTEVWRUxTID09 IDMKICNkZWZpbmUgX1BBR0VfSU5WQUxJRF9CSVRTIFwKLSAgICBnZXRfcHRl X2ZsYWdzKCgoMXVsbDw8NTIpIC0gMSkgJiB+KCgxdWxsPDxwYWRkcl9iaXRz KSAtIDEpKQorICAgIChfUEFHRV9JTlZBTElEX0JJVCB8IGdldF9wdGVfZmxh Z3MoKCgxdWxsIDw8IDYzKSAtIDEpICYgfihQQUdFX1NJWkUgLSAxKSkpCisj ZWxzZSAvKiAyLWxldmVsIGFuZCA0LWxldmVsICovCisjZGVmaW5lIF9QQUdF X0lOVkFMSURfQklUUyBfUEFHRV9JTlZBTElEX0JJVAogI2VuZGlmCiAKIApk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaCBi L3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKaW5kZXggYjRlNDcz MS4uNTZmYzVhMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9w cm9jZXNzb3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nv ci5oCkBAIC0yMDMsNiArMjAzLDggQEAgZXh0ZXJuIHUzMiBjcHVpZF9leHRf ZmVhdHVyZXM7CiAKIC8qIE1heGltdW0gd2lkdGggb2YgcGh5c2ljYWwgYWRk cmVzc2VzIHN1cHBvcnRlZCBieSB0aGUgaGFyZHdhcmUgKi8KIGV4dGVybiB1 bnNpZ25lZCBpbnQgcGFkZHJfYml0czsKKy8qIE1heCBwaHlzaWNhbCBhZGRy ZXNzIHdpZHRoIHN1cHBvcnRlZCB3aXRoaW4gSEFQIGd1ZXN0cyAqLworZXh0 ZXJuIHVuc2lnbmVkIGludCBoYXBfcGFkZHJfYml0czsKIAogZXh0ZXJuIHZv aWQgaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqKTsKIGV4dGVy biB2b2lkIHNldHVwX2NsZWFyX2NwdV9jYXAodW5zaWduZWQgaW50KTsKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaCBi L3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaAppbmRleCAxZDU0 NTg3Li5mMWQxYjZjIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L3g4Nl82NC9wYWdlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZf NjQvcGFnZS5oCkBAIC0xNDEsNiArMTQxLDEyIEBAIHR5cGVkZWYgbDRfcGdl bnRyeV90IHJvb3RfcGdlbnRyeV90OwogI2RlZmluZSBfUEFHRV9HTlRUQUIg KDFVPDwyMikKIAogLyoKKyAqIEJpdCAyNCBvZiBhIDI0LWJpdCBmbGFnIG1h c2shICBUaGlzIGlzIG5vdCBhbnkgYml0IG9mIGEgcmVhbCBwdGUsCisgKiBh bmQgaXMgb25seSB1c2VkIGZvciBzaWduYWxsaW5nIGluIHZhcmlhYmxlcyB0 aGF0IGNvbnRhaW4gZmxhZ3MuCisgKi8KKyNkZWZpbmUgX1BBR0VfSU5WQUxJ RF9CSVQgKDFVPDwyNCkKKworLyoKICAqIEJpdCAxMiBvZiBhIDI0LWJpdCBm bGFnIG1hc2suIFRoaXMgY29ycmVzcG9uZHMgdG8gYml0IDUyIG9mIGEgcHRl LgogICogVGhpcyBpcyBuZWVkZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB1 c2VyIGFuZCBrZXJuZWwgUFRFcyBzaW5jZSBfUEFHRV9VU0VSCiAgKiBpcyBh c3NlcnRlZCBmb3IgYm90aC4K --=separator Content-Type: application/octet-stream; name="xsa173-4.6.patch" Content-Disposition: attachment; filename="xsa173-4.6.patch" Content-Transfer-Encoding: base64 Y29tbWl0IDU0YTQ2NTFjYjRlNzQ0OTYwZmIzNzVlZDk5OTA5ZDdkZmI5NDNj YWYKQXV0aG9yOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KRGF0ZTogICBX ZWQgTWFyIDE2IDE2OjUxOjI3IDIwMTYgKzAwMDAKCiAgICB4ODY6IGxpbWl0 IEdGTnMgdG8gMzIgYml0cyBmb3Igc2hhZG93ZWQgc3VwZXJwYWdlcy4KICAg IAogICAgU3VwZXJwYWdlIHNoYWRvd3Mgc3RvcmUgdGhlIHNoYWRvd2VkIEdG TiBpbiB0aGUgYmFja3BvaW50ZXIgZmllbGQsCiAgICB3aGljaCBmb3Igbm9u LUJJR01FTSBidWlsZHMgaXMgMzIgYml0cyB3aWRlLiAgU2hhZG93aW5nIGEg c3VwZXJwYWdlCiAgICBtYXBwaW5nIG9mIGEgZ3Vlc3QtcGh5c2ljYWwgYWRk cmVzcyBhYm92ZSAyXjQ0IHdvdWxkIGxlYWQgdG8gdGhlIEdGTgogICAgYmVp bmcgdHJ1bmNhdGVkIHRoZXJlLCBhbmQgYSBjcmFzaCB3aGVuIHdlIGNvbWUg dG8gcmVtb3ZlIHRoZSBzaGFkb3cKICAgIGZyb20gdGhlIGhhc2ggdGFibGUu CiAgICAKICAgIFRyYWNrIHRoZSB2YWxpZCB3aWR0aCBvZiBhIEdGTiBmb3Ig ZWFjaCBndWVzdCwgaW5jbHVkaW5nIHJlcG9ydGluZyBpdAogICAgdGhyb3Vn aCBDUFVJRCwgYW5kIGVuZm9yY2UgaXQgaW4gdGhlIHNoYWRvdyBwYWdldGFi bGVzLiAgU2V0IHRoZQogICAgbWF4aW11bSB3aXR0aCB0byAzMiBmb3IgZ3Vl c3RzIHdoZXJlIHRoaXMgdHJ1bmNhdGlvbiBjb3VsZCBvY2N1ci4KICAgIAog ICAgVGhpcyBpcyBYU0EtMTczLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBU aW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KICAgIFNpZ25lZC1vZmYtYnk6IEph biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KClJlcG9ydGVkLWJ5OiBM aW5nIExpdSA8bGl1bGluZy1pdEAzNjAuY24+CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L2NwdS9jb21t b24uYwppbmRleCAzNWVmMjFiLi41MjhjMjgzIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvY3B1L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUv Y29tbW9uLmMKQEAgLTM4LDYgKzM4LDcgQEAgaW50ZWdlcl9wYXJhbSgiY3B1 aWRfbWFza19leHRfZWR4Iiwgb3B0X2NwdWlkX21hc2tfZXh0X2VkeCk7CiBj b25zdCBzdHJ1Y3QgY3B1X2RldiAqX19yZWFkX21vc3RseSBjcHVfZGV2c1tY ODZfVkVORE9SX05VTV0gPSB7fTsKIAogdW5zaWduZWQgaW50IHBhZGRyX2Jp dHMgX19yZWFkX21vc3RseSA9IDM2OwordW5zaWduZWQgaW50IGhhcF9wYWRk cl9iaXRzIF9fcmVhZF9tb3N0bHkgPSAzNjsKIAogLyoKICAqIERlZmF1bHQg aG9zdCBJQTMyX0NSX1BBVCB2YWx1ZSB0byBjb3ZlciBhbGwgbWVtb3J5IHR5 cGVzLgpAQCAtMjExLDcgKzIxMiw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBl YXJseV9jcHVfZGV0ZWN0KHZvaWQpCiAKIHN0YXRpYyB2b2lkIF9fY3B1aW5p dCBnZW5lcmljX2lkZW50aWZ5KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsK LQl1MzIgdGZtcywgY2FwYWJpbGl0eSwgZXhjYXAsIGVieDsKKwl1MzIgdGZt cywgY2FwYWJpbGl0eSwgZXhjYXAsIGVieCwgZWF4OwogCiAJLyogR2V0IHZl bmRvciBuYW1lICovCiAJY3B1aWQoMHgwMDAwMDAwMCwgJmMtPmNwdWlkX2xl dmVsLApAQCAtMjQ4LDggKzI0OSwxMSBAQCBzdGF0aWMgdm9pZCBfX2NwdWlu aXQgZ2VuZXJpY19pZGVudGlmeShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiAJ CX0KIAkJaWYgKCBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAw MDA0ICkKIAkJCWdldF9tb2RlbF9uYW1lKGMpOyAvKiBEZWZhdWx0IG5hbWUg Ki8KLQkJaWYgKCBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAw MDA4ICkKLQkJCXBhZGRyX2JpdHMgPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCkg JiAweGZmOworCQlpZiAoIGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID49IDB4 ODAwMDAwMDggKSB7CisJCQllYXggPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCk7 CisJCQlwYWRkcl9iaXRzID0gZWF4ICYgMHhmZjsKKwkJCWhhcF9wYWRkcl9i aXRzID0gKChlYXggPj4gMTYpICYgMHhmZikgPzogcGFkZHJfYml0czsKKwkJ fQogCX0KIAogCS8qIE1pZ2h0IGxpZnQgQklPUyBtYXhfbGVhZj0zIGxpbWl0 LiAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hl bi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggZTIwMGFhYi4uMGI0ZDlmMCAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4v YXJjaC94ODYvaHZtL2h2bS5jCkBAIC00NTY3LDggKzQ1NjcsNyBAQCB2b2lk IGh2bV9jcHVpZCh1bnNpZ25lZCBpbnQgaW5wdXQsIHVuc2lnbmVkIGludCAq ZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKICAgICAgICAgYnJlYWs7CiAKICAg ICBjYXNlIDB4ODAwMDAwMDg6Ci0gICAgICAgIGNvdW50ID0gY3B1aWRfZWF4 KDB4ODAwMDAwMDgpOwotICAgICAgICBjb3VudCA9IChjb3VudCA+PiAxNikg JiAweGZmID86IGNvdW50ICYgMHhmZjsKKyAgICAgICAgY291bnQgPSBkLT5h cmNoLnBhZ2luZy5nZm5fYml0cyArIFBBR0VfU0hJRlQ7CiAgICAgICAgIGlm ICggKCplYXggJiAweGZmKSA+IGNvdW50ICkKICAgICAgICAgICAgICplYXgg PSAoKmVheCAmIH4weGZmKSB8IGNvdW50OwogCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jIGIveGVuL2FyY2gveDg2L21tL2d1 ZXN0X3dhbGsuYwppbmRleCA3NzM0NTRkLi4wNjU0M2QzIDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jCisrKyBiL3hlbi9hcmNo L3g4Ni9tbS9ndWVzdF93YWxrLmMKQEAgLTkzLDYgKzkzLDEyIEBAIHZvaWQg Km1hcF9kb21haW5fZ2ZuKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIGdmbl90 IGdmbiwgbWZuX3QgKm1mbiwKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdl OwogICAgIHZvaWQgKm1hcDsKIAorICAgIGlmICggZ2ZuX3goZ2ZuKSA+PiBw Mm0tPmRvbWFpbi0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgKQorICAgIHsKKyAg ICAgICAgKnJjID0gX1BBR0VfSU5WQUxJRF9CSVQ7CisgICAgICAgIHJldHVy biBOVUxMOworICAgIH0KKwogICAgIC8qIFRyYW5zbGF0ZSB0aGUgZ2ZuLCB1 bnNoYXJpbmcgaWYgc2hhcmVkICovCiAgICAgcGFnZSA9IGdldF9wYWdlX2Zy b21fZ2ZuX3AybShwMm0tPmRvbWFpbiwgcDJtLCBnZm5feChnZm4pLCBwMm10 LCBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcSk7 CkBAIC0zMjYsMjAgKzMzMiw4IEBAIGd1ZXN0X3dhbGtfdGFibGVzKHN0cnVj dCB2Y3B1ICp2LCBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAogICAgICAgICAg ICAgZmxhZ3MgJj0gfl9QQUdFX1BBVDsKIAogICAgICAgICBpZiAoIGdmbl94 KHN0YXJ0KSAmIEdVRVNUX0wyX0dGTl9NQVNLICYgfjB4MSApCi0gICAgICAg IHsKLSNpZiBHVUVTVF9QQUdJTkdfTEVWRUxTID09IDIKLSAgICAgICAgICAg IC8qCi0gICAgICAgICAgICAgKiBOb3RlIHRoYXQgX1BBR0VfSU5WQUxJRF9C SVRTIGlzIHplcm8gaW4gdGhpcyBjYXNlLCB5aWVsZGluZyBhCi0gICAgICAg ICAgICAgKiBuby1vcCBoZXJlLgotICAgICAgICAgICAgICoKLSAgICAgICAg ICAgICAqIEFyY2hpdGVjdHVyYWxseSwgdGhlIHdhbGsgc2hvdWxkIGZhaWwg aWYgYml0IDIxIGlzIHNldCAob3RoZXJzCi0gICAgICAgICAgICAgKiBhcmVu J3QgYmVpbmcgY2hlY2tlZCBhdCBsZWFzdCBpbiBQU0UzNiBtb2RlKSwgYnV0 IHdlJ2xsIGlnbm9yZQotICAgICAgICAgICAgICogdGhpcyBoZXJlIGluIG9y ZGVyIHRvIGF2b2lkIHNwZWNpZnlpbmcgYSBub24tbmF0dXJhbCwgbm9uLXpl cm8KLSAgICAgICAgICAgICAqIF9QQUdFX0lOVkFMSURfQklUUyB2YWx1ZSBq dXN0IGZvciB0aGF0IGNhc2UuCi0gICAgICAgICAgICAgKi8KLSNlbmRpZgog ICAgICAgICAgICAgcmMgfD0gX1BBR0VfSU5WQUxJRF9CSVRTOwotICAgICAg ICB9CisKICAgICAgICAgLyogSW5jcmVtZW50IHRoZSBwZm4gYnkgdGhlIHJp Z2h0IG51bWJlciBvZiA0ayBwYWdlcy4gIAogICAgICAgICAgKiBNYXNrIG91 dCBQQVQgYW5kIGludmFsaWQgYml0cy4gKi8KICAgICAgICAgc3RhcnQgPSBf Z2ZuKChnZm5feChzdGFydCkgJiB+R1VFU1RfTDJfR0ZOX01BU0spICsKQEAg LTQyMiw1ICs0MTYsMTEgQEAgc2V0X2FkOgogICAgICAgICBwdXRfcGFnZSht Zm5fdG9fcGFnZShtZm5feChndy0+bDFtZm4pKSk7CiAgICAgfQogCisgICAg LyogSWYgdGhpcyBndWVzdCBoYXMgYSByZXN0cmljdGVkIHBoeXNpY2FsIGFk ZHJlc3Mgc3BhY2UgdGhlbiB0aGUKKyAgICAgKiB0YXJnZXQgR0ZOIG11c3Qg Zml0IHdpdGhpbiBpdC4gKi8KKyAgICBpZiAoICEocmMgJiBfUEFHRV9QUkVT RU5UKQorICAgICAgICAgJiYgZ2ZuX3goZ3Vlc3RfbDFlX2dldF9nZm4oZ3ct PmwxZSkpID4+IGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzICkKKyAgICAgICAg cmMgfD0gX1BBR0VfSU5WQUxJRF9CSVRTOworCiAgICAgcmV0dXJuIHJjOwog fQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYyBiL3hl bi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKaW5kZXggNmViMjE2Ny4uZjM0NzVj NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYworKysg Yi94ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCkBAIC00NDgsNiArNDQ4LDgg QEAgdm9pZCBoYXBfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKIHsK ICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2luZy5oYXAu ZnJlZWxpc3QpOwogCisgICAgZC0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgPSBo YXBfcGFkZHJfYml0cyAtIFBBR0VfU0hJRlQ7CisKICAgICAvKiBVc2UgSEFQ IGxvZ2RpcnR5IG1lY2hhbmlzbS4gKi8KICAgICBwYWdpbmdfbG9nX2RpcnR5 X2luaXQoZCwgaGFwX2VuYWJsZV9sb2dfZGlydHksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIGhhcF9kaXNhYmxlX2xvZ19kaXJ0eSwKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgYi94ZW4vYXJj aC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCmluZGV4IGJhZDgzNjAuLjk4ZDBk MmMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9u LmMKKysrIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwpAQCAt NTEsNiArNTEsMTYgQEAgaW50IHNoYWRvd19kb21haW5faW5pdChzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MpCiAgICAgSU5J VF9QQUdFX0xJU1RfSEVBRCgmZC0+YXJjaC5wYWdpbmcuc2hhZG93LmZyZWVs aXN0KTsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2lu Zy5zaGFkb3cucGlubmVkX3NoYWRvd3MpOwogCisgICAgZC0+YXJjaC5wYWdp bmcuZ2ZuX2JpdHMgPSBwYWRkcl9iaXRzIC0gUEFHRV9TSElGVDsKKyNpZm5k ZWYgQ09ORklHX0JJR01FTQorICAgIC8qCisgICAgICogU2hhZG93ZWQgc3Vw ZXJwYWdlcyBzdG9yZSBHRk5zIGluIDMyLWJpdCBwYWdlX2luZm8gZmllbGRz LgorICAgICAqIE5vdGUgdGhhdCB3ZSBjYW5ub3QgdXNlIGd1ZXN0X3N1cHBv cnRzX3N1cGVycGFnZXMoKSBoZXJlLgorICAgICAqLworICAgIGlmICggIWlz X3B2X2RvbWFpbihkKSB8fCBvcHRfYWxsb3dfc3VwZXJwYWdlICkKKyAgICAg ICAgZC0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgPSAzMjsKKyNlbmRpZgorCiAg ICAgLyogVXNlIHNoYWRvdyBwYWdldGFibGVzIGZvciBsb2ctZGlydHkgc3Vw cG9ydCAqLwogICAgIHBhZ2luZ19sb2dfZGlydHlfaW5pdChkLCBzaF9lbmFi bGVfbG9nX2RpcnR5LAogICAgICAgICAgICAgICAgICAgICAgICAgICBzaF9k aXNhYmxlX2xvZ19kaXJ0eSwgc2hfY2xlYW5fZGlydHlfYml0bWFwKTsKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYyBiL3hl bi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwppbmRleCA0M2M5NDg4Li43 MTQ3N2ZlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211 bHRpLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCkBA IC01MjUsNyArNTI1LDggQEAgX3NoX3Byb3BhZ2F0ZShzdHJ1Y3QgdmNwdSAq diwKICAgICBBU1NFUlQoR1VFU1RfUEFHSU5HX0xFVkVMUyA+IDMgfHwgbGV2 ZWwgIT0gMyk7CiAKICAgICAvKiBDaGVjayB0aGVyZSdzIHNvbWV0aGluZyBm b3IgdGhlIHNoYWRvd3MgdG8gbWFwIHRvICovCi0gICAgaWYgKCAhcDJtX2lz X3ZhbGlkKHAybXQpICYmICFwMm1faXNfZ3JhbnQocDJtdCkgKQorICAgIGlm ICggKCFwMm1faXNfdmFsaWQocDJtdCkgJiYgIXAybV9pc19ncmFudChwMm10 KSkKKyAgICAgICAgIHx8IGdmbl94KHRhcmdldF9nZm4pID4+IGQtPmFyY2gu cGFnaW5nLmdmbl9iaXRzICkKICAgICB7CiAgICAgICAgICpzcCA9IHNoYWRv d19sMWVfZW1wdHkoKTsKICAgICAgICAgZ290byBkb25lOwpkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaCBiL3hlbi9pbmNsdWRl L2FzbS14ODYvZG9tYWluLmgKaW5kZXggYzZjNmU3MS4uNzRjM2E1MiAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAorKysgYi94 ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0xOTMsNiArMTkzLDkg QEAgc3RydWN0IHBhZ2luZ19kb21haW4gewogICAgIC8qIGxvZyBkaXJ0eSBz dXBwb3J0ICovCiAgICAgc3RydWN0IGxvZ19kaXJ0eV9kb21haW4gbG9nX2Rp cnR5OwogCisgICAgLyogTnVtYmVyIG9mIHZhbGlkIGJpdHMgaW4gYSBnZm4u ICovCisgICAgdW5zaWduZWQgaW50IGdmbl9iaXRzOworCiAgICAgLyogcHJl ZW1wdGlvbiBoYW5kbGluZyAqLwogICAgIHN0cnVjdCB7CiAgICAgICAgIGNv bnN0IHN0cnVjdCBkb21haW4gKmRvbTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS14ODYvZ3Vlc3RfcHQuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv Z3Vlc3RfcHQuaAppbmRleCBmOGEwZDc2Li5iNWRiNDAxIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0X3B0LmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9ndWVzdF9wdC5oCkBAIC0yMTAsMTUgKzIxMCwxNyBA QCBndWVzdF9zdXBwb3J0c19ueChzdHJ1Y3QgdmNwdSAqdikKIH0KIAogCi0v KiBTb21lIGJpdHMgYXJlIGludmFsaWQgaW4gYW55IHBhZ2V0YWJsZSBlbnRy eS4gKi8KLSNpZiBHVUVTVF9QQUdJTkdfTEVWRUxTID09IDIKLSNkZWZpbmUg X1BBR0VfSU5WQUxJRF9CSVRTICgwKQotI2VsaWYgR1VFU1RfUEFHSU5HX0xF VkVMUyA9PSAzCi0jZGVmaW5lIF9QQUdFX0lOVkFMSURfQklUUyBcCi0gICAg Z2V0X3B0ZV9mbGFncygoKDF1bGw8PDYzKSAtIDEpICYgfigoMXVsbDw8cGFk ZHJfYml0cykgLSAxKSkKLSNlbHNlIC8qIEdVRVNUX1BBR0lOR19MRVZFTFMg PT0gNCAqLworLyoKKyAqIFNvbWUgYml0cyBhcmUgaW52YWxpZCBpbiBhbnkg cGFnZXRhYmxlIGVudHJ5LgorICogTm9ybWFsIGZsYWdzIHZhbHVlcyBnZXQg cmVwcmVzZW50ZWQgaW4gMjQtYml0IHZhbHVlcyAoc2VlCisgKiBnZXRfcHRl X2ZsYWdzKCkgYW5kIHB1dF9wdGVfZmxhZ3MoKSksIHNvIHNldCBiaXQgMjQg aW4KKyAqIGFkZGl0aW9uIHRvIGJlIGFibGUgdG8gZmxhZyBvdXQgb2YgcmFu Z2UgZnJhbWUgbnVtYmVycy4KKyAqLworI2lmIEdVRVNUX1BBR0lOR19MRVZF TFMgPT0gMwogI2RlZmluZSBfUEFHRV9JTlZBTElEX0JJVFMgXAotICAgIGdl dF9wdGVfZmxhZ3MoKCgxdWxsPDw1MikgLSAxKSAmIH4oKDF1bGw8PHBhZGRy X2JpdHMpIC0gMSkpCisgICAgKF9QQUdFX0lOVkFMSURfQklUIHwgZ2V0X3B0 ZV9mbGFncygoKDF1bGwgPDwgNjMpIC0gMSkgJiB+KFBBR0VfU0laRSAtIDEp KSkKKyNlbHNlIC8qIDItbGV2ZWwgYW5kIDQtbGV2ZWwgKi8KKyNkZWZpbmUg X1BBR0VfSU5WQUxJRF9CSVRTIF9QQUdFX0lOVkFMSURfQklUCiAjZW5kaWYK IAogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nv ci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAppbmRleCBm NTA3ZjVlLi5hMjAwNDcwIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t eDg2L3Byb2Nlc3Nvci5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJv Y2Vzc29yLmgKQEAgLTIxMiw2ICsyMTIsOCBAQCBleHRlcm4gdTMyIGNwdWlk X2V4dF9mZWF0dXJlczsKIAogLyogTWF4aW11bSB3aWR0aCBvZiBwaHlzaWNh bCBhZGRyZXNzZXMgc3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZSAqLwogZXh0 ZXJuIHVuc2lnbmVkIGludCBwYWRkcl9iaXRzOworLyogTWF4IHBoeXNpY2Fs IGFkZHJlc3Mgd2lkdGggc3VwcG9ydGVkIHdpdGhpbiBIQVAgZ3Vlc3RzICov CitleHRlcm4gdW5zaWduZWQgaW50IGhhcF9wYWRkcl9iaXRzOwogCiBleHRl cm4gY29uc3Qgc3RydWN0IHg4Nl9jcHVfaWQgKng4Nl9tYXRjaF9jcHUoY29u c3Qgc3RydWN0IHg4Nl9jcHVfaWQgdGFibGVbXSk7CiAKZGlmZiAtLWdpdCBh L3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaCBiL3hlbi9pbmNs dWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaAppbmRleCAxOWFiNGQwLi5lYjVl MmZkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3g4Nl82NC9w YWdlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQvcGFnZS5o CkBAIC0xNDEsNiArMTQxLDEyIEBAIHR5cGVkZWYgbDRfcGdlbnRyeV90IHJv b3RfcGdlbnRyeV90OwogI2RlZmluZSBfUEFHRV9HTlRUQUIgKDFVPDwyMikK IAogLyoKKyAqIEJpdCAyNCBvZiBhIDI0LWJpdCBmbGFnIG1hc2shICBUaGlz IGlzIG5vdCBhbnkgYml0IG9mIGEgcmVhbCBwdGUsCisgKiBhbmQgaXMgb25s eSB1c2VkIGZvciBzaWduYWxsaW5nIGluIHZhcmlhYmxlcyB0aGF0IGNvbnRh aW4gZmxhZ3MuCisgKi8KKyNkZWZpbmUgX1BBR0VfSU5WQUxJRF9CSVQgKDFV PDwyNCkKKworLyoKICAqIEJpdCAxMiBvZiBhIDI0LWJpdCBmbGFnIG1hc2su IFRoaXMgY29ycmVzcG9uZHMgdG8gYml0IDUyIG9mIGEgcHRlLgogICogVGhp cyBpcyBuZWVkZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB1c2VyIGFuZCBr ZXJuZWwgUFRFcyBzaW5jZSBfUEFHRV9VU0VSCiAgKiBpcyBhc3NlcnRlZCBm b3IgYm90aC4K --=separator Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK --=separator--