From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xen.org security team Subject: Xen Security Advisory 179 (CVE-2016-3710, CVE-2016-3712) - QEMU: Banked access to VGA memory (VBE) uses inconsistent bounds checks Date: Tue, 10 May 2016 11:25:59 +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-3710,CVE-2016-3712 / XSA-179 version 5 QEMU: Banked access to VGA memory (VBE) uses inconsistent bounds checks UPDATES IN VERSION 5 ==================== Fixed credits section. Zuozhi Fzz was mistakenly credited with CVE-2016-3710, but should have been credited with CVE-2016-3712. ISSUE DESCRIPTION ================= Qemu VGA module allows banked access to video memory using the window at 0xa00000 and it supports different access modes with different address calculations. But an attacker can easily change access modes after setting the bank register. This is CVE-2016-3710. Qemu VGA module allows guest to edit certain registers in 'vbe' and 'vga' modes. ie. guest could set certain 'VGA' registers while in 'VBE' mode. This is CVE-2016-3712. IMPACT ====== A privileged guest user could use CVE-2016-3710 to exceed the bank address window and write beyond the said memory area, potentially leading to arbitrary code execution with privileges of the Qemu process. If the system is not using stubdomains, this will be in domain 0. A privileged guest user could use CVE-2016-3712 to cause potential integer overflow or OOB read access issues in Qemu, resulting in a DoS of the guest itself. More dangerous effect, such as data leakage or code execution, are not known but cannot be ruled out. VULNERABLE SYSTEMS ================== Versions of qemu shipped with all Xen versions are vulnerable. Xen systems running on x86 with HVM guests, with the qemu process running in dom0 are vulnerable. Only guests provided with the "stdvga" emulated video card can exploit the vulnerability. The default "cirrus" emulated video card is not vulnerable. (With xl the emulated video card is controlled by the "stdvga=" and "vga=" domain configuration options.) ARM systems are not vulnerable. Systems using only PV guests are not vulnerable. For VMs whose qemu process is running in a stub domain, a successful attacker will only gain the privileges of that stubdom, which should be only over the guest itself. Both upstream-based versions of qemu (device_model_version="qemu-xen") and `traditional' qemu (device_model_version="qemu-xen-traditional") are vulnerable. MITIGATION ========== Running only PV guests will avoid the issue. Running HVM guests with the device model in a stubdomain will mitigate the issue. Changing the video card emulation to cirrus (stdvga=0, vga="cirrus", in the xl domain configuraton) will avoid the vulnerability. CREDITS ======= CVE-2016-3710 was discovered and reported by "Wei Xiao and Qinghao Tang of 360 Marvel Team" of 360.cn Inc. CVE-2016-3712 was discovered and reported by Zuozhi Fzz of Alibaba Inc. RESOLUTION ========== Applying the appropriate attached patch resolves this issue for systems using upstream-based versions of qemu. Patch 0001 addresses CVE-2016-3710, and patches 0002-0005 address CVE-2016-3712. qemu-upstream, xen-unstable: xsa179-qemuu-unstable-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch xsa179-qemuu-unstable-0002-vga-add-vbe_enabled-helper.patch xsa179-qemuu-unstable-0003-vga-factor-out-vga-register-setup.patch xsa179-qemuu-unstable-0004-vga-update-vga-register-setup-on-vbe-changes.patch xsa179-qemuu-unstable-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch qemu-upstream, xen 4.6: xsa179-qemuu-4.6-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch xsa179-qemuu-4.6-0002-vga-add-vbe_enabled-helper.patch xsa179-qemuu-4.6-0003-vga-factor-out-vga-register-setup.patch xsa179-qemuu-4.6-0004-vga-update-vga-register-setup-on-vbe-changes.patch xsa179-qemuu-4.6-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch qemu-upstream, xen 4.5: xsa179-qemuu-4.5-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch xsa179-qemuu-4.5-0002-vga-add-vbe_enabled-helper.patch xsa179-qemuu-4.5-0003-vga-factor-out-vga-register-setup.patch xsa179-qemuu-4.5-0004-vga-update-vga-register-setup-on-vbe-changes.patch xsa179-qemuu-4.5-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch qemu-upstream, xen 4.4: xsa179-qemuu-4.4-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch xsa179-qemuu-4.4-0002-vga-add-vbe_enabled-helper.patch xsa179-qemuu-4.4-0003-vga-factor-out-vga-register-setup.patch xsa179-qemuu-4.4-0004-vga-update-vga-register-setup-on-vbe-changes.patch xsa179-qemuu-4.4-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch qemu-upstream, xen 4.3: xsa179-qemuu-4.3-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch xsa179-qemuu-4.3-0002-vga-add-vbe_enabled-helper.patch xsa179-qemuu-4.3-0003-vga-factor-out-vga-register-setup.patch xsa179-qemuu-4.3-0004-vga-update-vga-register-setup-on-vbe-changes.patch xsa179-qemuu-4.3-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch qemu-xen-traditional, unstable: xsa179-qemut-unstable-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch xsa179-qemut-unstable-0002-vga-add-vbe_enabled-helper.patch xsa179-qemut-unstable-0003-vga-factor-out-vga-register-setup.patch xsa179-qemut-unstable-0004-vga-update-vga-register-setup-on-vbe-changes.patch xsa179-qemut-unstable-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch $ sha256sum xsa179* e216959d099ed807b282026e1e4d558ce0c0e8ead284ddd9d0581cef5fcef0ad xsa179-qemuu-unstable-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch 708e40d85866540567d2d915731c6e9876cd0d6754bc6696650ed71d8e48d710 xsa179-qemuu-unstable-0002-vga-add-vbe_enabled-helper.patch 767007028189bce54df9769ff6cb9db7cd37b5c2afaac86787b30c8f2a03f342 xsa179-qemuu-unstable-0003-vga-factor-out-vga-register-setup.patch 1fb507c307b093e5e4471d4a5e567db419adecbfe772a68bf91722836bcba4cd xsa179-qemuu-unstable-0004-vga-update-vga-register-setup-on-vbe-changes.patch ff4327d598d2e0912dc3a22ab9ba14d6c79bfa5a154714b6c5da761d5ded403f xsa179-qemuu-unstable-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch 059bfa59f39222ad6991e6c0c8338385f2a317e379d02d0c2cb0e5a8138cb329 xsa179-qemuu-4.3-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch c6dfe50d694b75670bbdec78a3ce6293a8da46d5ff8b47f1e0d7e4fac22260bf xsa179-qemuu-4.3-0002-vga-add-vbe_enabled-helper.patch f57e31e8b81f1161537277a0934013c1fb3bbf57319543dfd10a5dc5fdfb927b xsa179-qemuu-4.3-0003-vga-factor-out-vga-register-setup.patch 14900af2b13d362ffb98c061e76b13965965284399dd9b9f1a4e41b41f34a3a3 xsa179-qemuu-4.3-0004-vga-update-vga-register-setup-on-vbe-changes.patch 2b2e7d306fd95fa74490ee1694af1af9438d7ff738d8c6aecc7d99d4eb96dcb2 xsa179-qemuu-4.3-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch e6108266bf0abada5fc6e0a3ca65c2702fcae610826ead6a215d622ec3ed973a xsa179-qemuu-4.4-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch 05bdfae312078b22542e9f18db98fae11dbfd9785184b0b3c8de8c94797e1427 xsa179-qemuu-4.4-0002-vga-add-vbe_enabled-helper.patch 56dee9d0f54357391d5249a01ab28a1879dd7d1a36b4d147d68c62688d8af22b xsa179-qemuu-4.4-0003-vga-factor-out-vga-register-setup.patch 10603f5ffe317de328dc46139a6b5ff6081040ca6368ee1642b5343db9bcfda1 xsa179-qemuu-4.4-0004-vga-update-vga-register-setup-on-vbe-changes.patch e0dbc47086f0346a9554b98468256bc325d67440f5d786c5825390d293896509 xsa179-qemuu-4.4-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch 9b0cfdba369437a3e3da86690cd0c6d9d05e39d1168065e4d11ff2de4e546feb xsa179-qemuu-4.5-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch 3c56f255d2ff3e5ae24f15de69cbd4abf3ff0d2dbb63a686937d5e2ab1989d59 xsa179-qemuu-4.5-0002-vga-add-vbe_enabled-helper.patch b1ddabf50720635efa17a7c57778acd2e1d9fd6a6424038455163991afecb044 xsa179-qemuu-4.5-0003-vga-factor-out-vga-register-setup.patch 0f34eeda817f39d3b5e484d535aa29bae16e7e36b4dc042bc41ef0e1844bf3cb xsa179-qemuu-4.5-0004-vga-update-vga-register-setup-on-vbe-changes.patch c24b3401a7ed45f853de7c96b998d50461254e9082a706753b814ddcbc285b17 xsa179-qemuu-4.5-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch de59a098a39c1adbc86f3857dbb2b655479f97756d46e017e83b41c1390a98b9 xsa179-qemuu-4.6-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch 3686d0b5c3603819fe0eca65ed62161c676e6abd8e676e513f6d4b3d46e7a997 xsa179-qemuu-4.6-0002-vga-add-vbe_enabled-helper.patch 18d01083e2f4000816ecf26d85da5cb337f540da447e6252f348a5b538cc7fa4 xsa179-qemuu-4.6-0003-vga-factor-out-vga-register-setup.patch 811ce206293b54ad601eb0a0e59bee502277c642f73f1ea0bad712efc528f82d xsa179-qemuu-4.6-0004-vga-update-vga-register-setup-on-vbe-changes.patch 2097c9e4eac66a65e07607664d1aaec288c4c8b0f147c73636c1b2532cdd20dd xsa179-qemuu-4.6-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch 132fd7f7d1f7bee4d934daefc24ec65080ae09b7d0e07a86edc3b683cad8156a xsa179-qemut-unstable-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch b83c29c3737415bf05da14c0b856abeb3bdbb77fba7d538956535ed67160abe8 xsa179-qemut-unstable-0002-vga-add-vbe_enabled-helper.patch 834266af0499167e6d8e2e87bb770b79c0e8480ab5ea72064298656ccdd36741 xsa179-qemut-unstable-0003-vga-factor-out-vga-register-setup.patch a5c3c38340261c7ff44047289aad6276e501930e214c40350056a364469965cd xsa179-qemut-unstable-0004-vga-update-vga-register-setup-on-vbe-changes.patch 4869ad504cba52f537dae102e226b020422e3b6494ffba3b865eb2893bee0e9e xsa179-qemut-unstable-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.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) iQEcBAEBAgAGBQJXMcStAAoJEIP+FMlX6CvZ8g4H/i3UdCtqBWhs5ZAa7arEzDLC GggGZ0MQDriujr+10MN6OyM7W493AxHC2+8Ck0jft1YrUh0ojlVt3/tqd+f4yI1I 1S5ueWQYS0vEqH4lxiftp4MRc9/wWpKnEGdo3437AyDuuZwqDfTjvt8yDrfMLCuI 2v3ofXfSOeBiNYqSSsz3Hbmlb9ZqohGRIGqc74C4D+RKYJlDBVO6GNDMv9lI5tdW LE5PqaCxndZVO+uFAgIg6tw+GOObk2IyEBi00R5FmkW5g9QP2i2em+/usKAb8l3v bFjBEuw0SkL/CZF3fpoBNjTej/5HHSJwhB2rDY2NFV1hwmt36G8NPKKwLrcQKdU= =O3qx -----END PGP SIGNATURE----- --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-unstable-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Disposition: attachment; filename="xsa179-qemuu-unstable-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Transfer-Encoding: base64 RnJvbSAzYmYxODE3MDc5YmIwZDgwYzBkOGE4NmE3YzdkZDBiZmU5MGViODJl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAw ODo0OToxMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSB2Z2E6IGZpeCBi YW5rZWQgYWNjZXNzIGJvdW5kcyBjaGVja2luZyAoQ1ZFLTIwMTYtMzcxMCkK CnZnYSBhbGxvd3MgYmFua2VkIGFjY2VzcyB0byB2aWRlbyBtZW1vcnkgdXNp bmcgdGhlIHdpbmRvdyBhdCAweGEwMDAwMAphbmQgaXQgc3VwcG9ydHMgYSBk aWZmZXJlbnQgYWNjZXNzIG1vZGVzIHdpdGggZGlmZmVyZW50IGFkZHJlc3MK Y2FsY3VsYXRpb25zLgoKVGhlIFZCRSBib2NocyBleHRlbnRpb25zIHN1cHBv cnQgYmFua2VkIGFjY2VzcyB0b28sIHVzaW5nIHRoZQpWQkVfRElTUElfSU5E RVhfQkFOSyByZWdpc3Rlci4gIFRoZSBjb2RlIHRyaWVzIHRvIHRha2UgdGhl IGRpZmZlcmVudAphZGRyZXNzIGNhbGN1bGF0aW9ucyBpbnRvIGFjY291bnQg YW5kIGFwcGxpZXMgZGlmZmVyZW50IGxpbWl0cyB0bwpWQkVfRElTUElfSU5E RVhfQkFOSyBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgYWNjZXNzIG1vZGUu CgpXaGljaCBpcyBwcm9iYWJseSBlZmZlY3RpdmUgaW4gc3RvcHBpbmcgbWlz cHJvZ3JhbW1pbmcgYnkgYWNjaWRlbnQuCkJ1dCBmcm9tIGEgc2VjdXJpdHkg cG9pbnQgb2YgdmlldyBjb21wbGV0ZWx5IHVzZWxlc3MgYXMgYW4gYXR0YWNr ZXIKY2FuIGVhc2lseSBjaGFuZ2UgYWNjZXNzIG1vZGVzIGFmdGVyIHNldHRp bmcgdGhlIGJhbmsgcmVnaXN0ZXIuCgpEcm9wIHRoZSBib2d1cyBjaGVjaywg YWRkIHJhbmdlIGNoZWNrcyB0byB2Z2FfbWVtX3tyZWFkYix3cml0ZWJ9Cmlu c3RlYWQuCgpGaXhlczogQ1ZFLTIwMTYtMzcxMApSZXBvcnRlZC1ieTogUWlu Z2hhbyBUYW5nIDxsdW9kYWxvbmdkZUBnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgotLS0KIGh3 L2Rpc3BsYXkvdmdhLmMgfCAyNCArKysrKysrKysrKysrKysrKystLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2h3L2Rpc3BsYXkvdmdhLmMgYi9ody9kaXNw bGF5L3ZnYS5jCmluZGV4IDY1N2U5ZjEuLmI5MTkxY2EgMTAwNjQ0Ci0tLSBh L2h3L2Rpc3BsYXkvdmdhLmMKKysrIGIvaHcvZGlzcGxheS92Z2EuYwpAQCAt MTc5LDYgKzE3OSw3IEBAIHN0YXRpYyB2b2lkIHZnYV91cGRhdGVfbWVtb3J5 X2FjY2VzcyhWR0FDb21tb25TdGF0ZSAqcykKICAgICAgICAgICAgIHNpemUg PSAweDgwMDA7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAg ICAgICBhc3NlcnQob2Zmc2V0ICsgc2l6ZSA8PSBzLT52cmFtX3NpemUpOwog ICAgICAgICBtZW1vcnlfcmVnaW9uX2luaXRfYWxpYXMoJnMtPmNoYWluNF9h bGlhcywgbWVtb3J5X3JlZ2lvbl9vd25lcigmcy0+dnJhbSksCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAidmdhLmNoYWluNCIsICZzLT52 cmFtLCBvZmZzZXQsIHNpemUpOwogICAgICAgICBtZW1vcnlfcmVnaW9uX2Fk ZF9zdWJyZWdpb25fb3ZlcmxhcChzLT5sZWdhY3lfYWRkcmVzc19zcGFjZSwg YmFzZSwKQEAgLTcxNiwxMSArNzE3LDcgQEAgdm9pZCB2YmVfaW9wb3J0X3dy aXRlX2RhdGEodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJf dCB2YWwpCiAgICAgICAgICAgICB2YmVfZml4dXBfcmVncyhzKTsKICAgICAg ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZCRV9ESVNQSV9JTkRFWF9C QU5LOgotICAgICAgICAgICAgaWYgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9J TkRFWF9CUFBdID09IDQpIHsKLSAgICAgICAgICAgICAgdmFsICY9IChzLT52 YmVfYmFua19tYXNrID4+IDIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAg ICAgICAgICAgICAgdmFsICY9IHMtPnZiZV9iYW5rX21hc2s7Ci0gICAgICAg ICAgICB9CisgICAgICAgICAgICB2YWwgJj0gcy0+dmJlX2JhbmtfbWFzazsK ICAgICAgICAgICAgIHMtPnZiZV9yZWdzW3MtPnZiZV9pbmRleF0gPSB2YWw7 CiAgICAgICAgICAgICBzLT5iYW5rX29mZnNldCA9ICh2YWwgPDwgMTYpOwog ICAgICAgICAgICAgdmdhX3VwZGF0ZV9tZW1vcnlfYWNjZXNzKHMpOwpAQCAt ODE5LDEzICs4MTYsMjEgQEAgdWludDMyX3QgdmdhX21lbV9yZWFkYihWR0FD b21tb25TdGF0ZSAqcywgaHdhZGRyIGFkZHIpCiAKICAgICBpZiAocy0+c3Jb VkdBX1NFUV9NRU1PUllfTU9ERV0gJiBWR0FfU1IwNF9DSE5fNE0pIHsKICAg ICAgICAgLyogY2hhaW4gNCBtb2RlIDogc2ltcGxlc3QgYWNjZXNzICovCisg ICAgICAgIGFzc2VydChhZGRyIDwgcy0+dnJhbV9zaXplKTsKICAgICAgICAg cmV0ID0gcy0+dnJhbV9wdHJbYWRkcl07CiAgICAgfSBlbHNlIGlmIChzLT5n cltWR0FfR0ZYX01PREVdICYgMHgxMCkgewogICAgICAgICAvKiBvZGQvZXZl biBtb2RlIChha2EgdGV4dCBtb2RlIG1hcHBpbmcpICovCiAgICAgICAgIHBs YW5lID0gKHMtPmdyW1ZHQV9HRlhfUExBTkVfUkVBRF0gJiAyKSB8IChhZGRy ICYgMSk7Ci0gICAgICAgIHJldCA9IHMtPnZyYW1fcHRyWygoYWRkciAmIH4x KSA8PCAxKSB8IHBsYW5lXTsKKyAgICAgICAgYWRkciA9ICgoYWRkciAmIH4x KSA8PCAxKSB8IHBsYW5lOworICAgICAgICBpZiAoYWRkciA+PSBzLT52cmFt X3NpemUpIHsKKyAgICAgICAgICAgIHJldHVybiAweGZmOworICAgICAgICB9 CisgICAgICAgIHJldCA9IHMtPnZyYW1fcHRyW2FkZHJdOwogICAgIH0gZWxz ZSB7CiAgICAgICAgIC8qIHN0YW5kYXJkIFZHQSBsYXRjaGVkIGFjY2VzcyAq LworICAgICAgICBpZiAoYWRkciAqIHNpemVvZih1aW50MzJfdCkgPj0gcy0+ dnJhbV9zaXplKSB7CisgICAgICAgICAgICByZXR1cm4gMHhmZjsKKyAgICAg ICAgfQogICAgICAgICBzLT5sYXRjaCA9ICgodWludDMyX3QgKilzLT52cmFt X3B0cilbYWRkcl07CiAKICAgICAgICAgaWYgKCEocy0+Z3JbVkdBX0dGWF9N T0RFXSAmIDB4MDgpKSB7CkBAIC04ODIsNiArODg3LDcgQEAgdm9pZCB2Z2Ff bWVtX3dyaXRlYihWR0FDb21tb25TdGF0ZSAqcywgaHdhZGRyIGFkZHIsIHVp bnQzMl90IHZhbCkKICAgICAgICAgcGxhbmUgPSBhZGRyICYgMzsKICAgICAg ICAgbWFzayA9ICgxIDw8IHBsYW5lKTsKICAgICAgICAgaWYgKHMtPnNyW1ZH QV9TRVFfUExBTkVfV1JJVEVdICYgbWFzaykgeworICAgICAgICAgICAgYXNz ZXJ0KGFkZHIgPCBzLT52cmFtX3NpemUpOwogICAgICAgICAgICAgcy0+dnJh bV9wdHJbYWRkcl0gPSB2YWw7CiAjaWZkZWYgREVCVUdfVkdBX01FTQogICAg ICAgICAgICAgcHJpbnRmKCJ2Z2E6IGNoYWluNDogWzB4IiBUQVJHRVRfRk1U X3BseCAiXVxuIiwgYWRkcik7CkBAIC04OTUsNiArOTAxLDkgQEAgdm9pZCB2 Z2FfbWVtX3dyaXRlYihWR0FDb21tb25TdGF0ZSAqcywgaHdhZGRyIGFkZHIs IHVpbnQzMl90IHZhbCkKICAgICAgICAgbWFzayA9ICgxIDw8IHBsYW5lKTsK ICAgICAgICAgaWYgKHMtPnNyW1ZHQV9TRVFfUExBTkVfV1JJVEVdICYgbWFz aykgewogICAgICAgICAgICAgYWRkciA9ICgoYWRkciAmIH4xKSA8PCAxKSB8 IHBsYW5lOworICAgICAgICAgICAgaWYgKGFkZHIgPj0gcy0+dnJhbV9zaXpl KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQog ICAgICAgICAgICAgcy0+dnJhbV9wdHJbYWRkcl0gPSB2YWw7CiAjaWZkZWYg REVCVUdfVkdBX01FTQogICAgICAgICAgICAgcHJpbnRmKCJ2Z2E6IG9kZC9l dmVuOiBbMHgiIFRBUkdFVF9GTVRfcGx4ICJdXG4iLCBhZGRyKTsKQEAgLTk2 OCw2ICs5NzcsOSBAQCB2b2lkIHZnYV9tZW1fd3JpdGViKFZHQUNvbW1vblN0 YXRlICpzLCBod2FkZHIgYWRkciwgdWludDMyX3QgdmFsKQogICAgICAgICBt YXNrID0gcy0+c3JbVkdBX1NFUV9QTEFORV9XUklURV07CiAgICAgICAgIHMt PnBsYW5lX3VwZGF0ZWQgfD0gbWFzazsgLyogb25seSB1c2VkIHRvIGRldGVj dCBmb250IGNoYW5nZSAqLwogICAgICAgICB3cml0ZV9tYXNrID0gbWFzazE2 W21hc2tdOworICAgICAgICBpZiAoYWRkciAqIHNpemVvZih1aW50MzJfdCkg Pj0gcy0+dnJhbV9zaXplKSB7CisgICAgICAgICAgICByZXR1cm47CisgICAg ICAgIH0KICAgICAgICAgKCh1aW50MzJfdCAqKXMtPnZyYW1fcHRyKVthZGRy XSA9CiAgICAgICAgICAgICAoKCh1aW50MzJfdCAqKXMtPnZyYW1fcHRyKVth ZGRyXSAmIH53cml0ZV9tYXNrKSB8CiAgICAgICAgICAgICAodmFsICYgd3Jp dGVfbWFzayk7Ci0tIAoxLjguMy4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-unstable-0002-vga-add-vbe_enabled-helper.patch" Content-Disposition: attachment; filename="xsa179-qemuu-unstable-0002-vga-add-vbe_enabled-helper.patch" Content-Transfer-Encoding: base64 RnJvbSBiZmEwZjE1MWE1NjRhODNiNWEyNmYzZTkxN2RhOTg2NzRiZjNjZjYy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDoxMTozNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSB2Z2E6IGFkZCB2 YmVfZW5hYmxlZCgpIGhlbHBlcgoKTWFrZXMgY29kZSBhIGJpdCBlYXNpZXIg dG8gcmVhZC4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhl bEByZWRoYXQuY29tPgotLS0KIGh3L2Rpc3BsYXkvdmdhLmMgfCAxMyArKysr KysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3L2Rpc3BsYXkvdmdhLmMg Yi9ody9kaXNwbGF5L3ZnYS5jCmluZGV4IGI5MTkxY2EuLjBjMWM1YjUgMTAw NjQ0Ci0tLSBhL2h3L2Rpc3BsYXkvdmdhLmMKKysrIGIvaHcvZGlzcGxheS92 Z2EuYwpAQCAtMTQyLDYgKzE0MiwxMSBAQCBzdGF0aWMgdWludDMyX3QgZXhw YW5kNFsyNTZdOwogc3RhdGljIHVpbnQxNl90IGV4cGFuZDJbMjU2XTsKIHN0 YXRpYyB1aW50OF90IGV4cGFuZDR0bzhbMTZdOwogCitzdGF0aWMgaW5saW5l IGJvb2wgdmJlX2VuYWJsZWQoVkdBQ29tbW9uU3RhdGUgKnMpCit7CisgICAg cmV0dXJuIHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9FTkFCTEVdICYg VkJFX0RJU1BJX0VOQUJMRUQ7Cit9CisKIHN0YXRpYyB2b2lkIHZnYV91cGRh dGVfbWVtb3J5X2FjY2VzcyhWR0FDb21tb25TdGF0ZSAqcykKIHsKICAgICBo d2FkZHIgYmFzZSwgb2Zmc2V0LCBzaXplOwpAQCAtNTY0LDcgKzU2OSw3IEBA IHN0YXRpYyB2b2lkIHZiZV9maXh1cF9yZWdzKFZHQUNvbW1vblN0YXRlICpz KQogICAgIHVpbnQxNl90ICpyID0gcy0+dmJlX3JlZ3M7CiAgICAgdWludDMy X3QgYml0cywgbGluZWxlbmd0aCwgbWF4eSwgb2Zmc2V0OwogCi0gICAgaWYg KCEocltWQkVfRElTUElfSU5ERVhfRU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFC TEVEKSkgeworICAgIGlmICghdmJlX2VuYWJsZWQocykpIHsKICAgICAgICAg LyogdmJlIGlzIHR1cm5lZCBvZmYgLS0gbm90aGluZyB0byBkbyAqLwogICAg ICAgICByZXR1cm47CiAgICAgfQpAQCAtMTA1OCw3ICsxMDYzLDcgQEAgc3Rh dGljIHZvaWQgdmdhX2dldF9vZmZzZXRzKFZHQUNvbW1vblN0YXRlICpzLAog ewogICAgIHVpbnQzMl90IHN0YXJ0X2FkZHIsIGxpbmVfb2Zmc2V0LCBsaW5l X2NvbXBhcmU7CiAKLSAgICBpZiAocy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lO REVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxFRCkgeworICAgIGlmICh2 YmVfZW5hYmxlZChzKSkgewogICAgICAgICBsaW5lX29mZnNldCA9IHMtPnZi ZV9saW5lX29mZnNldDsKICAgICAgICAgc3RhcnRfYWRkciA9IHMtPnZiZV9z dGFydF9hZGRyOwogICAgICAgICBsaW5lX2NvbXBhcmUgPSA2NTUzNTsKQEAg LTEzODMsNyArMTM4OCw3IEBAIHN0YXRpYyBpbnQgdmdhX2dldF9icHAoVkdB Q29tbW9uU3RhdGUgKnMpCiB7CiAgICAgaW50IHJldDsKIAotICAgIGlmIChz LT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfRU5BQkxFXSAmIFZCRV9ESVNQ SV9FTkFCTEVEKSB7CisgICAgaWYgKHZiZV9lbmFibGVkKHMpKSB7CiAgICAg ICAgIHJldCA9IHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9CUFBdOwog ICAgIH0gZWxzZSB7CiAgICAgICAgIHJldCA9IDA7CkBAIC0xMzk1LDcgKzE0 MDAsNyBAQCBzdGF0aWMgdm9pZCB2Z2FfZ2V0X3Jlc29sdXRpb24oVkdBQ29t bW9uU3RhdGUgKnMsIGludCAqcHdpZHRoLCBpbnQgKnBoZWlnaHQpCiB7CiAg ICAgaW50IHdpZHRoLCBoZWlnaHQ7CiAKLSAgICBpZiAocy0+dmJlX3JlZ3Nb VkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxFRCkg eworICAgIGlmICh2YmVfZW5hYmxlZChzKSkgewogICAgICAgICB3aWR0aCA9 IHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9YUkVTXTsKICAgICAgICAg aGVpZ2h0ID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1lSRVNdOwog ICAgIH0gZWxzZSB7Ci0tIAoxLjguMy4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-unstable-0003-vga-factor-out-vga-register-setup.patch" Content-Disposition: attachment; filename="xsa179-qemuu-unstable-0003-vga-factor-out-vga-register-setup.patch" Content-Transfer-Encoding: base64 RnJvbSA3ZmE1YzJjNWRjOWY5YmY4NzhjMWU4NjY5ZWI5NjQ0ZDcwYTcxZTcx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NToyNDoxOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy81XSB2Z2E6IGZhY3Rv ciBvdXQgdmdhIHJlZ2lzdGVyIHNldHVwCgpXaGVuIGVuYWJsaW5nIHZiZSBt b2RlIHFlbXUgd2lsbCBzZXR1cCBhIGJ1bmNoIG9mIHZnYSByZWdpc3RlcnMg dG8gbWFrZQpzdXJlIHRoZSB2Z2EgZW11bGF0aW9uIG9wZXJhdGVzIGluIGNv cnJlY3QgbW9kZSBmb3IgYSBsaW5lYXIKZnJhbWVidWZmZXIuICBNb3ZlIHRo YXQgY29kZSB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uIHNvIHdlIGNhbiBjYWxs IGl0CmZyb20gb3RoZXIgcGxhY2VzIHRvby4KClNpZ25lZC1vZmYtYnk6IEdl cmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgotLS0KIGh3L2Rpc3Bs YXkvdmdhLmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ0 IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2h3L2Rpc3BsYXkvdmdhLmMgYi9ody9kaXNwbGF5L3ZnYS5jCmluZGV4IDBj MWM1YjUuLmUxMmY1YWMgMTAwNjQ0Ci0tLSBhL2h3L2Rpc3BsYXkvdmdhLmMK KysrIGIvaHcvZGlzcGxheS92Z2EuYwpAQCAtNjQ0LDYgKzY0NCw0OSBAQCBz dGF0aWMgdm9pZCB2YmVfZml4dXBfcmVncyhWR0FDb21tb25TdGF0ZSAqcykK ICAgICBzLT52YmVfc3RhcnRfYWRkciAgPSBvZmZzZXQgLyA0OwogfQogCisv KiB3ZSBpbml0aWFsaXplIHRoZSBWR0EgZ3JhcGhpYyBtb2RlICovCitzdGF0 aWMgdm9pZCB2YmVfdXBkYXRlX3ZnYXJlZ3MoVkdBQ29tbW9uU3RhdGUgKnMp Cit7CisgICAgaW50IGgsIHNoaWZ0X2NvbnRyb2w7CisKKyAgICBpZiAoIXZi ZV9lbmFibGVkKHMpKSB7CisgICAgICAgIC8qIHZiZSBpcyB0dXJuZWQgb2Zm IC0tIG5vdGhpbmcgdG8gZG8gKi8KKyAgICAgICAgcmV0dXJuOworICAgIH0K KworICAgIC8qIGdyYXBoaWMgbW9kZSArIG1lbW9yeSBtYXAgMSAqLworICAg IHMtPmdyW1ZHQV9HRlhfTUlTQ10gPSAocy0+Z3JbVkdBX0dGWF9NSVNDXSAm IH4weDBjKSB8IDB4MDQgfAorICAgICAgICBWR0FfR1IwNl9HUkFQSElDU19N T0RFOworICAgIHMtPmNyW1ZHQV9DUlRDX01PREVdIHw9IDM7IC8qIG5vIENH QSBtb2RlcyAqLworICAgIHMtPmNyW1ZHQV9DUlRDX09GRlNFVF0gPSBzLT52 YmVfbGluZV9vZmZzZXQgPj4gMzsKKyAgICAvKiB3aWR0aCAqLworICAgIHMt PmNyW1ZHQV9DUlRDX0hfRElTUF0gPQorICAgICAgICAocy0+dmJlX3JlZ3Nb VkJFX0RJU1BJX0lOREVYX1hSRVNdID4+IDMpIC0gMTsKKyAgICAvKiBoZWln aHQgKG9ubHkgbWVhbmluZ2Z1bCBpZiA8IDEwMjQpICovCisgICAgaCA9IHMt PnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9ZUkVTXSAtIDE7CisgICAgcy0+ Y3JbVkdBX0NSVENfVl9ESVNQX0VORF0gPSBoOworICAgIHMtPmNyW1ZHQV9D UlRDX09WRVJGTE9XXSA9IChzLT5jcltWR0FfQ1JUQ19PVkVSRkxPV10gJiB+ MHg0MikgfAorICAgICAgICAoKGggPj4gNykgJiAweDAyKSB8ICgoaCA+PiAz KSAmIDB4NDApOworICAgIC8qIGxpbmUgY29tcGFyZSB0byAxMDIzICovCisg ICAgcy0+Y3JbVkdBX0NSVENfTElORV9DT01QQVJFXSA9IDB4ZmY7CisgICAg cy0+Y3JbVkdBX0NSVENfT1ZFUkZMT1ddIHw9IDB4MTA7CisgICAgcy0+Y3Jb VkdBX0NSVENfTUFYX1NDQU5dIHw9IDB4NDA7CisKKyAgICBpZiAocy0+dmJl X3JlZ3NbVkJFX0RJU1BJX0lOREVYX0JQUF0gPT0gNCkgeworICAgICAgICBz aGlmdF9jb250cm9sID0gMDsKKyAgICAgICAgcy0+c3JbVkdBX1NFUV9DTE9D S19NT0RFXSAmPSB+ODsgLyogbm8gZG91YmxlIGxpbmUgKi8KKyAgICB9IGVs c2UgeworICAgICAgICBzaGlmdF9jb250cm9sID0gMjsKKyAgICAgICAgLyog c2V0IGNoYWluIDQgbW9kZSAqLworICAgICAgICBzLT5zcltWR0FfU0VRX01F TU9SWV9NT0RFXSB8PSBWR0FfU1IwNF9DSE5fNE07CisgICAgICAgIC8qIGFj dGl2YXRlIGFsbCBwbGFuZXMgKi8KKyAgICAgICAgcy0+c3JbVkdBX1NFUV9Q TEFORV9XUklURV0gfD0gVkdBX1NSMDJfQUxMX1BMQU5FUzsKKyAgICB9Cisg ICAgcy0+Z3JbVkdBX0dGWF9NT0RFXSA9IChzLT5ncltWR0FfR0ZYX01PREVd ICYgfjB4NjApIHwKKyAgICAgICAgKHNoaWZ0X2NvbnRyb2wgPDwgNSk7Cisg ICAgcy0+Y3JbVkdBX0NSVENfTUFYX1NDQU5dICY9IH4weDlmOyAvKiBubyBk b3VibGUgc2NhbiAqLworfQorCiBzdGF0aWMgdWludDMyX3QgdmJlX2lvcG9y dF9yZWFkX2luZGV4KHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkcikKIHsK ICAgICBWR0FDb21tb25TdGF0ZSAqcyA9IG9wYXF1ZTsKQEAgLTczMCw1MiAr NzczLDE5IEBAIHZvaWQgdmJlX2lvcG9ydF93cml0ZV9kYXRhKHZvaWQgKm9w YXF1ZSwgdWludDMyX3QgYWRkciwgdWludDMyX3QgdmFsKQogICAgICAgICBj YXNlIFZCRV9ESVNQSV9JTkRFWF9FTkFCTEU6CiAgICAgICAgICAgICBpZiAo KHZhbCAmIFZCRV9ESVNQSV9FTkFCTEVEKSAmJgogICAgICAgICAgICAgICAg ICEocy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVf RElTUElfRU5BQkxFRCkpIHsKLSAgICAgICAgICAgICAgICBpbnQgaCwgc2hp ZnRfY29udHJvbDsKIAogICAgICAgICAgICAgICAgIHMtPnZiZV9yZWdzW1ZC RV9ESVNQSV9JTkRFWF9WSVJUX1dJRFRIXSA9IDA7CiAgICAgICAgICAgICAg ICAgcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1hfT0ZGU0VUXSA9IDA7 CiAgICAgICAgICAgICAgICAgcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVY X1lfT0ZGU0VUXSA9IDA7CiAgICAgICAgICAgICAgICAgcy0+dmJlX3JlZ3Nb VkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gfD0gVkJFX0RJU1BJX0VOQUJMRUQ7 CiAgICAgICAgICAgICAgICAgdmJlX2ZpeHVwX3JlZ3Mocyk7CisgICAgICAg ICAgICAgICAgdmJlX3VwZGF0ZV92Z2FyZWdzKHMpOwogCiAgICAgICAgICAg ICAgICAgLyogY2xlYXIgdGhlIHNjcmVlbiAqLwogICAgICAgICAgICAgICAg IGlmICghKHZhbCAmIFZCRV9ESVNQSV9OT0NMRUFSTUVNKSkgewogICAgICAg ICAgICAgICAgICAgICBtZW1zZXQocy0+dnJhbV9wdHIsIDAsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5E RVhfWVJFU10gKiBzLT52YmVfbGluZV9vZmZzZXQpOwogICAgICAgICAgICAg ICAgIH0KLQotICAgICAgICAgICAgICAgIC8qIHdlIGluaXRpYWxpemUgdGhl IFZHQSBncmFwaGljIG1vZGUgKi8KLSAgICAgICAgICAgICAgICAvKiBncmFw aGljIG1vZGUgKyBtZW1vcnkgbWFwIDEgKi8KLSAgICAgICAgICAgICAgICBz LT5ncltWR0FfR0ZYX01JU0NdID0gKHMtPmdyW1ZHQV9HRlhfTUlTQ10gJiB+ MHgwYykgfCAweDA0IHwKLSAgICAgICAgICAgICAgICAgICAgVkdBX0dSMDZf R1JBUEhJQ1NfTU9ERTsKLSAgICAgICAgICAgICAgICBzLT5jcltWR0FfQ1JU Q19NT0RFXSB8PSAzOyAvKiBubyBDR0EgbW9kZXMgKi8KLSAgICAgICAgICAg ICAgICBzLT5jcltWR0FfQ1JUQ19PRkZTRVRdID0gcy0+dmJlX2xpbmVfb2Zm c2V0ID4+IDM7Ci0gICAgICAgICAgICAgICAgLyogd2lkdGggKi8KLSAgICAg ICAgICAgICAgICBzLT5jcltWR0FfQ1JUQ19IX0RJU1BdID0KLSAgICAgICAg ICAgICAgICAgICAgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9YUkVT XSA+PiAzKSAtIDE7Ci0gICAgICAgICAgICAgICAgLyogaGVpZ2h0IChvbmx5 IG1lYW5pbmdmdWwgaWYgPCAxMDI0KSAqLwotICAgICAgICAgICAgICAgIGgg PSBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWVJFU10gLSAxOwotICAg ICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX1ZfRElTUF9FTkRdID0gaDsK LSAgICAgICAgICAgICAgICBzLT5jcltWR0FfQ1JUQ19PVkVSRkxPV10gPSAo cy0+Y3JbVkdBX0NSVENfT1ZFUkZMT1ddICYgfjB4NDIpIHwKLSAgICAgICAg ICAgICAgICAgICAgKChoID4+IDcpICYgMHgwMikgfCAoKGggPj4gMykgJiAw eDQwKTsKLSAgICAgICAgICAgICAgICAvKiBsaW5lIGNvbXBhcmUgdG8gMTAy MyAqLwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX0xJTkVfQ09N UEFSRV0gPSAweGZmOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRD X09WRVJGTE9XXSB8PSAweDEwOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZH QV9DUlRDX01BWF9TQ0FOXSB8PSAweDQwOwotCi0gICAgICAgICAgICAgICAg aWYgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9CUFBdID09IDQpIHsK LSAgICAgICAgICAgICAgICAgICAgc2hpZnRfY29udHJvbCA9IDA7Ci0gICAg ICAgICAgICAgICAgICAgIHMtPnNyW1ZHQV9TRVFfQ0xPQ0tfTU9ERV0gJj0g fjg7IC8qIG5vIGRvdWJsZSBsaW5lICovCi0gICAgICAgICAgICAgICAgfSBl bHNlIHsKLSAgICAgICAgICAgICAgICAgICAgc2hpZnRfY29udHJvbCA9IDI7 Ci0gICAgICAgICAgICAgICAgICAgIC8qIHNldCBjaGFpbiA0IG1vZGUgKi8K LSAgICAgICAgICAgICAgICAgICAgcy0+c3JbVkdBX1NFUV9NRU1PUllfTU9E RV0gfD0gVkdBX1NSMDRfQ0hOXzRNOwotICAgICAgICAgICAgICAgICAgICAv KiBhY3RpdmF0ZSBhbGwgcGxhbmVzICovCi0gICAgICAgICAgICAgICAgICAg IHMtPnNyW1ZHQV9TRVFfUExBTkVfV1JJVEVdIHw9IFZHQV9TUjAyX0FMTF9Q TEFORVM7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHMt PmdyW1ZHQV9HRlhfTU9ERV0gPSAocy0+Z3JbVkdBX0dGWF9NT0RFXSAmIH4w eDYwKSB8Ci0gICAgICAgICAgICAgICAgICAgIChzaGlmdF9jb250cm9sIDw8 IDUpOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX01BWF9TQ0FO XSAmPSB+MHg5ZjsgLyogbm8gZG91YmxlIHNjYW4gKi8KICAgICAgICAgICAg IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgcy0+YmFua19vZmZzZXQgPSAw OwogICAgICAgICAgICAgfQotLSAKMS44LjMuMQoK --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-unstable-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Disposition: attachment; filename="xsa179-qemuu-unstable-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Transfer-Encoding: base64 RnJvbSAyMDY4MTkyZGNjY2Q4YTgwZGRkZmNjOGRmNjE2NGNmOWMyNmUwZmM0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NTozOToyMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNC81XSB2Z2E6IHVwZGF0 ZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgb24gdmJlIGNoYW5nZXMKCkNhbGwgdGhl IG5ldyB2YmVfdXBkYXRlX3ZnYXJlZ3MoKSBmdW5jdGlvbiBvbiB2YmUgY29u ZmlndXJhdGlvbgpjaGFuZ2VzLCB0byBtYWtlIHN1cmUgdmdhIHJlZ2lzdGVy cyBhcmUgdXAtdG8tZGF0ZS4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1h bm4gPGtyYXhlbEByZWRoYXQuY29tPgotLS0KIGh3L2Rpc3BsYXkvdmdhLmMg fCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAt LWdpdCBhL2h3L2Rpc3BsYXkvdmdhLmMgYi9ody9kaXNwbGF5L3ZnYS5jCmlu ZGV4IGUxMmY1YWMuLmVlZWI5YzggMTAwNjQ0Ci0tLSBhL2h3L2Rpc3BsYXkv dmdhLmMKKysrIGIvaHcvZGlzcGxheS92Z2EuYwpAQCAtNzYzLDYgKzc2Myw3 IEBAIHZvaWQgdmJlX2lvcG9ydF93cml0ZV9kYXRhKHZvaWQgKm9wYXF1ZSwg dWludDMyX3QgYWRkciwgdWludDMyX3QgdmFsKQogICAgICAgICBjYXNlIFZC RV9ESVNQSV9JTkRFWF9ZX09GRlNFVDoKICAgICAgICAgICAgIHMtPnZiZV9y ZWdzW3MtPnZiZV9pbmRleF0gPSB2YWw7CiAgICAgICAgICAgICB2YmVfZml4 dXBfcmVncyhzKTsKKyAgICAgICAgICAgIHZiZV91cGRhdGVfdmdhcmVncyhz KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZCRV9ESVNQ SV9JTkRFWF9CQU5LOgogICAgICAgICAgICAgdmFsICY9IHMtPnZiZV9iYW5r X21hc2s7Ci0tIAoxLjguMy4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-unstable-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Disposition: attachment; filename="xsa179-qemuu-unstable-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Transfer-Encoding: base64 RnJvbSBmZDNjMTM2YjNlMTQ4MmNkMGVjNzI4NWQ2YmMyYTNlNmE2MmMzOGQ3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDo0ODowNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNS81XSB2Z2E6IG1ha2Ug c3VyZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgZm9yIHZiZSBzdGF5cyBpbnRhY3QK IChDVkUtMjAxNi0zNzEyKS4KCkNhbGwgdmJlX3VwZGF0ZV92Z2FyZWdzKCkg d2hlbiB0aGUgZ3Vlc3QgdG91Y2hlcyBHRlgsIFNFUSBvciBDUlQKcmVnaXN0 ZXJzLCB0byBtYWtlIHN1cmUgdGhlIHZnYSByZWdpc3RlcnMgd2lsbCBhbHdh eXMgaGF2ZSB0aGUKdmFsdWVzIG5lZWRlZCBieSB2YmUgbW9kZS4gIFRoaXMg bWFrZXMgc3VyZSB0aGUgc2FuaXR5IGNoZWNrcwphcHBsaWVkIGJ5IHZiZV9m aXh1cF9yZWdzKCkgYXJlIGVmZmVjdGl2ZS4KCldpdGhvdXQgdGhpcyBndWVz dHMgY2FuIG11Y2sgd2l0aCBzaGlmdF9jb250cm9sLCBjYW4gdHVybiBvbiBw bGFuYXIKdmdhIG1vZGVzIG9yIHRleHQgbW9kZSBlbXVsYXRpb24gd2hpbGUg VkJFIGlzIGFjdGl2ZSwgbWFraW5nIHFlbXUKdGFrZSBjb2RlIHBhdGhzIG1l YW50IGZvciBDR0EgY29tcGF0aWJpbGl0eSwgYnV0IHdpdGggdGhlIHZlcnkK bGFyZ2UgZGlzcGxheSB3aWR0aHMgYW5kIGhlaWd0cyBzZXR0YWJsZSB1c2lu ZyBWQkUgcmVnaXN0ZXJzLgoKV2hpY2ggaXMgZ29vZCBmb3Igb25lIG9yIGFu b3RoZXIgYnVmZmVyIG92ZXJmbG93LiAgTm90IHRoYXQKY3JpdGljYWwgYXMg dGhleSB0eXBpY2FsbHkgcmVhZCBvdmVyZmxvd3MgaGFwcGVuaW5nIHNvbWV3 aGVyZQppbiB0aGUgZGlzcGxheSBjb2RlLiAgU28gZ3Vlc3RzIGNhbiBEb1Mg YnkgY3Jhc2hpbmcgcWVtdSB3aXRoIGEKc2VnZmF1bHQsIGJ1dCBpdCBpcyBw cm9iYWJseSBub3QgcG9zc2libGUgdG8gYnJlYWsgb3V0IG9mIHRoZSBWTS4K CkZpeGVzOiBDVkUtMjAxNi0zNzEyClJlcG9ydGVkLWJ5OiBadW96aGkgRnp6 IDx6dW96aGkuZnp6QGFsaWJhYmEtaW5jLmNvbT4KUmVwb3J0ZWQtYnk6IFAg SiBQIDxwcGFuZGl0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IEdlcmQg SG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgotLS0KIGh3L2Rpc3BsYXkv dmdhLmMgfCA2ICsrKysrKwogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2h3L2Rpc3BsYXkvdmdhLmMgYi9ody9kaXNw bGF5L3ZnYS5jCmluZGV4IGVlZWI5YzguLjRhNTVlYzYgMTAwNjQ0Ci0tLSBh L2h3L2Rpc3BsYXkvdmdhLmMKKysrIGIvaHcvZGlzcGxheS92Z2EuYwpAQCAt MTQyLDYgKzE0Miw4IEBAIHN0YXRpYyB1aW50MzJfdCBleHBhbmQ0WzI1Nl07 CiBzdGF0aWMgdWludDE2X3QgZXhwYW5kMlsyNTZdOwogc3RhdGljIHVpbnQ4 X3QgZXhwYW5kNHRvOFsxNl07CiAKK3N0YXRpYyB2b2lkIHZiZV91cGRhdGVf dmdhcmVncyhWR0FDb21tb25TdGF0ZSAqcyk7CisKIHN0YXRpYyBpbmxpbmUg Ym9vbCB2YmVfZW5hYmxlZChWR0FDb21tb25TdGF0ZSAqcykKIHsKICAgICBy ZXR1cm4gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBW QkVfRElTUElfRU5BQkxFRDsKQEAgLTQ4NCw2ICs0ODYsNyBAQCB2b2lkIHZn YV9pb3BvcnRfd3JpdGUodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1 aW50MzJfdCB2YWwpCiAgICAgICAgIHByaW50ZigidmdhOiB3cml0ZSBTUiV4 ID0gMHglMDJ4XG4iLCBzLT5zcl9pbmRleCwgdmFsKTsKICNlbmRpZgogICAg ICAgICBzLT5zcltzLT5zcl9pbmRleF0gPSB2YWwgJiBzcl9tYXNrW3MtPnNy X2luZGV4XTsKKyAgICAgICAgdmJlX3VwZGF0ZV92Z2FyZWdzKHMpOwogICAg ICAgICBpZiAocy0+c3JfaW5kZXggPT0gVkdBX1NFUV9DTE9DS19NT0RFKSB7 CiAgICAgICAgICAgICBzLT51cGRhdGVfcmV0cmFjZV9pbmZvKHMpOwogICAg ICAgICB9CkBAIC01MTUsNiArNTE4LDcgQEAgdm9pZCB2Z2FfaW9wb3J0X3dy aXRlKHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkciwgdWludDMyX3QgdmFs KQogICAgICAgICBwcmludGYoInZnYTogd3JpdGUgR1IleCA9IDB4JTAyeFxu Iiwgcy0+Z3JfaW5kZXgsIHZhbCk7CiAjZW5kaWYKICAgICAgICAgcy0+Z3Jb cy0+Z3JfaW5kZXhdID0gdmFsICYgZ3JfbWFza1tzLT5ncl9pbmRleF07Cisg ICAgICAgIHZiZV91cGRhdGVfdmdhcmVncyhzKTsKICAgICAgICAgdmdhX3Vw ZGF0ZV9tZW1vcnlfYWNjZXNzKHMpOwogICAgICAgICBicmVhazsKICAgICBj YXNlIFZHQV9DUlRfSU06CkBAIC01MzMsMTAgKzUzNywxMiBAQCB2b2lkIHZn YV9pb3BvcnRfd3JpdGUodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1 aW50MzJfdCB2YWwpCiAgICAgICAgICAgICBpZiAocy0+Y3JfaW5kZXggPT0g VkdBX0NSVENfT1ZFUkZMT1cpIHsKICAgICAgICAgICAgICAgICBzLT5jcltW R0FfQ1JUQ19PVkVSRkxPV10gPSAocy0+Y3JbVkdBX0NSVENfT1ZFUkZMT1dd ICYgfjB4MTApIHwKICAgICAgICAgICAgICAgICAgICAgKHZhbCAmIDB4MTAp OworICAgICAgICAgICAgICAgIHZiZV91cGRhdGVfdmdhcmVncyhzKTsKICAg ICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog ICAgICAgICBzLT5jcltzLT5jcl9pbmRleF0gPSB2YWw7CisgICAgICAgIHZi ZV91cGRhdGVfdmdhcmVncyhzKTsKIAogICAgICAgICBzd2l0Y2gocy0+Y3Jf aW5kZXgpIHsKICAgICAgICAgY2FzZSBWR0FfQ1JUQ19IX1RPVEFMOgotLSAK MS44LjMuMQoK --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.3-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.3-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Transfer-Encoding: base64 RnJvbSA2NzMwNWZjZjQ3MzNmYjRmYjllYWNjMzM0MzZlYzY2YTdjMDM1MmVm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogV2VkLCA0IE1heSAyMDE2IDE3 OjQwOjU4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxLzVdIHZnYTogZml4IGJh bmtlZCBhY2Nlc3MgYm91bmRzIGNoZWNraW5nIChDVkUtMjAxNi0zNzEwKQoK dmdhIGFsbG93cyBiYW5rZWQgYWNjZXNzIHRvIHZpZGVvIG1lbW9yeSB1c2lu ZyB0aGUgd2luZG93IGF0IDB4YTAwMDAwCmFuZCBpdCBzdXBwb3J0cyBhIGRp ZmZlcmVudCBhY2Nlc3MgbW9kZXMgd2l0aCBkaWZmZXJlbnQgYWRkcmVzcwpj YWxjdWxhdGlvbnMuCgpUaGUgVkJFIGJvY2hzIGV4dGVudGlvbnMgc3VwcG9y dCBiYW5rZWQgYWNjZXNzIHRvbywgdXNpbmcgdGhlClZCRV9ESVNQSV9JTkRF WF9CQU5LIHJlZ2lzdGVyLiAgVGhlIGNvZGUgdHJpZXMgdG8gdGFrZSB0aGUg ZGlmZmVyZW50CmFkZHJlc3MgY2FsY3VsYXRpb25zIGludG8gYWNjb3VudCBh bmQgYXBwbGllcyBkaWZmZXJlbnQgbGltaXRzIHRvClZCRV9ESVNQSV9JTkRF WF9CQU5LIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBhY2Nlc3MgbW9kZS4K CldoaWNoIGlzIHByb2JhYmx5IGVmZmVjdGl2ZSBpbiBzdG9wcGluZyBtaXNw cm9ncmFtbWluZyBieSBhY2NpZGVudC4KQnV0IGZyb20gYSBzZWN1cml0eSBw b2ludCBvZiB2aWV3IGNvbXBsZXRlbHkgdXNlbGVzcyBhcyBhbiBhdHRhY2tl cgpjYW4gZWFzaWx5IGNoYW5nZSBhY2Nlc3MgbW9kZXMgYWZ0ZXIgc2V0dGlu ZyB0aGUgYmFuayByZWdpc3Rlci4KCkRyb3AgdGhlIGJvZ3VzIGNoZWNrLCBh ZGQgcmFuZ2UgY2hlY2tzIHRvIHZnYV9tZW1fe3JlYWRiLHdyaXRlYn0KaW5z dGVhZC4KCkZpeGVzOiBDVkUtMjAxNi0zNzEwClJlcG9ydGVkLWJ5OiBRaW5n aGFvIFRhbmcgPGx1b2RhbG9uZ2RlQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i eTogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+ClNpZ25lZC1v ZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVs Lm9yZz4KLS0tCiBody92Z2EuYyB8IDI0ICsrKysrKysrKysrKysrKysrKy0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDYgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcvdmdhLmMgYi9ody92Z2EuYwpp bmRleCA2OTM5OWRiLi5jZDdlN2FhIDEwMDY0NAotLS0gYS9ody92Z2EuYwor KysgYi9ody92Z2EuYwpAQCAtMjAwLDYgKzIwMCw3IEBAIHN0YXRpYyB2b2lk IHZnYV91cGRhdGVfbWVtb3J5X2FjY2VzcyhWR0FDb21tb25TdGF0ZSAqcykK ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGJhc2Ug Kz0gaXNhX21lbV9iYXNlOworICAgICAgICBhc3NlcnQob2Zmc2V0ICsgc2l6 ZSA8PSBzLT52cmFtX3NpemUpOwogICAgICAgICByZWdpb24gPSBnX21hbGxv YyhzaXplb2YoKnJlZ2lvbikpOwogICAgICAgICBtZW1vcnlfcmVnaW9uX2lu aXRfYWxpYXMocmVnaW9uLCAidmdhLmNoYWluNCIsICZzLT52cmFtLCBvZmZz ZXQsIHNpemUpOwogICAgICAgICBtZW1vcnlfcmVnaW9uX2FkZF9zdWJyZWdp b25fb3ZlcmxhcChzLT5sZWdhY3lfYWRkcmVzc19zcGFjZSwgYmFzZSwKQEAg LTc0NywxMSArNzQ4LDcgQEAgdm9pZCB2YmVfaW9wb3J0X3dyaXRlX2RhdGEo dm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiAg ICAgICAgICAgICB2YmVfZml4dXBfcmVncyhzKTsKICAgICAgICAgICAgIGJy ZWFrOwogICAgICAgICBjYXNlIFZCRV9ESVNQSV9JTkRFWF9CQU5LOgotICAg ICAgICAgICAgaWYgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9CUFBd ID09IDQpIHsKLSAgICAgICAgICAgICAgdmFsICY9IChzLT52YmVfYmFua19t YXNrID4+IDIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg ICAgdmFsICY9IHMtPnZiZV9iYW5rX21hc2s7Ci0gICAgICAgICAgICB9Cisg ICAgICAgICAgICB2YWwgJj0gcy0+dmJlX2JhbmtfbWFzazsKICAgICAgICAg ICAgIHMtPnZiZV9yZWdzW3MtPnZiZV9pbmRleF0gPSB2YWw7CiAgICAgICAg ICAgICBzLT5iYW5rX29mZnNldCA9ICh2YWwgPDwgMTYpOwogICAgICAgICAg ICAgdmdhX3VwZGF0ZV9tZW1vcnlfYWNjZXNzKHMpOwpAQCAtODUyLDEzICs4 NDksMjEgQEAgdWludDMyX3QgdmdhX21lbV9yZWFkYihWR0FDb21tb25TdGF0 ZSAqcywgaHdhZGRyIGFkZHIpCiAKICAgICBpZiAocy0+c3JbVkdBX1NFUV9N RU1PUllfTU9ERV0gJiBWR0FfU1IwNF9DSE5fNE0pIHsKICAgICAgICAgLyog Y2hhaW4gNCBtb2RlIDogc2ltcGxlc3QgYWNjZXNzICovCisgICAgICAgIGFz c2VydChhZGRyIDwgcy0+dnJhbV9zaXplKTsKICAgICAgICAgcmV0ID0gcy0+ dnJhbV9wdHJbYWRkcl07CiAgICAgfSBlbHNlIGlmIChzLT5ncltWR0FfR0ZY X01PREVdICYgMHgxMCkgewogICAgICAgICAvKiBvZGQvZXZlbiBtb2RlIChh a2EgdGV4dCBtb2RlIG1hcHBpbmcpICovCiAgICAgICAgIHBsYW5lID0gKHMt PmdyW1ZHQV9HRlhfUExBTkVfUkVBRF0gJiAyKSB8IChhZGRyICYgMSk7Ci0g ICAgICAgIHJldCA9IHMtPnZyYW1fcHRyWygoYWRkciAmIH4xKSA8PCAxKSB8 IHBsYW5lXTsKKyAgICAgICAgYWRkciA9ICgoYWRkciAmIH4xKSA8PCAxKSB8 IHBsYW5lOworICAgICAgICBpZiAoYWRkciA+PSBzLT52cmFtX3NpemUpIHsK KyAgICAgICAgICAgIHJldHVybiAweGZmOworICAgICAgICB9CisgICAgICAg IHJldCA9IHMtPnZyYW1fcHRyW2FkZHJdOwogICAgIH0gZWxzZSB7CiAgICAg ICAgIC8qIHN0YW5kYXJkIFZHQSBsYXRjaGVkIGFjY2VzcyAqLworICAgICAg ICBpZiAoYWRkciAqIHNpemVvZih1aW50MzJfdCkgPj0gcy0+dnJhbV9zaXpl KSB7CisgICAgICAgICAgICByZXR1cm4gMHhmZjsKKyAgICAgICAgfQogICAg ICAgICBzLT5sYXRjaCA9ICgodWludDMyX3QgKilzLT52cmFtX3B0cilbYWRk cl07CiAKICAgICAgICAgaWYgKCEocy0+Z3JbVkdBX0dGWF9NT0RFXSAmIDB4 MDgpKSB7CkBAIC05MTUsNiArOTIwLDcgQEAgdm9pZCB2Z2FfbWVtX3dyaXRl YihWR0FDb21tb25TdGF0ZSAqcywgaHdhZGRyIGFkZHIsIHVpbnQzMl90IHZh bCkKICAgICAgICAgcGxhbmUgPSBhZGRyICYgMzsKICAgICAgICAgbWFzayA9 ICgxIDw8IHBsYW5lKTsKICAgICAgICAgaWYgKHMtPnNyW1ZHQV9TRVFfUExB TkVfV1JJVEVdICYgbWFzaykgeworICAgICAgICAgICAgYXNzZXJ0KGFkZHIg PCBzLT52cmFtX3NpemUpOwogICAgICAgICAgICAgcy0+dnJhbV9wdHJbYWRk cl0gPSB2YWw7CiAjaWZkZWYgREVCVUdfVkdBX01FTQogICAgICAgICAgICAg cHJpbnRmKCJ2Z2E6IGNoYWluNDogWzB4IiBUQVJHRVRfRk1UX3BseCAiXVxu IiwgYWRkcik7CkBAIC05MjgsNiArOTM0LDkgQEAgdm9pZCB2Z2FfbWVtX3dy aXRlYihWR0FDb21tb25TdGF0ZSAqcywgaHdhZGRyIGFkZHIsIHVpbnQzMl90 IHZhbCkKICAgICAgICAgbWFzayA9ICgxIDw8IHBsYW5lKTsKICAgICAgICAg aWYgKHMtPnNyW1ZHQV9TRVFfUExBTkVfV1JJVEVdICYgbWFzaykgewogICAg ICAgICAgICAgYWRkciA9ICgoYWRkciAmIH4xKSA8PCAxKSB8IHBsYW5lOwor ICAgICAgICAgICAgaWYgKGFkZHIgPj0gcy0+dnJhbV9zaXplKSB7CisgICAg ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAgICAg ICAgcy0+dnJhbV9wdHJbYWRkcl0gPSB2YWw7CiAjaWZkZWYgREVCVUdfVkdB X01FTQogICAgICAgICAgICAgcHJpbnRmKCJ2Z2E6IG9kZC9ldmVuOiBbMHgi IFRBUkdFVF9GTVRfcGx4ICJdXG4iLCBhZGRyKTsKQEAgLTEwMDEsNiArMTAx MCw5IEBAIHZvaWQgdmdhX21lbV93cml0ZWIoVkdBQ29tbW9uU3RhdGUgKnMs IGh3YWRkciBhZGRyLCB1aW50MzJfdCB2YWwpCiAgICAgICAgIG1hc2sgPSBz LT5zcltWR0FfU0VRX1BMQU5FX1dSSVRFXTsKICAgICAgICAgcy0+cGxhbmVf dXBkYXRlZCB8PSBtYXNrOyAvKiBvbmx5IHVzZWQgdG8gZGV0ZWN0IGZvbnQg Y2hhbmdlICovCiAgICAgICAgIHdyaXRlX21hc2sgPSBtYXNrMTZbbWFza107 CisgICAgICAgIGlmIChhZGRyICogc2l6ZW9mKHVpbnQzMl90KSA+PSBzLT52 cmFtX3NpemUpIHsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQog ICAgICAgICAoKHVpbnQzMl90ICopcy0+dnJhbV9wdHIpW2FkZHJdID0KICAg ICAgICAgICAgICgoKHVpbnQzMl90ICopcy0+dnJhbV9wdHIpW2FkZHJdICYg fndyaXRlX21hc2spIHwKICAgICAgICAgICAgICh2YWwgJiB3cml0ZV9tYXNr KTsKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.3-0002-vga-add-vbe_enabled-helper.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.3-0002-vga-add-vbe_enabled-helper.patch" Content-Transfer-Encoding: base64 RnJvbSBlN2Q3YzA5Njg5YzcyNWJlNGYwYjQ4OWI0YmEzYjc0MWM1ZDlhYjMx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogV2VkLCA0IE1heSAyMDE2IDE3 OjQxOjM5ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyLzVdIHZnYTogYWRkIHZi ZV9lbmFibGVkKCkgaGVscGVyCgpNYWtlcyBjb2RlIGEgYml0IGVhc2llciB0 byByZWFkLgoKU2lnbmVkLW9mZi1ieTogR2VyZCBIb2ZmbWFubiA8a3JheGVs QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGlu aSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KLS0tCiBody92Z2EuYyB8IDEz ICsrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcvdmdhLmMgYi9o dy92Z2EuYwppbmRleCBjZDdlN2FhLi5jYjFjMTRkIDEwMDY0NAotLS0gYS9o dy92Z2EuYworKysgYi9ody92Z2EuYwpAQCAtMTY5LDYgKzE2OSwxMSBAQCBz dGF0aWMgdWludDhfdCBleHBhbmQ0dG84WzE2XTsKIHN0YXRpYyB2b2lkIHZn YV9zY3JlZW5fZHVtcCh2b2lkICpvcGFxdWUsIGNvbnN0IGNoYXIgKmZpbGVu YW1lLCBib29sIGNzd2l0Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRXJyb3IgKiplcnJwKTsKIAorc3RhdGljIGlubGluZSBib29sIHZiZV9l bmFibGVkKFZHQUNvbW1vblN0YXRlICpzKQoreworICAgIHJldHVybiBzLT52 YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfRU5BQkxFXSAmIFZCRV9ESVNQSV9F TkFCTEVEOworfQorCiBzdGF0aWMgdm9pZCB2Z2FfdXBkYXRlX21lbW9yeV9h Y2Nlc3MoVkdBQ29tbW9uU3RhdGUgKnMpCiB7CiAgICAgTWVtb3J5UmVnaW9u ICpyZWdpb24sICpvbGRfcmVnaW9uID0gcy0+Y2hhaW40X2FsaWFzOwpAQCAt NTk1LDcgKzYwMCw3IEBAIHN0YXRpYyB2b2lkIHZiZV9maXh1cF9yZWdzKFZH QUNvbW1vblN0YXRlICpzKQogICAgIHVpbnQxNl90ICpyID0gcy0+dmJlX3Jl Z3M7CiAgICAgdWludDMyX3QgYml0cywgbGluZWxlbmd0aCwgbWF4eSwgb2Zm c2V0OwogCi0gICAgaWYgKCEocltWQkVfRElTUElfSU5ERVhfRU5BQkxFXSAm IFZCRV9ESVNQSV9FTkFCTEVEKSkgeworICAgIGlmICghdmJlX2VuYWJsZWQo cykpIHsKICAgICAgICAgLyogdmJlIGlzIHR1cm5lZCBvZmYgLS0gbm90aGlu ZyB0byBkbyAqLwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTE3Niw3 ICsxMTgxLDcgQEAgc3RhdGljIHZvaWQgdmdhX2dldF9vZmZzZXRzKFZHQUNv bW1vblN0YXRlICpzLAogewogICAgIHVpbnQzMl90IHN0YXJ0X2FkZHIsIGxp bmVfb2Zmc2V0LCBsaW5lX2NvbXBhcmU7CiAKLSAgICBpZiAocy0+dmJlX3Jl Z3NbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxF RCkgeworICAgIGlmICh2YmVfZW5hYmxlZChzKSkgewogICAgICAgICBsaW5l X29mZnNldCA9IHMtPnZiZV9saW5lX29mZnNldDsKICAgICAgICAgc3RhcnRf YWRkciA9IHMtPnZiZV9zdGFydF9hZGRyOwogICAgICAgICBsaW5lX2NvbXBh cmUgPSA2NTUzNTsKQEAgLTE2MjYsNyArMTYzMSw3IEBAIHN0YXRpYyBpbnQg dmdhX2dldF9icHAoVkdBQ29tbW9uU3RhdGUgKnMpCiB7CiAgICAgaW50IHJl dDsKIAotICAgIGlmIChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfRU5B QkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVEKSB7CisgICAgaWYgKHZiZV9lbmFi bGVkKHMpKSB7CiAgICAgICAgIHJldCA9IHMtPnZiZV9yZWdzW1ZCRV9ESVNQ SV9JTkRFWF9CUFBdOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJldCA9IDA7 CkBAIC0xNjM4LDcgKzE2NDMsNyBAQCBzdGF0aWMgdm9pZCB2Z2FfZ2V0X3Jl c29sdXRpb24oVkdBQ29tbW9uU3RhdGUgKnMsIGludCAqcHdpZHRoLCBpbnQg KnBoZWlnaHQpCiB7CiAgICAgaW50IHdpZHRoLCBoZWlnaHQ7CiAKLSAgICBp ZiAocy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVf RElTUElfRU5BQkxFRCkgeworICAgIGlmICh2YmVfZW5hYmxlZChzKSkgewog ICAgICAgICB3aWR0aCA9IHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9Y UkVTXTsKICAgICAgICAgaGVpZ2h0ID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJ X0lOREVYX1lSRVNdOwogICAgIH0gZWxzZSB7Ci0tIAoxLjkuMQoK --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.3-0003-vga-factor-out-vga-register-setup.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.3-0003-vga-factor-out-vga-register-setup.patch" Content-Transfer-Encoding: base64 RnJvbSAyNzAwMjUwYzZiMjgyNDhiNzBiMTVmZDZlMGI0YzlkYjhiMmRkZmI3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogV2VkLCA0IE1heSAyMDE2IDE3 OjQyOjI0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAzLzVdIHZnYTogZmFjdG9y IG91dCB2Z2EgcmVnaXN0ZXIgc2V0dXAKCldoZW4gZW5hYmxpbmcgdmJlIG1v ZGUgcWVtdSB3aWxsIHNldHVwIGEgYnVuY2ggb2YgdmdhIHJlZ2lzdGVycyB0 byBtYWtlCnN1cmUgdGhlIHZnYSBlbXVsYXRpb24gb3BlcmF0ZXMgaW4gY29y cmVjdCBtb2RlIGZvciBhIGxpbmVhcgpmcmFtZWJ1ZmZlci4gIE1vdmUgdGhh dCBjb2RlIHRvIGEgc2VwYXJhdGUgZnVuY3Rpb24gc28gd2UgY2FuIGNhbGwg aXQKZnJvbSBvdGhlciBwbGFjZXMgdG9vLgoKU2lnbmVkLW9mZi1ieTogR2Vy ZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4K LS0tCiBody92Z2EuYyB8IDc5ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9ody92Z2EuYyBiL2h3L3ZnYS5jCmluZGV4IGNiMWMx NGQuLmFkN2NhNDkgMTAwNjQ0Ci0tLSBhL2h3L3ZnYS5jCisrKyBiL2h3L3Zn YS5jCkBAIC02NzUsNiArNjc1LDQ5IEBAIHN0YXRpYyB2b2lkIHZiZV9maXh1 cF9yZWdzKFZHQUNvbW1vblN0YXRlICpzKQogICAgIHMtPnZiZV9zdGFydF9h ZGRyICA9IG9mZnNldCAvIDQ7CiB9CiAKKy8qIHdlIGluaXRpYWxpemUgdGhl IFZHQSBncmFwaGljIG1vZGUgKi8KK3N0YXRpYyB2b2lkIHZiZV91cGRhdGVf dmdhcmVncyhWR0FDb21tb25TdGF0ZSAqcykKK3sKKyAgICBpbnQgaCwgc2hp ZnRfY29udHJvbDsKKworICAgIGlmICghdmJlX2VuYWJsZWQocykpIHsKKyAg ICAgICAgLyogdmJlIGlzIHR1cm5lZCBvZmYgLS0gbm90aGluZyB0byBkbyAq LworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogZ3JhcGhpYyBt b2RlICsgbWVtb3J5IG1hcCAxICovCisgICAgcy0+Z3JbVkdBX0dGWF9NSVND XSA9IChzLT5ncltWR0FfR0ZYX01JU0NdICYgfjB4MGMpIHwgMHgwNCB8Cisg ICAgICAgIFZHQV9HUjA2X0dSQVBISUNTX01PREU7CisgICAgcy0+Y3JbVkdB X0NSVENfTU9ERV0gfD0gMzsgLyogbm8gQ0dBIG1vZGVzICovCisgICAgcy0+ Y3JbVkdBX0NSVENfT0ZGU0VUXSA9IHMtPnZiZV9saW5lX29mZnNldCA+PiAz OworICAgIC8qIHdpZHRoICovCisgICAgcy0+Y3JbVkdBX0NSVENfSF9ESVNQ XSA9CisgICAgICAgIChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWFJF U10gPj4gMykgLSAxOworICAgIC8qIGhlaWdodCAob25seSBtZWFuaW5nZnVs IGlmIDwgMTAyNCkgKi8KKyAgICBoID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJ X0lOREVYX1lSRVNdIC0gMTsKKyAgICBzLT5jcltWR0FfQ1JUQ19WX0RJU1Bf RU5EXSA9IGg7CisgICAgcy0+Y3JbVkdBX0NSVENfT1ZFUkZMT1ddID0gKHMt PmNyW1ZHQV9DUlRDX09WRVJGTE9XXSAmIH4weDQyKSB8CisgICAgICAgICgo aCA+PiA3KSAmIDB4MDIpIHwgKChoID4+IDMpICYgMHg0MCk7CisgICAgLyog bGluZSBjb21wYXJlIHRvIDEwMjMgKi8KKyAgICBzLT5jcltWR0FfQ1JUQ19M SU5FX0NPTVBBUkVdID0gMHhmZjsKKyAgICBzLT5jcltWR0FfQ1JUQ19PVkVS RkxPV10gfD0gMHgxMDsKKyAgICBzLT5jcltWR0FfQ1JUQ19NQVhfU0NBTl0g fD0gMHg0MDsKKworICAgIGlmIChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5E RVhfQlBQXSA9PSA0KSB7CisgICAgICAgIHNoaWZ0X2NvbnRyb2wgPSAwOwor ICAgICAgICBzLT5zcltWR0FfU0VRX0NMT0NLX01PREVdICY9IH44OyAvKiBu byBkb3VibGUgbGluZSAqLworICAgIH0gZWxzZSB7CisgICAgICAgIHNoaWZ0 X2NvbnRyb2wgPSAyOworICAgICAgICAvKiBzZXQgY2hhaW4gNCBtb2RlICov CisgICAgICAgIHMtPnNyW1ZHQV9TRVFfTUVNT1JZX01PREVdIHw9IFZHQV9T UjA0X0NITl80TTsKKyAgICAgICAgLyogYWN0aXZhdGUgYWxsIHBsYW5lcyAq LworICAgICAgICBzLT5zcltWR0FfU0VRX1BMQU5FX1dSSVRFXSB8PSBWR0Ff U1IwMl9BTExfUExBTkVTOworICAgIH0KKyAgICBzLT5ncltWR0FfR0ZYX01P REVdID0gKHMtPmdyW1ZHQV9HRlhfTU9ERV0gJiB+MHg2MCkgfAorICAgICAg ICAoc2hpZnRfY29udHJvbCA8PCA1KTsKKyAgICBzLT5jcltWR0FfQ1JUQ19N QVhfU0NBTl0gJj0gfjB4OWY7IC8qIG5vIGRvdWJsZSBzY2FuICovCit9CisK IHN0YXRpYyB1aW50MzJfdCB2YmVfaW9wb3J0X3JlYWRfaW5kZXgodm9pZCAq b3BhcXVlLCB1aW50MzJfdCBhZGRyKQogewogICAgIFZHQUNvbW1vblN0YXRl ICpzID0gb3BhcXVlOwpAQCAtNzYxLDUzICs4MDQsMTkgQEAgdm9pZCB2YmVf aW9wb3J0X3dyaXRlX2RhdGEodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRy LCB1aW50MzJfdCB2YWwpCiAgICAgICAgIGNhc2UgVkJFX0RJU1BJX0lOREVY X0VOQUJMRToKICAgICAgICAgICAgIGlmICgodmFsICYgVkJFX0RJU1BJX0VO QUJMRUQpICYmCiAgICAgICAgICAgICAgICAgIShzLT52YmVfcmVnc1tWQkVf RElTUElfSU5ERVhfRU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVEKSkgewot ICAgICAgICAgICAgICAgIGludCBoLCBzaGlmdF9jb250cm9sOwogCiAgICAg ICAgICAgICAgICAgcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1ZJUlRf V0lEVEhdID0gMDsKICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVf RElTUElfSU5ERVhfWF9PRkZTRVRdID0gMDsKICAgICAgICAgICAgICAgICBz LT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWV9PRkZTRVRdID0gMDsKICAg ICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfRU5B QkxFXSB8PSBWQkVfRElTUElfRU5BQkxFRDsKICAgICAgICAgICAgICAgICB2 YmVfZml4dXBfcmVncyhzKTsKKyAgICAgICAgICAgICAgICB2YmVfdXBkYXRl X3ZnYXJlZ3Mocyk7CiAKICAgICAgICAgICAgICAgICAvKiBjbGVhciB0aGUg c2NyZWVuIChzaG91bGQgYmUgZG9uZSBpbiBCSU9TKSAqLwogICAgICAgICAg ICAgICAgIGlmICghKHZhbCAmIFZCRV9ESVNQSV9OT0NMRUFSTUVNKSkgewog ICAgICAgICAgICAgICAgICAgICBtZW1zZXQocy0+dnJhbV9wdHIsIDAsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVfRElT UElfSU5ERVhfWVJFU10gKiBzLT52YmVfbGluZV9vZmZzZXQpOwogICAgICAg ICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIC8qIHdlIGluaXRpYWxp emUgdGhlIFZHQSBncmFwaGljIG1vZGUgKHNob3VsZCBiZSBkb25lCi0gICAg ICAgICAgICAgICAgICAgaW4gQklPUykgKi8KLSAgICAgICAgICAgICAgICAv KiBncmFwaGljIG1vZGUgKyBtZW1vcnkgbWFwIDEgKi8KLSAgICAgICAgICAg ICAgICBzLT5ncltWR0FfR0ZYX01JU0NdID0gKHMtPmdyW1ZHQV9HRlhfTUlT Q10gJiB+MHgwYykgfCAweDA0IHwKLSAgICAgICAgICAgICAgICAgICAgVkdB X0dSMDZfR1JBUEhJQ1NfTU9ERTsKLSAgICAgICAgICAgICAgICBzLT5jcltW R0FfQ1JUQ19NT0RFXSB8PSAzOyAvKiBubyBDR0EgbW9kZXMgKi8KLSAgICAg ICAgICAgICAgICBzLT5jcltWR0FfQ1JUQ19PRkZTRVRdID0gcy0+dmJlX2xp bmVfb2Zmc2V0ID4+IDM7Ci0gICAgICAgICAgICAgICAgLyogd2lkdGggKi8K LSAgICAgICAgICAgICAgICBzLT5jcltWR0FfQ1JUQ19IX0RJU1BdID0KLSAg ICAgICAgICAgICAgICAgICAgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRF WF9YUkVTXSA+PiAzKSAtIDE7Ci0gICAgICAgICAgICAgICAgLyogaGVpZ2h0 IChvbmx5IG1lYW5pbmdmdWwgaWYgPCAxMDI0KSAqLwotICAgICAgICAgICAg ICAgIGggPSBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWVJFU10gLSAx OwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX1ZfRElTUF9FTkRd ID0gaDsKLSAgICAgICAgICAgICAgICBzLT5jcltWR0FfQ1JUQ19PVkVSRkxP V10gPSAocy0+Y3JbVkdBX0NSVENfT1ZFUkZMT1ddICYgfjB4NDIpIHwKLSAg ICAgICAgICAgICAgICAgICAgKChoID4+IDcpICYgMHgwMikgfCAoKGggPj4g MykgJiAweDQwKTsKLSAgICAgICAgICAgICAgICAvKiBsaW5lIGNvbXBhcmUg dG8gMTAyMyAqLwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX0xJ TkVfQ09NUEFSRV0gPSAweGZmOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZH QV9DUlRDX09WRVJGTE9XXSB8PSAweDEwOwotICAgICAgICAgICAgICAgIHMt PmNyW1ZHQV9DUlRDX01BWF9TQ0FOXSB8PSAweDQwOwotCi0gICAgICAgICAg ICAgICAgaWYgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9CUFBdID09 IDQpIHsKLSAgICAgICAgICAgICAgICAgICAgc2hpZnRfY29udHJvbCA9IDA7 Ci0gICAgICAgICAgICAgICAgICAgIHMtPnNyW1ZHQV9TRVFfQ0xPQ0tfTU9E RV0gJj0gfjg7IC8qIG5vIGRvdWJsZSBsaW5lICovCi0gICAgICAgICAgICAg ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgc2hpZnRfY29udHJv bCA9IDI7Ci0gICAgICAgICAgICAgICAgICAgIC8qIHNldCBjaGFpbiA0IG1v ZGUgKi8KLSAgICAgICAgICAgICAgICAgICAgcy0+c3JbVkdBX1NFUV9NRU1P UllfTU9ERV0gfD0gVkdBX1NSMDRfQ0hOXzRNOwotICAgICAgICAgICAgICAg ICAgICAvKiBhY3RpdmF0ZSBhbGwgcGxhbmVzICovCi0gICAgICAgICAgICAg ICAgICAgIHMtPnNyW1ZHQV9TRVFfUExBTkVfV1JJVEVdIHw9IFZHQV9TUjAy X0FMTF9QTEFORVM7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg ICAgIHMtPmdyW1ZHQV9HRlhfTU9ERV0gPSAocy0+Z3JbVkdBX0dGWF9NT0RF XSAmIH4weDYwKSB8Ci0gICAgICAgICAgICAgICAgICAgIChzaGlmdF9jb250 cm9sIDw8IDUpOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX01B WF9TQ0FOXSAmPSB+MHg5ZjsgLyogbm8gZG91YmxlIHNjYW4gKi8KICAgICAg ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLyogWFhYOiB0aGUg YmlvcyBzaG91bGQgZG8gdGhhdCAqLwogICAgICAgICAgICAgICAgIHMtPmJh bmtfb2Zmc2V0ID0gMDsKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.3-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.3-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Transfer-Encoding: base64 RnJvbSA5OGJlMWZiNmVhMzFjMTMwMjY0MDI1ZGU4ZWM4N2FkMmM3NTMyZjIx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogV2VkLCA0IE1heSAyMDE2IDE3 OjQyOjU5ICswMTAwClN1YmplY3Q6IFtQQVRDSCA0LzVdIHZnYTogdXBkYXRl IHZnYSByZWdpc3RlciBzZXR1cCBvbiB2YmUgY2hhbmdlcwoKQ2FsbCB0aGUg bmV3IHZiZV91cGRhdGVfdmdhcmVncygpIGZ1bmN0aW9uIG9uIHZiZSBjb25m aWd1cmF0aW9uCmNoYW5nZXMsIHRvIG1ha2Ugc3VyZSB2Z2EgcmVnaXN0ZXJz IGFyZSB1cC10by1kYXRlLgoKU2lnbmVkLW9mZi1ieTogR2VyZCBIb2ZmbWFu biA8a3JheGVsQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8g U3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KLS0tCiBody92 Z2EuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpk aWZmIC0tZ2l0IGEvaHcvdmdhLmMgYi9ody92Z2EuYwppbmRleCBhZDdjYTQ5 Li4xYWM4MDgzIDEwMDY0NAotLS0gYS9ody92Z2EuYworKysgYi9ody92Z2Eu YwpAQCAtNzk0LDYgKzc5NCw3IEBAIHZvaWQgdmJlX2lvcG9ydF93cml0ZV9k YXRhKHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkciwgdWludDMyX3QgdmFs KQogICAgICAgICBjYXNlIFZCRV9ESVNQSV9JTkRFWF9ZX09GRlNFVDoKICAg ICAgICAgICAgIHMtPnZiZV9yZWdzW3MtPnZiZV9pbmRleF0gPSB2YWw7CiAg ICAgICAgICAgICB2YmVfZml4dXBfcmVncyhzKTsKKyAgICAgICAgICAgIHZi ZV91cGRhdGVfdmdhcmVncyhzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg ICAgICBjYXNlIFZCRV9ESVNQSV9JTkRFWF9CQU5LOgogICAgICAgICAgICAg dmFsICY9IHMtPnZiZV9iYW5rX21hc2s7Ci0tIAoxLjkuMQoK --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.3-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.3-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Transfer-Encoding: base64 RnJvbSAwZjJlOWU2YjNjNzVhODdlOWVjOWE4MGQ3YmM5MTQ4MTBlM2YzZGEy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogV2VkLCA0IE1heSAyMDE2IDE3 OjQzOjM2ICswMTAwClN1YmplY3Q6IFtQQVRDSCA1LzVdIHZnYTogbWFrZSBz dXJlIHZnYSByZWdpc3RlciBzZXR1cCBmb3IgdmJlIHN0YXlzIGludGFjdAog KENWRS0yMDE2LTM3MTIpLgoKQ2FsbCB2YmVfdXBkYXRlX3ZnYXJlZ3MoKSB3 aGVuIHRoZSBndWVzdCB0b3VjaGVzIEdGWCwgU0VRIG9yIENSVApyZWdpc3Rl cnMsIHRvIG1ha2Ugc3VyZSB0aGUgdmdhIHJlZ2lzdGVycyB3aWxsIGFsd2F5 cyBoYXZlIHRoZQp2YWx1ZXMgbmVlZGVkIGJ5IHZiZSBtb2RlLiAgVGhpcyBt YWtlcyBzdXJlIHRoZSBzYW5pdHkgY2hlY2tzCmFwcGxpZWQgYnkgdmJlX2Zp eHVwX3JlZ3MoKSBhcmUgZWZmZWN0aXZlLgoKV2l0aG91dCB0aGlzIGd1ZXN0 cyBjYW4gbXVjayB3aXRoIHNoaWZ0X2NvbnRyb2wsIGNhbiB0dXJuIG9uIHBs YW5hcgp2Z2EgbW9kZXMgb3IgdGV4dCBtb2RlIGVtdWxhdGlvbiB3aGlsZSBW QkUgaXMgYWN0aXZlLCBtYWtpbmcgcWVtdQp0YWtlIGNvZGUgcGF0aHMgbWVh bnQgZm9yIENHQSBjb21wYXRpYmlsaXR5LCBidXQgd2l0aCB0aGUgdmVyeQps YXJnZSBkaXNwbGF5IHdpZHRocyBhbmQgaGVpZ3RzIHNldHRhYmxlIHVzaW5n IFZCRSByZWdpc3RlcnMuCgpXaGljaCBpcyBnb29kIGZvciBvbmUgb3IgYW5v dGhlciBidWZmZXIgb3ZlcmZsb3cuICBOb3QgdGhhdApjcml0aWNhbCBhcyB0 aGV5IHR5cGljYWxseSByZWFkIG92ZXJmbG93cyBoYXBwZW5pbmcgc29tZXdo ZXJlCmluIHRoZSBkaXNwbGF5IGNvZGUuICBTbyBndWVzdHMgY2FuIERvUyBi eSBjcmFzaGluZyBxZW11IHdpdGggYQpzZWdmYXVsdCwgYnV0IGl0IGlzIHBy b2JhYmx5IG5vdCBwb3NzaWJsZSB0byBicmVhayBvdXQgb2YgdGhlIFZNLgoK Rml4ZXM6IENWRS0yMDE2LTM3MTIKUmVwb3J0ZWQtYnk6IFp1b3poaSBGenog PHp1b3poaS5menpAYWxpYmFiYS1pbmMuY29tPgpSZXBvcnRlZC1ieTogUCBK IFAgPHBwYW5kaXRAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogR2VyZCBI b2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IFN0 ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KLS0t CiBody92Z2EuYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaHcvdmdhLmMgYi9ody92Z2EuYwpp bmRleCAxYWM4MDgzLi4xN2IzODllIDEwMDY0NAotLS0gYS9ody92Z2EuYwor KysgYi9ody92Z2EuYwpAQCAtMTY5LDYgKzE2OSw4IEBAIHN0YXRpYyB1aW50 OF90IGV4cGFuZDR0bzhbMTZdOwogc3RhdGljIHZvaWQgdmdhX3NjcmVlbl9k dW1wKHZvaWQgKm9wYXF1ZSwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGJvb2wg Y3N3aXRjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAq KmVycnApOwogCitzdGF0aWMgdm9pZCB2YmVfdXBkYXRlX3ZnYXJlZ3MoVkdB Q29tbW9uU3RhdGUgKnMpOworCiBzdGF0aWMgaW5saW5lIGJvb2wgdmJlX2Vu YWJsZWQoVkdBQ29tbW9uU3RhdGUgKnMpCiB7CiAgICAgcmV0dXJuIHMtPnZi ZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9FTkFCTEVdICYgVkJFX0RJU1BJX0VO QUJMRUQ7CkBAIC01MTUsNiArNTE3LDcgQEAgdm9pZCB2Z2FfaW9wb3J0X3dy aXRlKHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkciwgdWludDMyX3QgdmFs KQogICAgICAgICBwcmludGYoInZnYTogd3JpdGUgU1IleCA9IDB4JTAyeFxu Iiwgcy0+c3JfaW5kZXgsIHZhbCk7CiAjZW5kaWYKICAgICAgICAgcy0+c3Jb cy0+c3JfaW5kZXhdID0gdmFsICYgc3JfbWFza1tzLT5zcl9pbmRleF07Cisg ICAgICAgIHZiZV91cGRhdGVfdmdhcmVncyhzKTsKICAgICAgICAgaWYgKHMt PnNyX2luZGV4ID09IFZHQV9TRVFfQ0xPQ0tfTU9ERSkgewogICAgICAgICAg ICAgcy0+dXBkYXRlX3JldHJhY2VfaW5mbyhzKTsKICAgICAgICAgfQpAQCAt NTQ2LDYgKzU0OSw3IEBAIHZvaWQgdmdhX2lvcG9ydF93cml0ZSh2b2lkICpv cGFxdWUsIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAg cHJpbnRmKCJ2Z2E6IHdyaXRlIEdSJXggPSAweCUwMnhcbiIsIHMtPmdyX2lu ZGV4LCB2YWwpOwogI2VuZGlmCiAgICAgICAgIHMtPmdyW3MtPmdyX2luZGV4 XSA9IHZhbCAmIGdyX21hc2tbcy0+Z3JfaW5kZXhdOworICAgICAgICB2YmVf dXBkYXRlX3ZnYXJlZ3Mocyk7CiAgICAgICAgIHZnYV91cGRhdGVfbWVtb3J5 X2FjY2VzcyhzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWR0FfQ1JU X0lNOgpAQCAtNTY0LDEwICs1NjgsMTIgQEAgdm9pZCB2Z2FfaW9wb3J0X3dy aXRlKHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkciwgdWludDMyX3QgdmFs KQogICAgICAgICAgICAgaWYgKHMtPmNyX2luZGV4ID09IFZHQV9DUlRDX09W RVJGTE9XKSB7CiAgICAgICAgICAgICAgICAgcy0+Y3JbVkdBX0NSVENfT1ZF UkZMT1ddID0gKHMtPmNyW1ZHQV9DUlRDX09WRVJGTE9XXSAmIH4weDEwKSB8 CiAgICAgICAgICAgICAgICAgICAgICh2YWwgJiAweDEwKTsKKyAgICAgICAg ICAgICAgICB2YmVfdXBkYXRlX3ZnYXJlZ3Mocyk7CiAgICAgICAgICAgICB9 CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgcy0+ Y3Jbcy0+Y3JfaW5kZXhdID0gdmFsOworICAgICAgICB2YmVfdXBkYXRlX3Zn YXJlZ3Mocyk7CiAKICAgICAgICAgc3dpdGNoKHMtPmNyX2luZGV4KSB7CiAg ICAgICAgIGNhc2UgVkdBX0NSVENfSF9UT1RBTDoKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.4-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.4-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Transfer-Encoding: base64 RnJvbSAyNTkzNWZkMWVkM2M0MzM3YWE0YjYxOTAyZWM1ODBlMTdiMTMwYjYz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAw ODo0OToxMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSB2Z2E6IGZpeCBi YW5rZWQgYWNjZXNzIGJvdW5kcyBjaGVja2luZyAoQ1ZFLTIwMTYtMzcxMCkK CnZnYSBhbGxvd3MgYmFua2VkIGFjY2VzcyB0byB2aWRlbyBtZW1vcnkgdXNp bmcgdGhlIHdpbmRvdyBhdCAweGEwMDAwMAphbmQgaXQgc3VwcG9ydHMgYSBk aWZmZXJlbnQgYWNjZXNzIG1vZGVzIHdpdGggZGlmZmVyZW50IGFkZHJlc3MK Y2FsY3VsYXRpb25zLgoKVGhlIFZCRSBib2NocyBleHRlbnRpb25zIHN1cHBv cnQgYmFua2VkIGFjY2VzcyB0b28sIHVzaW5nIHRoZQpWQkVfRElTUElfSU5E RVhfQkFOSyByZWdpc3Rlci4gIFRoZSBjb2RlIHRyaWVzIHRvIHRha2UgdGhl IGRpZmZlcmVudAphZGRyZXNzIGNhbGN1bGF0aW9ucyBpbnRvIGFjY291bnQg YW5kIGFwcGxpZXMgZGlmZmVyZW50IGxpbWl0cyB0bwpWQkVfRElTUElfSU5E RVhfQkFOSyBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgYWNjZXNzIG1vZGUu CgpXaGljaCBpcyBwcm9iYWJseSBlZmZlY3RpdmUgaW4gc3RvcHBpbmcgbWlz cHJvZ3JhbW1pbmcgYnkgYWNjaWRlbnQuCkJ1dCBmcm9tIGEgc2VjdXJpdHkg cG9pbnQgb2YgdmlldyBjb21wbGV0ZWx5IHVzZWxlc3MgYXMgYW4gYXR0YWNr ZXIKY2FuIGVhc2lseSBjaGFuZ2UgYWNjZXNzIG1vZGVzIGFmdGVyIHNldHRp bmcgdGhlIGJhbmsgcmVnaXN0ZXIuCgpEcm9wIHRoZSBib2d1cyBjaGVjaywg YWRkIHJhbmdlIGNoZWNrcyB0byB2Z2FfbWVtX3tyZWFkYix3cml0ZWJ9Cmlu c3RlYWQuCgpGaXhlczogQ1ZFLTIwMTYtMzcxMApSZXBvcnRlZC1ieTogUWlu Z2hhbyBUYW5nIDxsdW9kYWxvbmdkZUBnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQt b2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5l bC5vcmc+Ci0tLQogaHcvZGlzcGxheS92Z2EuYyB8IDI0ICsrKysrKysrKysr KysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMo KyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92 Z2EuYyBiL2h3L2Rpc3BsYXkvdmdhLmMKaW5kZXggNDMwZTdlZC4uNjllMjU1 NCAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNw bGF5L3ZnYS5jCkBAIC0xOTcsNiArMTk3LDcgQEAgc3RhdGljIHZvaWQgdmdh X3VwZGF0ZV9tZW1vcnlfYWNjZXNzKFZHQUNvbW1vblN0YXRlICpzKQogICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgYmFzZSArPSBp c2FfbWVtX2Jhc2U7CisgICAgICAgIGFzc2VydChvZmZzZXQgKyBzaXplIDw9 IHMtPnZyYW1fc2l6ZSk7CiAgICAgICAgIHJlZ2lvbiA9IGdfbWFsbG9jKHNp emVvZigqcmVnaW9uKSk7CiAgICAgICAgIG1lbW9yeV9yZWdpb25faW5pdF9h bGlhcyhyZWdpb24sIG1lbW9yeV9yZWdpb25fb3duZXIoJnMtPnZyYW0pLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZnYS5jaGFpbjQi LCAmcy0+dnJhbSwgb2Zmc2V0LCBzaXplKTsKQEAgLTc0NSwxMSArNzQ2LDcg QEAgdm9pZCB2YmVfaW9wb3J0X3dyaXRlX2RhdGEodm9pZCAqb3BhcXVlLCB1 aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiAgICAgICAgICAgICB2YmVf Zml4dXBfcmVncyhzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj YXNlIFZCRV9ESVNQSV9JTkRFWF9CQU5LOgotICAgICAgICAgICAgaWYgKHMt PnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9CUFBdID09IDQpIHsKLSAgICAg ICAgICAgICAgdmFsICY9IChzLT52YmVfYmFua19tYXNrID4+IDIpOwotICAg ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgdmFsICY9IHMtPnZi ZV9iYW5rX21hc2s7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICB2YWwg Jj0gcy0+dmJlX2JhbmtfbWFzazsKICAgICAgICAgICAgIHMtPnZiZV9yZWdz W3MtPnZiZV9pbmRleF0gPSB2YWw7CiAgICAgICAgICAgICBzLT5iYW5rX29m ZnNldCA9ICh2YWwgPDwgMTYpOwogICAgICAgICAgICAgdmdhX3VwZGF0ZV9t ZW1vcnlfYWNjZXNzKHMpOwpAQCAtODUwLDEzICs4NDcsMjEgQEAgdWludDMy X3QgdmdhX21lbV9yZWFkYihWR0FDb21tb25TdGF0ZSAqcywgaHdhZGRyIGFk ZHIpCiAKICAgICBpZiAocy0+c3JbVkdBX1NFUV9NRU1PUllfTU9ERV0gJiBW R0FfU1IwNF9DSE5fNE0pIHsKICAgICAgICAgLyogY2hhaW4gNCBtb2RlIDog c2ltcGxlc3QgYWNjZXNzICovCisgICAgICAgIGFzc2VydChhZGRyIDwgcy0+ dnJhbV9zaXplKTsKICAgICAgICAgcmV0ID0gcy0+dnJhbV9wdHJbYWRkcl07 CiAgICAgfSBlbHNlIGlmIChzLT5ncltWR0FfR0ZYX01PREVdICYgMHgxMCkg ewogICAgICAgICAvKiBvZGQvZXZlbiBtb2RlIChha2EgdGV4dCBtb2RlIG1h cHBpbmcpICovCiAgICAgICAgIHBsYW5lID0gKHMtPmdyW1ZHQV9HRlhfUExB TkVfUkVBRF0gJiAyKSB8IChhZGRyICYgMSk7Ci0gICAgICAgIHJldCA9IHMt PnZyYW1fcHRyWygoYWRkciAmIH4xKSA8PCAxKSB8IHBsYW5lXTsKKyAgICAg ICAgYWRkciA9ICgoYWRkciAmIH4xKSA8PCAxKSB8IHBsYW5lOworICAgICAg ICBpZiAoYWRkciA+PSBzLT52cmFtX3NpemUpIHsKKyAgICAgICAgICAgIHJl dHVybiAweGZmOworICAgICAgICB9CisgICAgICAgIHJldCA9IHMtPnZyYW1f cHRyW2FkZHJdOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8qIHN0YW5kYXJk IFZHQSBsYXRjaGVkIGFjY2VzcyAqLworICAgICAgICBpZiAoYWRkciAqIHNp emVvZih1aW50MzJfdCkgPj0gcy0+dnJhbV9zaXplKSB7CisgICAgICAgICAg ICByZXR1cm4gMHhmZjsKKyAgICAgICAgfQogICAgICAgICBzLT5sYXRjaCA9 ICgodWludDMyX3QgKilzLT52cmFtX3B0cilbYWRkcl07CiAKICAgICAgICAg aWYgKCEocy0+Z3JbVkdBX0dGWF9NT0RFXSAmIDB4MDgpKSB7CkBAIC05MTMs NiArOTE4LDcgQEAgdm9pZCB2Z2FfbWVtX3dyaXRlYihWR0FDb21tb25TdGF0 ZSAqcywgaHdhZGRyIGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAgcGxh bmUgPSBhZGRyICYgMzsKICAgICAgICAgbWFzayA9ICgxIDw8IHBsYW5lKTsK ICAgICAgICAgaWYgKHMtPnNyW1ZHQV9TRVFfUExBTkVfV1JJVEVdICYgbWFz aykgeworICAgICAgICAgICAgYXNzZXJ0KGFkZHIgPCBzLT52cmFtX3NpemUp OwogICAgICAgICAgICAgcy0+dnJhbV9wdHJbYWRkcl0gPSB2YWw7CiAjaWZk ZWYgREVCVUdfVkdBX01FTQogICAgICAgICAgICAgcHJpbnRmKCJ2Z2E6IGNo YWluNDogWzB4IiBUQVJHRVRfRk1UX3BseCAiXVxuIiwgYWRkcik7CkBAIC05 MjYsNiArOTMyLDkgQEAgdm9pZCB2Z2FfbWVtX3dyaXRlYihWR0FDb21tb25T dGF0ZSAqcywgaHdhZGRyIGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAg bWFzayA9ICgxIDw8IHBsYW5lKTsKICAgICAgICAgaWYgKHMtPnNyW1ZHQV9T RVFfUExBTkVfV1JJVEVdICYgbWFzaykgewogICAgICAgICAgICAgYWRkciA9 ICgoYWRkciAmIH4xKSA8PCAxKSB8IHBsYW5lOworICAgICAgICAgICAgaWYg KGFkZHIgPj0gcy0+dnJhbV9zaXplKSB7CisgICAgICAgICAgICAgICAgcmV0 dXJuOworICAgICAgICAgICAgfQogICAgICAgICAgICAgcy0+dnJhbV9wdHJb YWRkcl0gPSB2YWw7CiAjaWZkZWYgREVCVUdfVkdBX01FTQogICAgICAgICAg ICAgcHJpbnRmKCJ2Z2E6IG9kZC9ldmVuOiBbMHgiIFRBUkdFVF9GTVRfcGx4 ICJdXG4iLCBhZGRyKTsKQEAgLTk5OSw2ICsxMDA4LDkgQEAgdm9pZCB2Z2Ff bWVtX3dyaXRlYihWR0FDb21tb25TdGF0ZSAqcywgaHdhZGRyIGFkZHIsIHVp bnQzMl90IHZhbCkKICAgICAgICAgbWFzayA9IHMtPnNyW1ZHQV9TRVFfUExB TkVfV1JJVEVdOwogICAgICAgICBzLT5wbGFuZV91cGRhdGVkIHw9IG1hc2s7 IC8qIG9ubHkgdXNlZCB0byBkZXRlY3QgZm9udCBjaGFuZ2UgKi8KICAgICAg ICAgd3JpdGVfbWFzayA9IG1hc2sxNlttYXNrXTsKKyAgICAgICAgaWYgKGFk ZHIgKiBzaXplb2YodWludDMyX3QpID49IHMtPnZyYW1fc2l6ZSkgeworICAg ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgICAgICgodWludDMy X3QgKilzLT52cmFtX3B0cilbYWRkcl0gPQogICAgICAgICAgICAgKCgodWlu dDMyX3QgKilzLT52cmFtX3B0cilbYWRkcl0gJiB+d3JpdGVfbWFzaykgfAog ICAgICAgICAgICAgKHZhbCAmIHdyaXRlX21hc2spOwotLSAKMS45LjEKCg== --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.4-0002-vga-add-vbe_enabled-helper.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.4-0002-vga-add-vbe_enabled-helper.patch" Content-Transfer-Encoding: base64 RnJvbSAyOTRhNmMxNWEzODY2OWY4MDkyMGI4ODUyODcxOTE1MTRhYjdkOWZm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDoxMTozNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSB2Z2E6IGFkZCB2 YmVfZW5hYmxlZCgpIGhlbHBlcgoKTWFrZXMgY29kZSBhIGJpdCBlYXNpZXIg dG8gcmVhZC4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhl bEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxp bmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0tLQogaHcvZGlzcGxheS92 Z2EuYyB8IDEzICsrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcv ZGlzcGxheS92Z2EuYyBiL2h3L2Rpc3BsYXkvdmdhLmMKaW5kZXggNjllMjU1 NC4uZGExZWI0YSAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS92Z2EuYworKysg Yi9ody9kaXNwbGF5L3ZnYS5jCkBAIC0xNjYsNiArMTY2LDExIEBAIHN0YXRp YyB1aW50MzJfdCBleHBhbmQ0WzI1Nl07CiBzdGF0aWMgdWludDE2X3QgZXhw YW5kMlsyNTZdOwogc3RhdGljIHVpbnQ4X3QgZXhwYW5kNHRvOFsxNl07CiAK K3N0YXRpYyBpbmxpbmUgYm9vbCB2YmVfZW5hYmxlZChWR0FDb21tb25TdGF0 ZSAqcykKK3sKKyAgICByZXR1cm4gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lO REVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxFRDsKK30KKwogc3RhdGlj IHZvaWQgdmdhX3VwZGF0ZV9tZW1vcnlfYWNjZXNzKFZHQUNvbW1vblN0YXRl ICpzKQogewogICAgIE1lbW9yeVJlZ2lvbiAqcmVnaW9uLCAqb2xkX3JlZ2lv biA9IHMtPmNoYWluNF9hbGlhczsKQEAgLTU5Myw3ICs1OTgsNyBAQCBzdGF0 aWMgdm9pZCB2YmVfZml4dXBfcmVncyhWR0FDb21tb25TdGF0ZSAqcykKICAg ICB1aW50MTZfdCAqciA9IHMtPnZiZV9yZWdzOwogICAgIHVpbnQzMl90IGJp dHMsIGxpbmVsZW5ndGgsIG1heHksIG9mZnNldDsKIAotICAgIGlmICghKHJb VkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxFRCkp IHsKKyAgICBpZiAoIXZiZV9lbmFibGVkKHMpKSB7CiAgICAgICAgIC8qIHZi ZSBpcyB0dXJuZWQgb2ZmIC0tIG5vdGhpbmcgdG8gZG8gKi8KICAgICAgICAg cmV0dXJuOwogICAgIH0KQEAgLTExNzQsNyArMTE3OSw3IEBAIHN0YXRpYyB2 b2lkIHZnYV9nZXRfb2Zmc2V0cyhWR0FDb21tb25TdGF0ZSAqcywKIHsKICAg ICB1aW50MzJfdCBzdGFydF9hZGRyLCBsaW5lX29mZnNldCwgbGluZV9jb21w YXJlOwogCi0gICAgaWYgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9F TkFCTEVdICYgVkJFX0RJU1BJX0VOQUJMRUQpIHsKKyAgICBpZiAodmJlX2Vu YWJsZWQocykpIHsKICAgICAgICAgbGluZV9vZmZzZXQgPSBzLT52YmVfbGlu ZV9vZmZzZXQ7CiAgICAgICAgIHN0YXJ0X2FkZHIgPSBzLT52YmVfc3RhcnRf YWRkcjsKICAgICAgICAgbGluZV9jb21wYXJlID0gNjU1MzU7CkBAIC0xNjI3 LDcgKzE2MzIsNyBAQCBzdGF0aWMgaW50IHZnYV9nZXRfYnBwKFZHQUNvbW1v blN0YXRlICpzKQogewogICAgIGludCByZXQ7CiAKLSAgICBpZiAocy0+dmJl X3JlZ3NbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5B QkxFRCkgeworICAgIGlmICh2YmVfZW5hYmxlZChzKSkgewogICAgICAgICBy ZXQgPSBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfQlBQXTsKICAgICB9 IGVsc2UgewogICAgICAgICByZXQgPSAwOwpAQCAtMTYzOSw3ICsxNjQ0LDcg QEAgc3RhdGljIHZvaWQgdmdhX2dldF9yZXNvbHV0aW9uKFZHQUNvbW1vblN0 YXRlICpzLCBpbnQgKnB3aWR0aCwgaW50ICpwaGVpZ2h0KQogewogICAgIGlu dCB3aWR0aCwgaGVpZ2h0OwogCi0gICAgaWYgKHMtPnZiZV9yZWdzW1ZCRV9E SVNQSV9JTkRFWF9FTkFCTEVdICYgVkJFX0RJU1BJX0VOQUJMRUQpIHsKKyAg ICBpZiAodmJlX2VuYWJsZWQocykpIHsKICAgICAgICAgd2lkdGggPSBzLT52 YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWFJFU107CiAgICAgICAgIGhlaWdo dCA9IHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9ZUkVTXTsKICAgICB9 IGVsc2UgewotLSAKMS45LjEKCg== --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.4-0003-vga-factor-out-vga-register-setup.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.4-0003-vga-factor-out-vga-register-setup.patch" Content-Transfer-Encoding: base64 RnJvbSBkMzc3OTE4YzIzZDg1ZjY0ZDAxOTE0YjQzYmZhYmMwYTQ2ZmU5NzRh IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NToyNDoxOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy81XSB2Z2E6IGZhY3Rv ciBvdXQgdmdhIHJlZ2lzdGVyIHNldHVwCgpXaGVuIGVuYWJsaW5nIHZiZSBt b2RlIHFlbXUgd2lsbCBzZXR1cCBhIGJ1bmNoIG9mIHZnYSByZWdpc3RlcnMg dG8gbWFrZQpzdXJlIHRoZSB2Z2EgZW11bGF0aW9uIG9wZXJhdGVzIGluIGNv cnJlY3QgbW9kZSBmb3IgYSBsaW5lYXIKZnJhbWVidWZmZXIuICBNb3ZlIHRo YXQgY29kZSB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uIHNvIHdlIGNhbiBjYWxs IGl0CmZyb20gb3RoZXIgcGxhY2VzIHRvby4KClNpZ25lZC1vZmYtYnk6IEdl cmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5 OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ Ci0tLQogaHcvZGlzcGxheS92Z2EuYyB8IDc5ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92Z2EuYyBiL2h3L2Rpc3BsYXkv dmdhLmMKaW5kZXggZGExZWI0YS4uY2Y1Zjk3ZSAxMDA2NDQKLS0tIGEvaHcv ZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNwbGF5L3ZnYS5jCkBAIC02NzMs NiArNjczLDQ5IEBAIHN0YXRpYyB2b2lkIHZiZV9maXh1cF9yZWdzKFZHQUNv bW1vblN0YXRlICpzKQogICAgIHMtPnZiZV9zdGFydF9hZGRyICA9IG9mZnNl dCAvIDQ7CiB9CiAKKy8qIHdlIGluaXRpYWxpemUgdGhlIFZHQSBncmFwaGlj IG1vZGUgKi8KK3N0YXRpYyB2b2lkIHZiZV91cGRhdGVfdmdhcmVncyhWR0FD b21tb25TdGF0ZSAqcykKK3sKKyAgICBpbnQgaCwgc2hpZnRfY29udHJvbDsK KworICAgIGlmICghdmJlX2VuYWJsZWQocykpIHsKKyAgICAgICAgLyogdmJl IGlzIHR1cm5lZCBvZmYgLS0gbm90aGluZyB0byBkbyAqLworICAgICAgICBy ZXR1cm47CisgICAgfQorCisgICAgLyogZ3JhcGhpYyBtb2RlICsgbWVtb3J5 IG1hcCAxICovCisgICAgcy0+Z3JbVkdBX0dGWF9NSVNDXSA9IChzLT5ncltW R0FfR0ZYX01JU0NdICYgfjB4MGMpIHwgMHgwNCB8CisgICAgICAgIFZHQV9H UjA2X0dSQVBISUNTX01PREU7CisgICAgcy0+Y3JbVkdBX0NSVENfTU9ERV0g fD0gMzsgLyogbm8gQ0dBIG1vZGVzICovCisgICAgcy0+Y3JbVkdBX0NSVENf T0ZGU0VUXSA9IHMtPnZiZV9saW5lX29mZnNldCA+PiAzOworICAgIC8qIHdp ZHRoICovCisgICAgcy0+Y3JbVkdBX0NSVENfSF9ESVNQXSA9CisgICAgICAg IChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWFJFU10gPj4gMykgLSAx OworICAgIC8qIGhlaWdodCAob25seSBtZWFuaW5nZnVsIGlmIDwgMTAyNCkg Ki8KKyAgICBoID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1lSRVNd IC0gMTsKKyAgICBzLT5jcltWR0FfQ1JUQ19WX0RJU1BfRU5EXSA9IGg7Cisg ICAgcy0+Y3JbVkdBX0NSVENfT1ZFUkZMT1ddID0gKHMtPmNyW1ZHQV9DUlRD X09WRVJGTE9XXSAmIH4weDQyKSB8CisgICAgICAgICgoaCA+PiA3KSAmIDB4 MDIpIHwgKChoID4+IDMpICYgMHg0MCk7CisgICAgLyogbGluZSBjb21wYXJl IHRvIDEwMjMgKi8KKyAgICBzLT5jcltWR0FfQ1JUQ19MSU5FX0NPTVBBUkVd ID0gMHhmZjsKKyAgICBzLT5jcltWR0FfQ1JUQ19PVkVSRkxPV10gfD0gMHgx MDsKKyAgICBzLT5jcltWR0FfQ1JUQ19NQVhfU0NBTl0gfD0gMHg0MDsKKwor ICAgIGlmIChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfQlBQXSA9PSA0 KSB7CisgICAgICAgIHNoaWZ0X2NvbnRyb2wgPSAwOworICAgICAgICBzLT5z cltWR0FfU0VRX0NMT0NLX01PREVdICY9IH44OyAvKiBubyBkb3VibGUgbGlu ZSAqLworICAgIH0gZWxzZSB7CisgICAgICAgIHNoaWZ0X2NvbnRyb2wgPSAy OworICAgICAgICAvKiBzZXQgY2hhaW4gNCBtb2RlICovCisgICAgICAgIHMt PnNyW1ZHQV9TRVFfTUVNT1JZX01PREVdIHw9IFZHQV9TUjA0X0NITl80TTsK KyAgICAgICAgLyogYWN0aXZhdGUgYWxsIHBsYW5lcyAqLworICAgICAgICBz LT5zcltWR0FfU0VRX1BMQU5FX1dSSVRFXSB8PSBWR0FfU1IwMl9BTExfUExB TkVTOworICAgIH0KKyAgICBzLT5ncltWR0FfR0ZYX01PREVdID0gKHMtPmdy W1ZHQV9HRlhfTU9ERV0gJiB+MHg2MCkgfAorICAgICAgICAoc2hpZnRfY29u dHJvbCA8PCA1KTsKKyAgICBzLT5jcltWR0FfQ1JUQ19NQVhfU0NBTl0gJj0g fjB4OWY7IC8qIG5vIGRvdWJsZSBzY2FuICovCit9CisKIHN0YXRpYyB1aW50 MzJfdCB2YmVfaW9wb3J0X3JlYWRfaW5kZXgodm9pZCAqb3BhcXVlLCB1aW50 MzJfdCBhZGRyKQogewogICAgIFZHQUNvbW1vblN0YXRlICpzID0gb3BhcXVl OwpAQCAtNzU5LDUzICs4MDIsMTkgQEAgdm9pZCB2YmVfaW9wb3J0X3dyaXRl X2RhdGEodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2 YWwpCiAgICAgICAgIGNhc2UgVkJFX0RJU1BJX0lOREVYX0VOQUJMRToKICAg ICAgICAgICAgIGlmICgodmFsICYgVkJFX0RJU1BJX0VOQUJMRUQpICYmCiAg ICAgICAgICAgICAgICAgIShzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhf RU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVEKSkgewotICAgICAgICAgICAg ICAgIGludCBoLCBzaGlmdF9jb250cm9sOwogCiAgICAgICAgICAgICAgICAg cy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1ZJUlRfV0lEVEhdID0gMDsK ICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhf WF9PRkZTRVRdID0gMDsKICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tW QkVfRElTUElfSU5ERVhfWV9PRkZTRVRdID0gMDsKICAgICAgICAgICAgICAg ICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfRU5BQkxFXSB8PSBWQkVf RElTUElfRU5BQkxFRDsKICAgICAgICAgICAgICAgICB2YmVfZml4dXBfcmVn cyhzKTsKKyAgICAgICAgICAgICAgICB2YmVfdXBkYXRlX3ZnYXJlZ3Mocyk7 CiAKICAgICAgICAgICAgICAgICAvKiBjbGVhciB0aGUgc2NyZWVuIChzaG91 bGQgYmUgZG9uZSBpbiBCSU9TKSAqLwogICAgICAgICAgICAgICAgIGlmICgh KHZhbCAmIFZCRV9ESVNQSV9OT0NMRUFSTUVNKSkgewogICAgICAgICAgICAg ICAgICAgICBtZW1zZXQocy0+dnJhbV9wdHIsIDAsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWVJF U10gKiBzLT52YmVfbGluZV9vZmZzZXQpOwogICAgICAgICAgICAgICAgIH0K LQotICAgICAgICAgICAgICAgIC8qIHdlIGluaXRpYWxpemUgdGhlIFZHQSBn cmFwaGljIG1vZGUgKHNob3VsZCBiZSBkb25lCi0gICAgICAgICAgICAgICAg ICAgaW4gQklPUykgKi8KLSAgICAgICAgICAgICAgICAvKiBncmFwaGljIG1v ZGUgKyBtZW1vcnkgbWFwIDEgKi8KLSAgICAgICAgICAgICAgICBzLT5ncltW R0FfR0ZYX01JU0NdID0gKHMtPmdyW1ZHQV9HRlhfTUlTQ10gJiB+MHgwYykg fCAweDA0IHwKLSAgICAgICAgICAgICAgICAgICAgVkdBX0dSMDZfR1JBUEhJ Q1NfTU9ERTsKLSAgICAgICAgICAgICAgICBzLT5jcltWR0FfQ1JUQ19NT0RF XSB8PSAzOyAvKiBubyBDR0EgbW9kZXMgKi8KLSAgICAgICAgICAgICAgICBz LT5jcltWR0FfQ1JUQ19PRkZTRVRdID0gcy0+dmJlX2xpbmVfb2Zmc2V0ID4+ IDM7Ci0gICAgICAgICAgICAgICAgLyogd2lkdGggKi8KLSAgICAgICAgICAg ICAgICBzLT5jcltWR0FfQ1JUQ19IX0RJU1BdID0KLSAgICAgICAgICAgICAg ICAgICAgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9YUkVTXSA+PiAz KSAtIDE7Ci0gICAgICAgICAgICAgICAgLyogaGVpZ2h0IChvbmx5IG1lYW5p bmdmdWwgaWYgPCAxMDI0KSAqLwotICAgICAgICAgICAgICAgIGggPSBzLT52 YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWVJFU10gLSAxOwotICAgICAgICAg ICAgICAgIHMtPmNyW1ZHQV9DUlRDX1ZfRElTUF9FTkRdID0gaDsKLSAgICAg ICAgICAgICAgICBzLT5jcltWR0FfQ1JUQ19PVkVSRkxPV10gPSAocy0+Y3Jb VkdBX0NSVENfT1ZFUkZMT1ddICYgfjB4NDIpIHwKLSAgICAgICAgICAgICAg ICAgICAgKChoID4+IDcpICYgMHgwMikgfCAoKGggPj4gMykgJiAweDQwKTsK LSAgICAgICAgICAgICAgICAvKiBsaW5lIGNvbXBhcmUgdG8gMTAyMyAqLwot ICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX0xJTkVfQ09NUEFSRV0g PSAweGZmOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX09WRVJG TE9XXSB8PSAweDEwOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRD X01BWF9TQ0FOXSB8PSAweDQwOwotCi0gICAgICAgICAgICAgICAgaWYgKHMt PnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9CUFBdID09IDQpIHsKLSAgICAg ICAgICAgICAgICAgICAgc2hpZnRfY29udHJvbCA9IDA7Ci0gICAgICAgICAg ICAgICAgICAgIHMtPnNyW1ZHQV9TRVFfQ0xPQ0tfTU9ERV0gJj0gfjg7IC8q IG5vIGRvdWJsZSBsaW5lICovCi0gICAgICAgICAgICAgICAgfSBlbHNlIHsK LSAgICAgICAgICAgICAgICAgICAgc2hpZnRfY29udHJvbCA9IDI7Ci0gICAg ICAgICAgICAgICAgICAgIC8qIHNldCBjaGFpbiA0IG1vZGUgKi8KLSAgICAg ICAgICAgICAgICAgICAgcy0+c3JbVkdBX1NFUV9NRU1PUllfTU9ERV0gfD0g VkdBX1NSMDRfQ0hOXzRNOwotICAgICAgICAgICAgICAgICAgICAvKiBhY3Rp dmF0ZSBhbGwgcGxhbmVzICovCi0gICAgICAgICAgICAgICAgICAgIHMtPnNy W1ZHQV9TRVFfUExBTkVfV1JJVEVdIHw9IFZHQV9TUjAyX0FMTF9QTEFORVM7 Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHMtPmdyW1ZH QV9HRlhfTU9ERV0gPSAocy0+Z3JbVkdBX0dGWF9NT0RFXSAmIH4weDYwKSB8 Ci0gICAgICAgICAgICAgICAgICAgIChzaGlmdF9jb250cm9sIDw8IDUpOwot ICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX01BWF9TQ0FOXSAmPSB+ MHg5ZjsgLyogbm8gZG91YmxlIHNjYW4gKi8KICAgICAgICAgICAgIH0gZWxz ZSB7CiAgICAgICAgICAgICAgICAgLyogWFhYOiB0aGUgYmlvcyBzaG91bGQg ZG8gdGhhdCAqLwogICAgICAgICAgICAgICAgIHMtPmJhbmtfb2Zmc2V0ID0g MDsKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.4-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.4-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Transfer-Encoding: base64 RnJvbSBmYmNmZjgyY2Q3OTk4ZjkzNTU2YzI4ZGZjNjNiYmJkN2IyMDZjOGNl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NTozOToyMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNC81XSB2Z2E6IHVwZGF0 ZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgb24gdmJlIGNoYW5nZXMKCkNhbGwgdGhl IG5ldyB2YmVfdXBkYXRlX3ZnYXJlZ3MoKSBmdW5jdGlvbiBvbiB2YmUgY29u ZmlndXJhdGlvbgpjaGFuZ2VzLCB0byBtYWtlIHN1cmUgdmdhIHJlZ2lzdGVy cyBhcmUgdXAtdG8tZGF0ZS4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1h bm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5v IFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0tLQogaHcv ZGlzcGxheS92Z2EuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspCgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92Z2EuYyBiL2h3L2Rp c3BsYXkvdmdhLmMKaW5kZXggY2Y1Zjk3ZS4uNjNkMWE3MCAxMDA2NDQKLS0t IGEvaHcvZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNwbGF5L3ZnYS5jCkBA IC03OTIsNiArNzkyLDcgQEAgdm9pZCB2YmVfaW9wb3J0X3dyaXRlX2RhdGEo dm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiAg ICAgICAgIGNhc2UgVkJFX0RJU1BJX0lOREVYX1lfT0ZGU0VUOgogICAgICAg ICAgICAgcy0+dmJlX3JlZ3Nbcy0+dmJlX2luZGV4XSA9IHZhbDsKICAgICAg ICAgICAgIHZiZV9maXh1cF9yZWdzKHMpOworICAgICAgICAgICAgdmJlX3Vw ZGF0ZV92Z2FyZWdzKHMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg IGNhc2UgVkJFX0RJU1BJX0lOREVYX0JBTks6CiAgICAgICAgICAgICB2YWwg Jj0gcy0+dmJlX2JhbmtfbWFzazsKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.4-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.4-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Transfer-Encoding: base64 RnJvbSBmNzkyNmM3MzY4NWMyYmM3MTI0MjY1ZjU2N2JhZmI1MDI4NjRjNWRk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDo0ODowNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNS81XSB2Z2E6IG1ha2Ug c3VyZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgZm9yIHZiZSBzdGF5cyBpbnRhY3QK IChDVkUtMjAxNi0zNzEyKS4KCkNhbGwgdmJlX3VwZGF0ZV92Z2FyZWdzKCkg d2hlbiB0aGUgZ3Vlc3QgdG91Y2hlcyBHRlgsIFNFUSBvciBDUlQKcmVnaXN0 ZXJzLCB0byBtYWtlIHN1cmUgdGhlIHZnYSByZWdpc3RlcnMgd2lsbCBhbHdh eXMgaGF2ZSB0aGUKdmFsdWVzIG5lZWRlZCBieSB2YmUgbW9kZS4gIFRoaXMg bWFrZXMgc3VyZSB0aGUgc2FuaXR5IGNoZWNrcwphcHBsaWVkIGJ5IHZiZV9m aXh1cF9yZWdzKCkgYXJlIGVmZmVjdGl2ZS4KCldpdGhvdXQgdGhpcyBndWVz dHMgY2FuIG11Y2sgd2l0aCBzaGlmdF9jb250cm9sLCBjYW4gdHVybiBvbiBw bGFuYXIKdmdhIG1vZGVzIG9yIHRleHQgbW9kZSBlbXVsYXRpb24gd2hpbGUg VkJFIGlzIGFjdGl2ZSwgbWFraW5nIHFlbXUKdGFrZSBjb2RlIHBhdGhzIG1l YW50IGZvciBDR0EgY29tcGF0aWJpbGl0eSwgYnV0IHdpdGggdGhlIHZlcnkK bGFyZ2UgZGlzcGxheSB3aWR0aHMgYW5kIGhlaWd0cyBzZXR0YWJsZSB1c2lu ZyBWQkUgcmVnaXN0ZXJzLgoKV2hpY2ggaXMgZ29vZCBmb3Igb25lIG9yIGFu b3RoZXIgYnVmZmVyIG92ZXJmbG93LiAgTm90IHRoYXQKY3JpdGljYWwgYXMg dGhleSB0eXBpY2FsbHkgcmVhZCBvdmVyZmxvd3MgaGFwcGVuaW5nIHNvbWV3 aGVyZQppbiB0aGUgZGlzcGxheSBjb2RlLiAgU28gZ3Vlc3RzIGNhbiBEb1Mg YnkgY3Jhc2hpbmcgcWVtdSB3aXRoIGEKc2VnZmF1bHQsIGJ1dCBpdCBpcyBw cm9iYWJseSBub3QgcG9zc2libGUgdG8gYnJlYWsgb3V0IG9mIHRoZSBWTS4K CkZpeGVzOiBDVkUtMjAxNi0zNzEyClJlcG9ydGVkLWJ5OiBadW96aGkgRnp6 IDx6dW96aGkuZnp6QGFsaWJhYmEtaW5jLmNvbT4KUmVwb3J0ZWQtYnk6IFAg SiBQIDxwcGFuZGl0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IEdlcmQg SG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBT dGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0t LQogaHcvZGlzcGxheS92Z2EuYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92 Z2EuYyBiL2h3L2Rpc3BsYXkvdmdhLmMKaW5kZXggNjNkMWE3MC4uZGQ2MTI0 NiAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNw bGF5L3ZnYS5jCkBAIC0xNjYsNiArMTY2LDggQEAgc3RhdGljIHVpbnQzMl90 IGV4cGFuZDRbMjU2XTsKIHN0YXRpYyB1aW50MTZfdCBleHBhbmQyWzI1Nl07 CiBzdGF0aWMgdWludDhfdCBleHBhbmQ0dG84WzE2XTsKIAorc3RhdGljIHZv aWQgdmJlX3VwZGF0ZV92Z2FyZWdzKFZHQUNvbW1vblN0YXRlICpzKTsKKwog c3RhdGljIGlubGluZSBib29sIHZiZV9lbmFibGVkKFZHQUNvbW1vblN0YXRl ICpzKQogewogICAgIHJldHVybiBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5E RVhfRU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVEOwpAQCAtNTEzLDYgKzUx NSw3IEBAIHZvaWQgdmdhX2lvcG9ydF93cml0ZSh2b2lkICpvcGFxdWUsIHVp bnQzMl90IGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAgcHJpbnRmKCJ2 Z2E6IHdyaXRlIFNSJXggPSAweCUwMnhcbiIsIHMtPnNyX2luZGV4LCB2YWwp OwogI2VuZGlmCiAgICAgICAgIHMtPnNyW3MtPnNyX2luZGV4XSA9IHZhbCAm IHNyX21hc2tbcy0+c3JfaW5kZXhdOworICAgICAgICB2YmVfdXBkYXRlX3Zn YXJlZ3Mocyk7CiAgICAgICAgIGlmIChzLT5zcl9pbmRleCA9PSBWR0FfU0VR X0NMT0NLX01PREUpIHsKICAgICAgICAgICAgIHMtPnVwZGF0ZV9yZXRyYWNl X2luZm8ocyk7CiAgICAgICAgIH0KQEAgLTU0NCw2ICs1NDcsNyBAQCB2b2lk IHZnYV9pb3BvcnRfd3JpdGUodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRy LCB1aW50MzJfdCB2YWwpCiAgICAgICAgIHByaW50ZigidmdhOiB3cml0ZSBH UiV4ID0gMHglMDJ4XG4iLCBzLT5ncl9pbmRleCwgdmFsKTsKICNlbmRpZgog ICAgICAgICBzLT5ncltzLT5ncl9pbmRleF0gPSB2YWwgJiBncl9tYXNrW3Mt PmdyX2luZGV4XTsKKyAgICAgICAgdmJlX3VwZGF0ZV92Z2FyZWdzKHMpOwog ICAgICAgICB2Z2FfdXBkYXRlX21lbW9yeV9hY2Nlc3Mocyk7CiAgICAgICAg IGJyZWFrOwogICAgIGNhc2UgVkdBX0NSVF9JTToKQEAgLTU2MiwxMCArNTY2 LDEyIEBAIHZvaWQgdmdhX2lvcG9ydF93cml0ZSh2b2lkICpvcGFxdWUsIHVp bnQzMl90IGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAgICAgIGlmIChz LT5jcl9pbmRleCA9PSBWR0FfQ1JUQ19PVkVSRkxPVykgewogICAgICAgICAg ICAgICAgIHMtPmNyW1ZHQV9DUlRDX09WRVJGTE9XXSA9IChzLT5jcltWR0Ff Q1JUQ19PVkVSRkxPV10gJiB+MHgxMCkgfAogICAgICAgICAgICAgICAgICAg ICAodmFsICYgMHgxMCk7CisgICAgICAgICAgICAgICAgdmJlX3VwZGF0ZV92 Z2FyZWdzKHMpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJu OwogICAgICAgICB9CiAgICAgICAgIHMtPmNyW3MtPmNyX2luZGV4XSA9IHZh bDsKKyAgICAgICAgdmJlX3VwZGF0ZV92Z2FyZWdzKHMpOwogCiAgICAgICAg IHN3aXRjaChzLT5jcl9pbmRleCkgewogICAgICAgICBjYXNlIFZHQV9DUlRD X0hfVE9UQUw6Ci0tIAoxLjkuMQoK --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.5-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.5-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Transfer-Encoding: base64 RnJvbSBjOWExYTJkN2JmM2RiNTRiNzk2MWRmNGI4YTMwOTQ2YTc2N2I0ODUz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAw ODo0OToxMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSB2Z2E6IGZpeCBi YW5rZWQgYWNjZXNzIGJvdW5kcyBjaGVja2luZyAoQ1ZFLTIwMTYtMzcxMCkK CnZnYSBhbGxvd3MgYmFua2VkIGFjY2VzcyB0byB2aWRlbyBtZW1vcnkgdXNp bmcgdGhlIHdpbmRvdyBhdCAweGEwMDAwMAphbmQgaXQgc3VwcG9ydHMgYSBk aWZmZXJlbnQgYWNjZXNzIG1vZGVzIHdpdGggZGlmZmVyZW50IGFkZHJlc3MK Y2FsY3VsYXRpb25zLgoKVGhlIFZCRSBib2NocyBleHRlbnRpb25zIHN1cHBv cnQgYmFua2VkIGFjY2VzcyB0b28sIHVzaW5nIHRoZQpWQkVfRElTUElfSU5E RVhfQkFOSyByZWdpc3Rlci4gIFRoZSBjb2RlIHRyaWVzIHRvIHRha2UgdGhl IGRpZmZlcmVudAphZGRyZXNzIGNhbGN1bGF0aW9ucyBpbnRvIGFjY291bnQg YW5kIGFwcGxpZXMgZGlmZmVyZW50IGxpbWl0cyB0bwpWQkVfRElTUElfSU5E RVhfQkFOSyBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgYWNjZXNzIG1vZGUu CgpXaGljaCBpcyBwcm9iYWJseSBlZmZlY3RpdmUgaW4gc3RvcHBpbmcgbWlz cHJvZ3JhbW1pbmcgYnkgYWNjaWRlbnQuCkJ1dCBmcm9tIGEgc2VjdXJpdHkg cG9pbnQgb2YgdmlldyBjb21wbGV0ZWx5IHVzZWxlc3MgYXMgYW4gYXR0YWNr ZXIKY2FuIGVhc2lseSBjaGFuZ2UgYWNjZXNzIG1vZGVzIGFmdGVyIHNldHRp bmcgdGhlIGJhbmsgcmVnaXN0ZXIuCgpEcm9wIHRoZSBib2d1cyBjaGVjaywg YWRkIHJhbmdlIGNoZWNrcyB0byB2Z2FfbWVtX3tyZWFkYix3cml0ZWJ9Cmlu c3RlYWQuCgpGaXhlczogQ1ZFLTIwMTYtMzcxMApSZXBvcnRlZC1ieTogUWlu Z2hhbyBUYW5nIDxsdW9kYWxvbmdkZUBnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQt b2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5l bC5vcmc+Ci0tLQogaHcvZGlzcGxheS92Z2EuYyB8IDI0ICsrKysrKysrKysr KysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMo KyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92 Z2EuYyBiL2h3L2Rpc3BsYXkvdmdhLmMKaW5kZXggMmJiODVhZS4uZjcxNDJi YSAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNw bGF5L3ZnYS5jCkBAIC0xOTcsNiArMTk3LDcgQEAgc3RhdGljIHZvaWQgdmdh X3VwZGF0ZV9tZW1vcnlfYWNjZXNzKFZHQUNvbW1vblN0YXRlICpzKQogICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgYmFzZSArPSBp c2FfbWVtX2Jhc2U7CisgICAgICAgIGFzc2VydChvZmZzZXQgKyBzaXplIDw9 IHMtPnZyYW1fc2l6ZSk7CiAgICAgICAgIHJlZ2lvbiA9IGdfbWFsbG9jKHNp emVvZigqcmVnaW9uKSk7CiAgICAgICAgIG1lbW9yeV9yZWdpb25faW5pdF9h bGlhcyhyZWdpb24sIG1lbW9yeV9yZWdpb25fb3duZXIoJnMtPnZyYW0pLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZnYS5jaGFpbjQi LCAmcy0+dnJhbSwgb2Zmc2V0LCBzaXplKTsKQEAgLTc0MSwxMSArNzQyLDcg QEAgdm9pZCB2YmVfaW9wb3J0X3dyaXRlX2RhdGEodm9pZCAqb3BhcXVlLCB1 aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiAgICAgICAgICAgICB2YmVf Zml4dXBfcmVncyhzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj YXNlIFZCRV9ESVNQSV9JTkRFWF9CQU5LOgotICAgICAgICAgICAgaWYgKHMt PnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9CUFBdID09IDQpIHsKLSAgICAg ICAgICAgICAgdmFsICY9IChzLT52YmVfYmFua19tYXNrID4+IDIpOwotICAg ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgdmFsICY9IHMtPnZi ZV9iYW5rX21hc2s7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICB2YWwg Jj0gcy0+dmJlX2JhbmtfbWFzazsKICAgICAgICAgICAgIHMtPnZiZV9yZWdz W3MtPnZiZV9pbmRleF0gPSB2YWw7CiAgICAgICAgICAgICBzLT5iYW5rX29m ZnNldCA9ICh2YWwgPDwgMTYpOwogICAgICAgICAgICAgdmdhX3VwZGF0ZV9t ZW1vcnlfYWNjZXNzKHMpOwpAQCAtODQ2LDEzICs4NDMsMjEgQEAgdWludDMy X3QgdmdhX21lbV9yZWFkYihWR0FDb21tb25TdGF0ZSAqcywgaHdhZGRyIGFk ZHIpCiAKICAgICBpZiAocy0+c3JbVkdBX1NFUV9NRU1PUllfTU9ERV0gJiBW R0FfU1IwNF9DSE5fNE0pIHsKICAgICAgICAgLyogY2hhaW4gNCBtb2RlIDog c2ltcGxlc3QgYWNjZXNzICovCisgICAgICAgIGFzc2VydChhZGRyIDwgcy0+ dnJhbV9zaXplKTsKICAgICAgICAgcmV0ID0gcy0+dnJhbV9wdHJbYWRkcl07 CiAgICAgfSBlbHNlIGlmIChzLT5ncltWR0FfR0ZYX01PREVdICYgMHgxMCkg ewogICAgICAgICAvKiBvZGQvZXZlbiBtb2RlIChha2EgdGV4dCBtb2RlIG1h cHBpbmcpICovCiAgICAgICAgIHBsYW5lID0gKHMtPmdyW1ZHQV9HRlhfUExB TkVfUkVBRF0gJiAyKSB8IChhZGRyICYgMSk7Ci0gICAgICAgIHJldCA9IHMt PnZyYW1fcHRyWygoYWRkciAmIH4xKSA8PCAxKSB8IHBsYW5lXTsKKyAgICAg ICAgYWRkciA9ICgoYWRkciAmIH4xKSA8PCAxKSB8IHBsYW5lOworICAgICAg ICBpZiAoYWRkciA+PSBzLT52cmFtX3NpemUpIHsKKyAgICAgICAgICAgIHJl dHVybiAweGZmOworICAgICAgICB9CisgICAgICAgIHJldCA9IHMtPnZyYW1f cHRyW2FkZHJdOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8qIHN0YW5kYXJk IFZHQSBsYXRjaGVkIGFjY2VzcyAqLworICAgICAgICBpZiAoYWRkciAqIHNp emVvZih1aW50MzJfdCkgPj0gcy0+dnJhbV9zaXplKSB7CisgICAgICAgICAg ICByZXR1cm4gMHhmZjsKKyAgICAgICAgfQogICAgICAgICBzLT5sYXRjaCA9 ICgodWludDMyX3QgKilzLT52cmFtX3B0cilbYWRkcl07CiAKICAgICAgICAg aWYgKCEocy0+Z3JbVkdBX0dGWF9NT0RFXSAmIDB4MDgpKSB7CkBAIC05MDks NiArOTE0LDcgQEAgdm9pZCB2Z2FfbWVtX3dyaXRlYihWR0FDb21tb25TdGF0 ZSAqcywgaHdhZGRyIGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAgcGxh bmUgPSBhZGRyICYgMzsKICAgICAgICAgbWFzayA9ICgxIDw8IHBsYW5lKTsK ICAgICAgICAgaWYgKHMtPnNyW1ZHQV9TRVFfUExBTkVfV1JJVEVdICYgbWFz aykgeworICAgICAgICAgICAgYXNzZXJ0KGFkZHIgPCBzLT52cmFtX3NpemUp OwogICAgICAgICAgICAgcy0+dnJhbV9wdHJbYWRkcl0gPSB2YWw7CiAjaWZk ZWYgREVCVUdfVkdBX01FTQogICAgICAgICAgICAgcHJpbnRmKCJ2Z2E6IGNo YWluNDogWzB4IiBUQVJHRVRfRk1UX3BseCAiXVxuIiwgYWRkcik7CkBAIC05 MjIsNiArOTI4LDkgQEAgdm9pZCB2Z2FfbWVtX3dyaXRlYihWR0FDb21tb25T dGF0ZSAqcywgaHdhZGRyIGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAg bWFzayA9ICgxIDw8IHBsYW5lKTsKICAgICAgICAgaWYgKHMtPnNyW1ZHQV9T RVFfUExBTkVfV1JJVEVdICYgbWFzaykgewogICAgICAgICAgICAgYWRkciA9 ICgoYWRkciAmIH4xKSA8PCAxKSB8IHBsYW5lOworICAgICAgICAgICAgaWYg KGFkZHIgPj0gcy0+dnJhbV9zaXplKSB7CisgICAgICAgICAgICAgICAgcmV0 dXJuOworICAgICAgICAgICAgfQogICAgICAgICAgICAgcy0+dnJhbV9wdHJb YWRkcl0gPSB2YWw7CiAjaWZkZWYgREVCVUdfVkdBX01FTQogICAgICAgICAg ICAgcHJpbnRmKCJ2Z2E6IG9kZC9ldmVuOiBbMHgiIFRBUkdFVF9GTVRfcGx4 ICJdXG4iLCBhZGRyKTsKQEAgLTk5NSw2ICsxMDA0LDkgQEAgdm9pZCB2Z2Ff bWVtX3dyaXRlYihWR0FDb21tb25TdGF0ZSAqcywgaHdhZGRyIGFkZHIsIHVp bnQzMl90IHZhbCkKICAgICAgICAgbWFzayA9IHMtPnNyW1ZHQV9TRVFfUExB TkVfV1JJVEVdOwogICAgICAgICBzLT5wbGFuZV91cGRhdGVkIHw9IG1hc2s7 IC8qIG9ubHkgdXNlZCB0byBkZXRlY3QgZm9udCBjaGFuZ2UgKi8KICAgICAg ICAgd3JpdGVfbWFzayA9IG1hc2sxNlttYXNrXTsKKyAgICAgICAgaWYgKGFk ZHIgKiBzaXplb2YodWludDMyX3QpID49IHMtPnZyYW1fc2l6ZSkgeworICAg ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgICAgICgodWludDMy X3QgKilzLT52cmFtX3B0cilbYWRkcl0gPQogICAgICAgICAgICAgKCgodWlu dDMyX3QgKilzLT52cmFtX3B0cilbYWRkcl0gJiB+d3JpdGVfbWFzaykgfAog ICAgICAgICAgICAgKHZhbCAmIHdyaXRlX21hc2spOwotLSAKMS45LjEKCg== --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.5-0002-vga-add-vbe_enabled-helper.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.5-0002-vga-add-vbe_enabled-helper.patch" Content-Transfer-Encoding: base64 RnJvbSBmY2QyNjJhOTY2YzcyZGFjNDEyN2Q1ZmM0YTlkYTNjZjI0MjM5NWRk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDoxMTozNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSB2Z2E6IGFkZCB2 YmVfZW5hYmxlZCgpIGhlbHBlcgoKTWFrZXMgY29kZSBhIGJpdCBlYXNpZXIg dG8gcmVhZC4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhl bEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxp bmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0tLQogaHcvZGlzcGxheS92 Z2EuYyB8IDEzICsrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcv ZGlzcGxheS92Z2EuYyBiL2h3L2Rpc3BsYXkvdmdhLmMKaW5kZXggZjcxNDJi YS4uZDQ5M2IwYSAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS92Z2EuYworKysg Yi9ody9kaXNwbGF5L3ZnYS5jCkBAIC0xNjYsNiArMTY2LDExIEBAIHN0YXRp YyB1aW50MzJfdCBleHBhbmQ0WzI1Nl07CiBzdGF0aWMgdWludDE2X3QgZXhw YW5kMlsyNTZdOwogc3RhdGljIHVpbnQ4X3QgZXhwYW5kNHRvOFsxNl07CiAK K3N0YXRpYyBpbmxpbmUgYm9vbCB2YmVfZW5hYmxlZChWR0FDb21tb25TdGF0 ZSAqcykKK3sKKyAgICByZXR1cm4gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lO REVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxFRDsKK30KKwogc3RhdGlj IHZvaWQgdmdhX3VwZGF0ZV9tZW1vcnlfYWNjZXNzKFZHQUNvbW1vblN0YXRl ICpzKQogewogICAgIE1lbW9yeVJlZ2lvbiAqcmVnaW9uLCAqb2xkX3JlZ2lv biA9IHMtPmNoYWluNF9hbGlhczsKQEAgLTU4OSw3ICs1OTQsNyBAQCBzdGF0 aWMgdm9pZCB2YmVfZml4dXBfcmVncyhWR0FDb21tb25TdGF0ZSAqcykKICAg ICB1aW50MTZfdCAqciA9IHMtPnZiZV9yZWdzOwogICAgIHVpbnQzMl90IGJp dHMsIGxpbmVsZW5ndGgsIG1heHksIG9mZnNldDsKIAotICAgIGlmICghKHJb VkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxFRCkp IHsKKyAgICBpZiAoIXZiZV9lbmFibGVkKHMpKSB7CiAgICAgICAgIC8qIHZi ZSBpcyB0dXJuZWQgb2ZmIC0tIG5vdGhpbmcgdG8gZG8gKi8KICAgICAgICAg cmV0dXJuOwogICAgIH0KQEAgLTExNzAsNyArMTE3NSw3IEBAIHN0YXRpYyB2 b2lkIHZnYV9nZXRfb2Zmc2V0cyhWR0FDb21tb25TdGF0ZSAqcywKIHsKICAg ICB1aW50MzJfdCBzdGFydF9hZGRyLCBsaW5lX29mZnNldCwgbGluZV9jb21w YXJlOwogCi0gICAgaWYgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9F TkFCTEVdICYgVkJFX0RJU1BJX0VOQUJMRUQpIHsKKyAgICBpZiAodmJlX2Vu YWJsZWQocykpIHsKICAgICAgICAgbGluZV9vZmZzZXQgPSBzLT52YmVfbGlu ZV9vZmZzZXQ7CiAgICAgICAgIHN0YXJ0X2FkZHIgPSBzLT52YmVfc3RhcnRf YWRkcjsKICAgICAgICAgbGluZV9jb21wYXJlID0gNjU1MzU7CkBAIC0xNjIz LDcgKzE2MjgsNyBAQCBzdGF0aWMgaW50IHZnYV9nZXRfYnBwKFZHQUNvbW1v blN0YXRlICpzKQogewogICAgIGludCByZXQ7CiAKLSAgICBpZiAocy0+dmJl X3JlZ3NbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5B QkxFRCkgeworICAgIGlmICh2YmVfZW5hYmxlZChzKSkgewogICAgICAgICBy ZXQgPSBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfQlBQXTsKICAgICB9 IGVsc2UgewogICAgICAgICByZXQgPSAwOwpAQCAtMTYzNSw3ICsxNjQwLDcg QEAgc3RhdGljIHZvaWQgdmdhX2dldF9yZXNvbHV0aW9uKFZHQUNvbW1vblN0 YXRlICpzLCBpbnQgKnB3aWR0aCwgaW50ICpwaGVpZ2h0KQogewogICAgIGlu dCB3aWR0aCwgaGVpZ2h0OwogCi0gICAgaWYgKHMtPnZiZV9yZWdzW1ZCRV9E SVNQSV9JTkRFWF9FTkFCTEVdICYgVkJFX0RJU1BJX0VOQUJMRUQpIHsKKyAg ICBpZiAodmJlX2VuYWJsZWQocykpIHsKICAgICAgICAgd2lkdGggPSBzLT52 YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWFJFU107CiAgICAgICAgIGhlaWdo dCA9IHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9ZUkVTXTsKICAgICB9 IGVsc2UgewotLSAKMS45LjEKCg== --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.5-0003-vga-factor-out-vga-register-setup.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.5-0003-vga-factor-out-vga-register-setup.patch" Content-Transfer-Encoding: base64 RnJvbSA2MGM4N2Q0MjVjNDFmNDNhYzgxY2IzM2IyN2FmNjg0NmYwMjJiNDVj IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NToyNDoxOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy81XSB2Z2E6IGZhY3Rv ciBvdXQgdmdhIHJlZ2lzdGVyIHNldHVwCgpXaGVuIGVuYWJsaW5nIHZiZSBt b2RlIHFlbXUgd2lsbCBzZXR1cCBhIGJ1bmNoIG9mIHZnYSByZWdpc3RlcnMg dG8gbWFrZQpzdXJlIHRoZSB2Z2EgZW11bGF0aW9uIG9wZXJhdGVzIGluIGNv cnJlY3QgbW9kZSBmb3IgYSBsaW5lYXIKZnJhbWVidWZmZXIuICBNb3ZlIHRo YXQgY29kZSB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uIHNvIHdlIGNhbiBjYWxs IGl0CmZyb20gb3RoZXIgcGxhY2VzIHRvby4KClNpZ25lZC1vZmYtYnk6IEdl cmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5 OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ Ci0tLQogaHcvZGlzcGxheS92Z2EuYyB8IDc5ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92Z2EuYyBiL2h3L2Rpc3BsYXkv dmdhLmMKaW5kZXggZDQ5M2IwYS4uM2U0YzUyZSAxMDA2NDQKLS0tIGEvaHcv ZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNwbGF5L3ZnYS5jCkBAIC02Njks NiArNjY5LDQ5IEBAIHN0YXRpYyB2b2lkIHZiZV9maXh1cF9yZWdzKFZHQUNv bW1vblN0YXRlICpzKQogICAgIHMtPnZiZV9zdGFydF9hZGRyICA9IG9mZnNl dCAvIDQ7CiB9CiAKKy8qIHdlIGluaXRpYWxpemUgdGhlIFZHQSBncmFwaGlj IG1vZGUgKi8KK3N0YXRpYyB2b2lkIHZiZV91cGRhdGVfdmdhcmVncyhWR0FD b21tb25TdGF0ZSAqcykKK3sKKyAgICBpbnQgaCwgc2hpZnRfY29udHJvbDsK KworICAgIGlmICghdmJlX2VuYWJsZWQocykpIHsKKyAgICAgICAgLyogdmJl IGlzIHR1cm5lZCBvZmYgLS0gbm90aGluZyB0byBkbyAqLworICAgICAgICBy ZXR1cm47CisgICAgfQorCisgICAgLyogZ3JhcGhpYyBtb2RlICsgbWVtb3J5 IG1hcCAxICovCisgICAgcy0+Z3JbVkdBX0dGWF9NSVNDXSA9IChzLT5ncltW R0FfR0ZYX01JU0NdICYgfjB4MGMpIHwgMHgwNCB8CisgICAgICAgIFZHQV9H UjA2X0dSQVBISUNTX01PREU7CisgICAgcy0+Y3JbVkdBX0NSVENfTU9ERV0g fD0gMzsgLyogbm8gQ0dBIG1vZGVzICovCisgICAgcy0+Y3JbVkdBX0NSVENf T0ZGU0VUXSA9IHMtPnZiZV9saW5lX29mZnNldCA+PiAzOworICAgIC8qIHdp ZHRoICovCisgICAgcy0+Y3JbVkdBX0NSVENfSF9ESVNQXSA9CisgICAgICAg IChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWFJFU10gPj4gMykgLSAx OworICAgIC8qIGhlaWdodCAob25seSBtZWFuaW5nZnVsIGlmIDwgMTAyNCkg Ki8KKyAgICBoID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1lSRVNd IC0gMTsKKyAgICBzLT5jcltWR0FfQ1JUQ19WX0RJU1BfRU5EXSA9IGg7Cisg ICAgcy0+Y3JbVkdBX0NSVENfT1ZFUkZMT1ddID0gKHMtPmNyW1ZHQV9DUlRD X09WRVJGTE9XXSAmIH4weDQyKSB8CisgICAgICAgICgoaCA+PiA3KSAmIDB4 MDIpIHwgKChoID4+IDMpICYgMHg0MCk7CisgICAgLyogbGluZSBjb21wYXJl IHRvIDEwMjMgKi8KKyAgICBzLT5jcltWR0FfQ1JUQ19MSU5FX0NPTVBBUkVd ID0gMHhmZjsKKyAgICBzLT5jcltWR0FfQ1JUQ19PVkVSRkxPV10gfD0gMHgx MDsKKyAgICBzLT5jcltWR0FfQ1JUQ19NQVhfU0NBTl0gfD0gMHg0MDsKKwor ICAgIGlmIChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfQlBQXSA9PSA0 KSB7CisgICAgICAgIHNoaWZ0X2NvbnRyb2wgPSAwOworICAgICAgICBzLT5z cltWR0FfU0VRX0NMT0NLX01PREVdICY9IH44OyAvKiBubyBkb3VibGUgbGlu ZSAqLworICAgIH0gZWxzZSB7CisgICAgICAgIHNoaWZ0X2NvbnRyb2wgPSAy OworICAgICAgICAvKiBzZXQgY2hhaW4gNCBtb2RlICovCisgICAgICAgIHMt PnNyW1ZHQV9TRVFfTUVNT1JZX01PREVdIHw9IFZHQV9TUjA0X0NITl80TTsK KyAgICAgICAgLyogYWN0aXZhdGUgYWxsIHBsYW5lcyAqLworICAgICAgICBz LT5zcltWR0FfU0VRX1BMQU5FX1dSSVRFXSB8PSBWR0FfU1IwMl9BTExfUExB TkVTOworICAgIH0KKyAgICBzLT5ncltWR0FfR0ZYX01PREVdID0gKHMtPmdy W1ZHQV9HRlhfTU9ERV0gJiB+MHg2MCkgfAorICAgICAgICAoc2hpZnRfY29u dHJvbCA8PCA1KTsKKyAgICBzLT5jcltWR0FfQ1JUQ19NQVhfU0NBTl0gJj0g fjB4OWY7IC8qIG5vIGRvdWJsZSBzY2FuICovCit9CisKIHN0YXRpYyB1aW50 MzJfdCB2YmVfaW9wb3J0X3JlYWRfaW5kZXgodm9pZCAqb3BhcXVlLCB1aW50 MzJfdCBhZGRyKQogewogICAgIFZHQUNvbW1vblN0YXRlICpzID0gb3BhcXVl OwpAQCAtNzU1LDUzICs3OTgsMTkgQEAgdm9pZCB2YmVfaW9wb3J0X3dyaXRl X2RhdGEodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2 YWwpCiAgICAgICAgIGNhc2UgVkJFX0RJU1BJX0lOREVYX0VOQUJMRToKICAg ICAgICAgICAgIGlmICgodmFsICYgVkJFX0RJU1BJX0VOQUJMRUQpICYmCiAg ICAgICAgICAgICAgICAgIShzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhf RU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVEKSkgewotICAgICAgICAgICAg ICAgIGludCBoLCBzaGlmdF9jb250cm9sOwogCiAgICAgICAgICAgICAgICAg cy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1ZJUlRfV0lEVEhdID0gMDsK ICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhf WF9PRkZTRVRdID0gMDsKICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tW QkVfRElTUElfSU5ERVhfWV9PRkZTRVRdID0gMDsKICAgICAgICAgICAgICAg ICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfRU5BQkxFXSB8PSBWQkVf RElTUElfRU5BQkxFRDsKICAgICAgICAgICAgICAgICB2YmVfZml4dXBfcmVn cyhzKTsKKyAgICAgICAgICAgICAgICB2YmVfdXBkYXRlX3ZnYXJlZ3Mocyk7 CiAKICAgICAgICAgICAgICAgICAvKiBjbGVhciB0aGUgc2NyZWVuIChzaG91 bGQgYmUgZG9uZSBpbiBCSU9TKSAqLwogICAgICAgICAgICAgICAgIGlmICgh KHZhbCAmIFZCRV9ESVNQSV9OT0NMRUFSTUVNKSkgewogICAgICAgICAgICAg ICAgICAgICBtZW1zZXQocy0+dnJhbV9wdHIsIDAsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWVJF U10gKiBzLT52YmVfbGluZV9vZmZzZXQpOwogICAgICAgICAgICAgICAgIH0K LQotICAgICAgICAgICAgICAgIC8qIHdlIGluaXRpYWxpemUgdGhlIFZHQSBn cmFwaGljIG1vZGUgKHNob3VsZCBiZSBkb25lCi0gICAgICAgICAgICAgICAg ICAgaW4gQklPUykgKi8KLSAgICAgICAgICAgICAgICAvKiBncmFwaGljIG1v ZGUgKyBtZW1vcnkgbWFwIDEgKi8KLSAgICAgICAgICAgICAgICBzLT5ncltW R0FfR0ZYX01JU0NdID0gKHMtPmdyW1ZHQV9HRlhfTUlTQ10gJiB+MHgwYykg fCAweDA0IHwKLSAgICAgICAgICAgICAgICAgICAgVkdBX0dSMDZfR1JBUEhJ Q1NfTU9ERTsKLSAgICAgICAgICAgICAgICBzLT5jcltWR0FfQ1JUQ19NT0RF XSB8PSAzOyAvKiBubyBDR0EgbW9kZXMgKi8KLSAgICAgICAgICAgICAgICBz LT5jcltWR0FfQ1JUQ19PRkZTRVRdID0gcy0+dmJlX2xpbmVfb2Zmc2V0ID4+ IDM7Ci0gICAgICAgICAgICAgICAgLyogd2lkdGggKi8KLSAgICAgICAgICAg ICAgICBzLT5jcltWR0FfQ1JUQ19IX0RJU1BdID0KLSAgICAgICAgICAgICAg ICAgICAgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9YUkVTXSA+PiAz KSAtIDE7Ci0gICAgICAgICAgICAgICAgLyogaGVpZ2h0IChvbmx5IG1lYW5p bmdmdWwgaWYgPCAxMDI0KSAqLwotICAgICAgICAgICAgICAgIGggPSBzLT52 YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWVJFU10gLSAxOwotICAgICAgICAg ICAgICAgIHMtPmNyW1ZHQV9DUlRDX1ZfRElTUF9FTkRdID0gaDsKLSAgICAg ICAgICAgICAgICBzLT5jcltWR0FfQ1JUQ19PVkVSRkxPV10gPSAocy0+Y3Jb VkdBX0NSVENfT1ZFUkZMT1ddICYgfjB4NDIpIHwKLSAgICAgICAgICAgICAg ICAgICAgKChoID4+IDcpICYgMHgwMikgfCAoKGggPj4gMykgJiAweDQwKTsK LSAgICAgICAgICAgICAgICAvKiBsaW5lIGNvbXBhcmUgdG8gMTAyMyAqLwot ICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX0xJTkVfQ09NUEFSRV0g PSAweGZmOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX09WRVJG TE9XXSB8PSAweDEwOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRD X01BWF9TQ0FOXSB8PSAweDQwOwotCi0gICAgICAgICAgICAgICAgaWYgKHMt PnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9CUFBdID09IDQpIHsKLSAgICAg ICAgICAgICAgICAgICAgc2hpZnRfY29udHJvbCA9IDA7Ci0gICAgICAgICAg ICAgICAgICAgIHMtPnNyW1ZHQV9TRVFfQ0xPQ0tfTU9ERV0gJj0gfjg7IC8q IG5vIGRvdWJsZSBsaW5lICovCi0gICAgICAgICAgICAgICAgfSBlbHNlIHsK LSAgICAgICAgICAgICAgICAgICAgc2hpZnRfY29udHJvbCA9IDI7Ci0gICAg ICAgICAgICAgICAgICAgIC8qIHNldCBjaGFpbiA0IG1vZGUgKi8KLSAgICAg ICAgICAgICAgICAgICAgcy0+c3JbVkdBX1NFUV9NRU1PUllfTU9ERV0gfD0g VkdBX1NSMDRfQ0hOXzRNOwotICAgICAgICAgICAgICAgICAgICAvKiBhY3Rp dmF0ZSBhbGwgcGxhbmVzICovCi0gICAgICAgICAgICAgICAgICAgIHMtPnNy W1ZHQV9TRVFfUExBTkVfV1JJVEVdIHw9IFZHQV9TUjAyX0FMTF9QTEFORVM7 Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHMtPmdyW1ZH QV9HRlhfTU9ERV0gPSAocy0+Z3JbVkdBX0dGWF9NT0RFXSAmIH4weDYwKSB8 Ci0gICAgICAgICAgICAgICAgICAgIChzaGlmdF9jb250cm9sIDw8IDUpOwot ICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX01BWF9TQ0FOXSAmPSB+ MHg5ZjsgLyogbm8gZG91YmxlIHNjYW4gKi8KICAgICAgICAgICAgIH0gZWxz ZSB7CiAgICAgICAgICAgICAgICAgLyogWFhYOiB0aGUgYmlvcyBzaG91bGQg ZG8gdGhhdCAqLwogICAgICAgICAgICAgICAgIHMtPmJhbmtfb2Zmc2V0ID0g MDsKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.5-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.5-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Transfer-Encoding: base64 RnJvbSA0OTQ4NGViYjc5ZTRlNGVkYWMyNjA5ZmRhYTZlZjNhYzFhNGVlNmQw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NTozOToyMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNC81XSB2Z2E6IHVwZGF0 ZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgb24gdmJlIGNoYW5nZXMKCkNhbGwgdGhl IG5ldyB2YmVfdXBkYXRlX3ZnYXJlZ3MoKSBmdW5jdGlvbiBvbiB2YmUgY29u ZmlndXJhdGlvbgpjaGFuZ2VzLCB0byBtYWtlIHN1cmUgdmdhIHJlZ2lzdGVy cyBhcmUgdXAtdG8tZGF0ZS4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1h bm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5v IFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0tLQogaHcv ZGlzcGxheS92Z2EuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspCgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92Z2EuYyBiL2h3L2Rp c3BsYXkvdmdhLmMKaW5kZXggM2U0YzUyZS4uZjI2NWI5NyAxMDA2NDQKLS0t IGEvaHcvZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNwbGF5L3ZnYS5jCkBA IC03ODgsNiArNzg4LDcgQEAgdm9pZCB2YmVfaW9wb3J0X3dyaXRlX2RhdGEo dm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiAg ICAgICAgIGNhc2UgVkJFX0RJU1BJX0lOREVYX1lfT0ZGU0VUOgogICAgICAg ICAgICAgcy0+dmJlX3JlZ3Nbcy0+dmJlX2luZGV4XSA9IHZhbDsKICAgICAg ICAgICAgIHZiZV9maXh1cF9yZWdzKHMpOworICAgICAgICAgICAgdmJlX3Vw ZGF0ZV92Z2FyZWdzKHMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg IGNhc2UgVkJFX0RJU1BJX0lOREVYX0JBTks6CiAgICAgICAgICAgICB2YWwg Jj0gcy0+dmJlX2JhbmtfbWFzazsKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.5-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.5-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Transfer-Encoding: base64 RnJvbSAxMTA5YjhiZDA1OTQ3YWMwOWI2ZjI0ZjQ2YTlmNzg0YzM5Y2FjNDZl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDo0ODowNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNS81XSB2Z2E6IG1ha2Ug c3VyZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgZm9yIHZiZSBzdGF5cyBpbnRhY3QK IChDVkUtMjAxNi0zNzEyKS4KCkNhbGwgdmJlX3VwZGF0ZV92Z2FyZWdzKCkg d2hlbiB0aGUgZ3Vlc3QgdG91Y2hlcyBHRlgsIFNFUSBvciBDUlQKcmVnaXN0 ZXJzLCB0byBtYWtlIHN1cmUgdGhlIHZnYSByZWdpc3RlcnMgd2lsbCBhbHdh eXMgaGF2ZSB0aGUKdmFsdWVzIG5lZWRlZCBieSB2YmUgbW9kZS4gIFRoaXMg bWFrZXMgc3VyZSB0aGUgc2FuaXR5IGNoZWNrcwphcHBsaWVkIGJ5IHZiZV9m aXh1cF9yZWdzKCkgYXJlIGVmZmVjdGl2ZS4KCldpdGhvdXQgdGhpcyBndWVz dHMgY2FuIG11Y2sgd2l0aCBzaGlmdF9jb250cm9sLCBjYW4gdHVybiBvbiBw bGFuYXIKdmdhIG1vZGVzIG9yIHRleHQgbW9kZSBlbXVsYXRpb24gd2hpbGUg VkJFIGlzIGFjdGl2ZSwgbWFraW5nIHFlbXUKdGFrZSBjb2RlIHBhdGhzIG1l YW50IGZvciBDR0EgY29tcGF0aWJpbGl0eSwgYnV0IHdpdGggdGhlIHZlcnkK bGFyZ2UgZGlzcGxheSB3aWR0aHMgYW5kIGhlaWd0cyBzZXR0YWJsZSB1c2lu ZyBWQkUgcmVnaXN0ZXJzLgoKV2hpY2ggaXMgZ29vZCBmb3Igb25lIG9yIGFu b3RoZXIgYnVmZmVyIG92ZXJmbG93LiAgTm90IHRoYXQKY3JpdGljYWwgYXMg dGhleSB0eXBpY2FsbHkgcmVhZCBvdmVyZmxvd3MgaGFwcGVuaW5nIHNvbWV3 aGVyZQppbiB0aGUgZGlzcGxheSBjb2RlLiAgU28gZ3Vlc3RzIGNhbiBEb1Mg YnkgY3Jhc2hpbmcgcWVtdSB3aXRoIGEKc2VnZmF1bHQsIGJ1dCBpdCBpcyBw cm9iYWJseSBub3QgcG9zc2libGUgdG8gYnJlYWsgb3V0IG9mIHRoZSBWTS4K CkZpeGVzOiBDVkUtMjAxNi0zNzEyClJlcG9ydGVkLWJ5OiBadW96aGkgRnp6 IDx6dW96aGkuZnp6QGFsaWJhYmEtaW5jLmNvbT4KUmVwb3J0ZWQtYnk6IFAg SiBQIDxwcGFuZGl0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IEdlcmQg SG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBT dGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0t LQogaHcvZGlzcGxheS92Z2EuYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92 Z2EuYyBiL2h3L2Rpc3BsYXkvdmdhLmMKaW5kZXggZjI2NWI5Ny4uYTNmZWIy ZCAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNw bGF5L3ZnYS5jCkBAIC0xNjYsNiArMTY2LDggQEAgc3RhdGljIHVpbnQzMl90 IGV4cGFuZDRbMjU2XTsKIHN0YXRpYyB1aW50MTZfdCBleHBhbmQyWzI1Nl07 CiBzdGF0aWMgdWludDhfdCBleHBhbmQ0dG84WzE2XTsKIAorc3RhdGljIHZv aWQgdmJlX3VwZGF0ZV92Z2FyZWdzKFZHQUNvbW1vblN0YXRlICpzKTsKKwog c3RhdGljIGlubGluZSBib29sIHZiZV9lbmFibGVkKFZHQUNvbW1vblN0YXRl ICpzKQogewogICAgIHJldHVybiBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5E RVhfRU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVEOwpAQCAtNTA5LDYgKzUx MSw3IEBAIHZvaWQgdmdhX2lvcG9ydF93cml0ZSh2b2lkICpvcGFxdWUsIHVp bnQzMl90IGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAgcHJpbnRmKCJ2 Z2E6IHdyaXRlIFNSJXggPSAweCUwMnhcbiIsIHMtPnNyX2luZGV4LCB2YWwp OwogI2VuZGlmCiAgICAgICAgIHMtPnNyW3MtPnNyX2luZGV4XSA9IHZhbCAm IHNyX21hc2tbcy0+c3JfaW5kZXhdOworICAgICAgICB2YmVfdXBkYXRlX3Zn YXJlZ3Mocyk7CiAgICAgICAgIGlmIChzLT5zcl9pbmRleCA9PSBWR0FfU0VR X0NMT0NLX01PREUpIHsKICAgICAgICAgICAgIHMtPnVwZGF0ZV9yZXRyYWNl X2luZm8ocyk7CiAgICAgICAgIH0KQEAgLTU0MCw2ICs1NDMsNyBAQCB2b2lk IHZnYV9pb3BvcnRfd3JpdGUodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRy LCB1aW50MzJfdCB2YWwpCiAgICAgICAgIHByaW50ZigidmdhOiB3cml0ZSBH UiV4ID0gMHglMDJ4XG4iLCBzLT5ncl9pbmRleCwgdmFsKTsKICNlbmRpZgog ICAgICAgICBzLT5ncltzLT5ncl9pbmRleF0gPSB2YWwgJiBncl9tYXNrW3Mt PmdyX2luZGV4XTsKKyAgICAgICAgdmJlX3VwZGF0ZV92Z2FyZWdzKHMpOwog ICAgICAgICB2Z2FfdXBkYXRlX21lbW9yeV9hY2Nlc3Mocyk7CiAgICAgICAg IGJyZWFrOwogICAgIGNhc2UgVkdBX0NSVF9JTToKQEAgLTU1OCwxMCArNTYy LDEyIEBAIHZvaWQgdmdhX2lvcG9ydF93cml0ZSh2b2lkICpvcGFxdWUsIHVp bnQzMl90IGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAgICAgIGlmIChz LT5jcl9pbmRleCA9PSBWR0FfQ1JUQ19PVkVSRkxPVykgewogICAgICAgICAg ICAgICAgIHMtPmNyW1ZHQV9DUlRDX09WRVJGTE9XXSA9IChzLT5jcltWR0Ff Q1JUQ19PVkVSRkxPV10gJiB+MHgxMCkgfAogICAgICAgICAgICAgICAgICAg ICAodmFsICYgMHgxMCk7CisgICAgICAgICAgICAgICAgdmJlX3VwZGF0ZV92 Z2FyZWdzKHMpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJu OwogICAgICAgICB9CiAgICAgICAgIHMtPmNyW3MtPmNyX2luZGV4XSA9IHZh bDsKKyAgICAgICAgdmJlX3VwZGF0ZV92Z2FyZWdzKHMpOwogCiAgICAgICAg IHN3aXRjaChzLT5jcl9pbmRleCkgewogICAgICAgICBjYXNlIFZHQV9DUlRD X0hfVE9UQUw6Ci0tIAoxLjkuMQoK --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.6-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.6-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Transfer-Encoding: base64 RnJvbSBiMTZkYjVhYjJkMGM1ZmY3NTVlMDg5NDJmNGM4ZThmOWY4NjE4ZWFl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAw ODo0OToxMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSB2Z2E6IGZpeCBi YW5rZWQgYWNjZXNzIGJvdW5kcyBjaGVja2luZyAoQ1ZFLTIwMTYtMzcxMCkK CnZnYSBhbGxvd3MgYmFua2VkIGFjY2VzcyB0byB2aWRlbyBtZW1vcnkgdXNp bmcgdGhlIHdpbmRvdyBhdCAweGEwMDAwMAphbmQgaXQgc3VwcG9ydHMgYSBk aWZmZXJlbnQgYWNjZXNzIG1vZGVzIHdpdGggZGlmZmVyZW50IGFkZHJlc3MK Y2FsY3VsYXRpb25zLgoKVGhlIFZCRSBib2NocyBleHRlbnRpb25zIHN1cHBv cnQgYmFua2VkIGFjY2VzcyB0b28sIHVzaW5nIHRoZQpWQkVfRElTUElfSU5E RVhfQkFOSyByZWdpc3Rlci4gIFRoZSBjb2RlIHRyaWVzIHRvIHRha2UgdGhl IGRpZmZlcmVudAphZGRyZXNzIGNhbGN1bGF0aW9ucyBpbnRvIGFjY291bnQg YW5kIGFwcGxpZXMgZGlmZmVyZW50IGxpbWl0cyB0bwpWQkVfRElTUElfSU5E RVhfQkFOSyBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgYWNjZXNzIG1vZGUu CgpXaGljaCBpcyBwcm9iYWJseSBlZmZlY3RpdmUgaW4gc3RvcHBpbmcgbWlz cHJvZ3JhbW1pbmcgYnkgYWNjaWRlbnQuCkJ1dCBmcm9tIGEgc2VjdXJpdHkg cG9pbnQgb2YgdmlldyBjb21wbGV0ZWx5IHVzZWxlc3MgYXMgYW4gYXR0YWNr ZXIKY2FuIGVhc2lseSBjaGFuZ2UgYWNjZXNzIG1vZGVzIGFmdGVyIHNldHRp bmcgdGhlIGJhbmsgcmVnaXN0ZXIuCgpEcm9wIHRoZSBib2d1cyBjaGVjaywg YWRkIHJhbmdlIGNoZWNrcyB0byB2Z2FfbWVtX3tyZWFkYix3cml0ZWJ9Cmlu c3RlYWQuCgpGaXhlczogQ1ZFLTIwMTYtMzcxMApSZXBvcnRlZC1ieTogUWlu Z2hhbyBUYW5nIDxsdW9kYWxvbmdkZUBnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQt b2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5l bC5vcmc+Ci0tLQogaHcvZGlzcGxheS92Z2EuYyB8IDI0ICsrKysrKysrKysr KysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMo KyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92 Z2EuYyBiL2h3L2Rpc3BsYXkvdmdhLmMKaW5kZXggNTJlYWYwNS4uYjU3Nzcx MiAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNw bGF5L3ZnYS5jCkBAIC0xNzgsNiArMTc4LDcgQEAgc3RhdGljIHZvaWQgdmdh X3VwZGF0ZV9tZW1vcnlfYWNjZXNzKFZHQUNvbW1vblN0YXRlICpzKQogICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgYmFzZSArPSBp c2FfbWVtX2Jhc2U7CisgICAgICAgIGFzc2VydChvZmZzZXQgKyBzaXplIDw9 IHMtPnZyYW1fc2l6ZSk7CiAgICAgICAgIG1lbW9yeV9yZWdpb25faW5pdF9h bGlhcygmcy0+Y2hhaW40X2FsaWFzLCBtZW1vcnlfcmVnaW9uX293bmVyKCZz LT52cmFtKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2 Z2EuY2hhaW40IiwgJnMtPnZyYW0sIG9mZnNldCwgc2l6ZSk7CiAgICAgICAg IG1lbW9yeV9yZWdpb25fYWRkX3N1YnJlZ2lvbl9vdmVybGFwKHMtPmxlZ2Fj eV9hZGRyZXNzX3NwYWNlLCBiYXNlLApAQCAtNzE1LDExICs3MTYsNyBAQCB2 b2lkIHZiZV9pb3BvcnRfd3JpdGVfZGF0YSh2b2lkICpvcGFxdWUsIHVpbnQz Ml90IGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAgICAgIHZiZV9maXh1 cF9yZWdzKHMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug VkJFX0RJU1BJX0lOREVYX0JBTks6Ci0gICAgICAgICAgICBpZiAocy0+dmJl X3JlZ3NbVkJFX0RJU1BJX0lOREVYX0JQUF0gPT0gNCkgewotICAgICAgICAg ICAgICB2YWwgJj0gKHMtPnZiZV9iYW5rX21hc2sgPj4gMik7Ci0gICAgICAg ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICB2YWwgJj0gcy0+dmJlX2Jh bmtfbWFzazsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhbCAmPSBz LT52YmVfYmFua19tYXNrOwogICAgICAgICAgICAgcy0+dmJlX3JlZ3Nbcy0+ dmJlX2luZGV4XSA9IHZhbDsKICAgICAgICAgICAgIHMtPmJhbmtfb2Zmc2V0 ID0gKHZhbCA8PCAxNik7CiAgICAgICAgICAgICB2Z2FfdXBkYXRlX21lbW9y eV9hY2Nlc3Mocyk7CkBAIC04MTgsMTMgKzgxNSwyMSBAQCB1aW50MzJfdCB2 Z2FfbWVtX3JlYWRiKFZHQUNvbW1vblN0YXRlICpzLCBod2FkZHIgYWRkcikK IAogICAgIGlmIChzLT5zcltWR0FfU0VRX01FTU9SWV9NT0RFXSAmIFZHQV9T UjA0X0NITl80TSkgewogICAgICAgICAvKiBjaGFpbiA0IG1vZGUgOiBzaW1w bGVzdCBhY2Nlc3MgKi8KKyAgICAgICAgYXNzZXJ0KGFkZHIgPCBzLT52cmFt X3NpemUpOwogICAgICAgICByZXQgPSBzLT52cmFtX3B0clthZGRyXTsKICAg ICB9IGVsc2UgaWYgKHMtPmdyW1ZHQV9HRlhfTU9ERV0gJiAweDEwKSB7CiAg ICAgICAgIC8qIG9kZC9ldmVuIG1vZGUgKGFrYSB0ZXh0IG1vZGUgbWFwcGlu ZykgKi8KICAgICAgICAgcGxhbmUgPSAocy0+Z3JbVkdBX0dGWF9QTEFORV9S RUFEXSAmIDIpIHwgKGFkZHIgJiAxKTsKLSAgICAgICAgcmV0ID0gcy0+dnJh bV9wdHJbKChhZGRyICYgfjEpIDw8IDEpIHwgcGxhbmVdOworICAgICAgICBh ZGRyID0gKChhZGRyICYgfjEpIDw8IDEpIHwgcGxhbmU7CisgICAgICAgIGlm IChhZGRyID49IHMtPnZyYW1fc2l6ZSkgeworICAgICAgICAgICAgcmV0dXJu IDB4ZmY7CisgICAgICAgIH0KKyAgICAgICAgcmV0ID0gcy0+dnJhbV9wdHJb YWRkcl07CiAgICAgfSBlbHNlIHsKICAgICAgICAgLyogc3RhbmRhcmQgVkdB IGxhdGNoZWQgYWNjZXNzICovCisgICAgICAgIGlmIChhZGRyICogc2l6ZW9m KHVpbnQzMl90KSA+PSBzLT52cmFtX3NpemUpIHsKKyAgICAgICAgICAgIHJl dHVybiAweGZmOworICAgICAgICB9CiAgICAgICAgIHMtPmxhdGNoID0gKCh1 aW50MzJfdCAqKXMtPnZyYW1fcHRyKVthZGRyXTsKIAogICAgICAgICBpZiAo IShzLT5ncltWR0FfR0ZYX01PREVdICYgMHgwOCkpIHsKQEAgLTg4MSw2ICs4 ODYsNyBAQCB2b2lkIHZnYV9tZW1fd3JpdGViKFZHQUNvbW1vblN0YXRlICpz LCBod2FkZHIgYWRkciwgdWludDMyX3QgdmFsKQogICAgICAgICBwbGFuZSA9 IGFkZHIgJiAzOwogICAgICAgICBtYXNrID0gKDEgPDwgcGxhbmUpOwogICAg ICAgICBpZiAocy0+c3JbVkdBX1NFUV9QTEFORV9XUklURV0gJiBtYXNrKSB7 CisgICAgICAgICAgICBhc3NlcnQoYWRkciA8IHMtPnZyYW1fc2l6ZSk7CiAg ICAgICAgICAgICBzLT52cmFtX3B0clthZGRyXSA9IHZhbDsKICNpZmRlZiBE RUJVR19WR0FfTUVNCiAgICAgICAgICAgICBwcmludGYoInZnYTogY2hhaW40 OiBbMHgiIFRBUkdFVF9GTVRfcGx4ICJdXG4iLCBhZGRyKTsKQEAgLTg5NCw2 ICs5MDAsOSBAQCB2b2lkIHZnYV9tZW1fd3JpdGViKFZHQUNvbW1vblN0YXRl ICpzLCBod2FkZHIgYWRkciwgdWludDMyX3QgdmFsKQogICAgICAgICBtYXNr ID0gKDEgPDwgcGxhbmUpOwogICAgICAgICBpZiAocy0+c3JbVkdBX1NFUV9Q TEFORV9XUklURV0gJiBtYXNrKSB7CiAgICAgICAgICAgICBhZGRyID0gKChh ZGRyICYgfjEpIDw8IDEpIHwgcGxhbmU7CisgICAgICAgICAgICBpZiAoYWRk ciA+PSBzLT52cmFtX3NpemUpIHsKKyAgICAgICAgICAgICAgICByZXR1cm47 CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBzLT52cmFtX3B0clthZGRy XSA9IHZhbDsKICNpZmRlZiBERUJVR19WR0FfTUVNCiAgICAgICAgICAgICBw cmludGYoInZnYTogb2RkL2V2ZW46IFsweCIgVEFSR0VUX0ZNVF9wbHggIl1c biIsIGFkZHIpOwpAQCAtOTY3LDYgKzk3Niw5IEBAIHZvaWQgdmdhX21lbV93 cml0ZWIoVkdBQ29tbW9uU3RhdGUgKnMsIGh3YWRkciBhZGRyLCB1aW50MzJf dCB2YWwpCiAgICAgICAgIG1hc2sgPSBzLT5zcltWR0FfU0VRX1BMQU5FX1dS SVRFXTsKICAgICAgICAgcy0+cGxhbmVfdXBkYXRlZCB8PSBtYXNrOyAvKiBv bmx5IHVzZWQgdG8gZGV0ZWN0IGZvbnQgY2hhbmdlICovCiAgICAgICAgIHdy aXRlX21hc2sgPSBtYXNrMTZbbWFza107CisgICAgICAgIGlmIChhZGRyICog c2l6ZW9mKHVpbnQzMl90KSA+PSBzLT52cmFtX3NpemUpIHsKKyAgICAgICAg ICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICAoKHVpbnQzMl90ICop cy0+dnJhbV9wdHIpW2FkZHJdID0KICAgICAgICAgICAgICgoKHVpbnQzMl90 ICopcy0+dnJhbV9wdHIpW2FkZHJdICYgfndyaXRlX21hc2spIHwKICAgICAg ICAgICAgICh2YWwgJiB3cml0ZV9tYXNrKTsKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.6-0002-vga-add-vbe_enabled-helper.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.6-0002-vga-add-vbe_enabled-helper.patch" Content-Transfer-Encoding: base64 RnJvbSBlMDI2ODU5ZTlhZWNmODYzNWRhZjA2ZTlmYzIzMjUyMzlmNDU4OTU5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDoxMTozNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSB2Z2E6IGFkZCB2 YmVfZW5hYmxlZCgpIGhlbHBlcgoKTWFrZXMgY29kZSBhIGJpdCBlYXNpZXIg dG8gcmVhZC4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhl bEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxp bmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0tLQogaHcvZGlzcGxheS92 Z2EuYyB8IDEzICsrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcv ZGlzcGxheS92Z2EuYyBiL2h3L2Rpc3BsYXkvdmdhLmMKaW5kZXggYjU3Nzcx Mi4uZWJmNjNmZiAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS92Z2EuYworKysg Yi9ody9kaXNwbGF5L3ZnYS5jCkBAIC0xNDAsNiArMTQwLDExIEBAIHN0YXRp YyB1aW50MzJfdCBleHBhbmQ0WzI1Nl07CiBzdGF0aWMgdWludDE2X3QgZXhw YW5kMlsyNTZdOwogc3RhdGljIHVpbnQ4X3QgZXhwYW5kNHRvOFsxNl07CiAK K3N0YXRpYyBpbmxpbmUgYm9vbCB2YmVfZW5hYmxlZChWR0FDb21tb25TdGF0 ZSAqcykKK3sKKyAgICByZXR1cm4gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lO REVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxFRDsKK30KKwogc3RhdGlj IHZvaWQgdmdhX3VwZGF0ZV9tZW1vcnlfYWNjZXNzKFZHQUNvbW1vblN0YXRl ICpzKQogewogICAgIGh3YWRkciBiYXNlLCBvZmZzZXQsIHNpemU7CkBAIC01 NjMsNyArNTY4LDcgQEAgc3RhdGljIHZvaWQgdmJlX2ZpeHVwX3JlZ3MoVkdB Q29tbW9uU3RhdGUgKnMpCiAgICAgdWludDE2X3QgKnIgPSBzLT52YmVfcmVn czsKICAgICB1aW50MzJfdCBiaXRzLCBsaW5lbGVuZ3RoLCBtYXh5LCBvZmZz ZXQ7CiAKLSAgICBpZiAoIShyW1ZCRV9ESVNQSV9JTkRFWF9FTkFCTEVdICYg VkJFX0RJU1BJX0VOQUJMRUQpKSB7CisgICAgaWYgKCF2YmVfZW5hYmxlZChz KSkgewogICAgICAgICAvKiB2YmUgaXMgdHVybmVkIG9mZiAtLSBub3RoaW5n IHRvIGRvICovCiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMDU3LDcg KzEwNjIsNyBAQCBzdGF0aWMgdm9pZCB2Z2FfZ2V0X29mZnNldHMoVkdBQ29t bW9uU3RhdGUgKnMsCiB7CiAgICAgdWludDMyX3Qgc3RhcnRfYWRkciwgbGlu ZV9vZmZzZXQsIGxpbmVfY29tcGFyZTsKIAotICAgIGlmIChzLT52YmVfcmVn c1tWQkVfRElTUElfSU5ERVhfRU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVE KSB7CisgICAgaWYgKHZiZV9lbmFibGVkKHMpKSB7CiAgICAgICAgIGxpbmVf b2Zmc2V0ID0gcy0+dmJlX2xpbmVfb2Zmc2V0OwogICAgICAgICBzdGFydF9h ZGRyID0gcy0+dmJlX3N0YXJ0X2FkZHI7CiAgICAgICAgIGxpbmVfY29tcGFy ZSA9IDY1NTM1OwpAQCAtMTM4Miw3ICsxMzg3LDcgQEAgc3RhdGljIGludCB2 Z2FfZ2V0X2JwcChWR0FDb21tb25TdGF0ZSAqcykKIHsKICAgICBpbnQgcmV0 OwogCi0gICAgaWYgKHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9FTkFC TEVdICYgVkJFX0RJU1BJX0VOQUJMRUQpIHsKKyAgICBpZiAodmJlX2VuYWJs ZWQocykpIHsKICAgICAgICAgcmV0ID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJ X0lOREVYX0JQUF07CiAgICAgfSBlbHNlIHsKICAgICAgICAgcmV0ID0gMDsK QEAgLTEzOTQsNyArMTM5OSw3IEBAIHN0YXRpYyB2b2lkIHZnYV9nZXRfcmVz b2x1dGlvbihWR0FDb21tb25TdGF0ZSAqcywgaW50ICpwd2lkdGgsIGludCAq cGhlaWdodCkKIHsKICAgICBpbnQgd2lkdGgsIGhlaWdodDsKIAotICAgIGlm IChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfRU5BQkxFXSAmIFZCRV9E SVNQSV9FTkFCTEVEKSB7CisgICAgaWYgKHZiZV9lbmFibGVkKHMpKSB7CiAg ICAgICAgIHdpZHRoID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1hS RVNdOwogICAgICAgICBoZWlnaHQgPSBzLT52YmVfcmVnc1tWQkVfRElTUElf SU5ERVhfWVJFU107CiAgICAgfSBlbHNlIHsKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.6-0003-vga-factor-out-vga-register-setup.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.6-0003-vga-factor-out-vga-register-setup.patch" Content-Transfer-Encoding: base64 RnJvbSBiMzZhNGUyNmNhZjdhMDUwYTZlODU5MzUyN2MyNmJmYTRmNDdhNzU4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NToyNDoxOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy81XSB2Z2E6IGZhY3Rv ciBvdXQgdmdhIHJlZ2lzdGVyIHNldHVwCgpXaGVuIGVuYWJsaW5nIHZiZSBt b2RlIHFlbXUgd2lsbCBzZXR1cCBhIGJ1bmNoIG9mIHZnYSByZWdpc3RlcnMg dG8gbWFrZQpzdXJlIHRoZSB2Z2EgZW11bGF0aW9uIG9wZXJhdGVzIGluIGNv cnJlY3QgbW9kZSBmb3IgYSBsaW5lYXIKZnJhbWVidWZmZXIuICBNb3ZlIHRo YXQgY29kZSB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uIHNvIHdlIGNhbiBjYWxs IGl0CmZyb20gb3RoZXIgcGxhY2VzIHRvby4KClNpZ25lZC1vZmYtYnk6IEdl cmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5 OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ Ci0tLQogaHcvZGlzcGxheS92Z2EuYyB8IDc4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92Z2EuYyBiL2h3L2Rpc3BsYXkv dmdhLmMKaW5kZXggZWJmNjNmZi4uZmI4MjJmNCAxMDA2NDQKLS0tIGEvaHcv ZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNwbGF5L3ZnYS5jCkBAIC02NDMs NiArNjQzLDQ5IEBAIHN0YXRpYyB2b2lkIHZiZV9maXh1cF9yZWdzKFZHQUNv bW1vblN0YXRlICpzKQogICAgIHMtPnZiZV9zdGFydF9hZGRyICA9IG9mZnNl dCAvIDQ7CiB9CiAKKy8qIHdlIGluaXRpYWxpemUgdGhlIFZHQSBncmFwaGlj IG1vZGUgKi8KK3N0YXRpYyB2b2lkIHZiZV91cGRhdGVfdmdhcmVncyhWR0FD b21tb25TdGF0ZSAqcykKK3sKKyAgICBpbnQgaCwgc2hpZnRfY29udHJvbDsK KworICAgIGlmICghdmJlX2VuYWJsZWQocykpIHsKKyAgICAgICAgLyogdmJl IGlzIHR1cm5lZCBvZmYgLS0gbm90aGluZyB0byBkbyAqLworICAgICAgICBy ZXR1cm47CisgICAgfQorCisgICAgLyogZ3JhcGhpYyBtb2RlICsgbWVtb3J5 IG1hcCAxICovCisgICAgcy0+Z3JbVkdBX0dGWF9NSVNDXSA9IChzLT5ncltW R0FfR0ZYX01JU0NdICYgfjB4MGMpIHwgMHgwNCB8CisgICAgICAgIFZHQV9H UjA2X0dSQVBISUNTX01PREU7CisgICAgcy0+Y3JbVkdBX0NSVENfTU9ERV0g fD0gMzsgLyogbm8gQ0dBIG1vZGVzICovCisgICAgcy0+Y3JbVkdBX0NSVENf T0ZGU0VUXSA9IHMtPnZiZV9saW5lX29mZnNldCA+PiAzOworICAgIC8qIHdp ZHRoICovCisgICAgcy0+Y3JbVkdBX0NSVENfSF9ESVNQXSA9CisgICAgICAg IChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWFJFU10gPj4gMykgLSAx OworICAgIC8qIGhlaWdodCAob25seSBtZWFuaW5nZnVsIGlmIDwgMTAyNCkg Ki8KKyAgICBoID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1lSRVNd IC0gMTsKKyAgICBzLT5jcltWR0FfQ1JUQ19WX0RJU1BfRU5EXSA9IGg7Cisg ICAgcy0+Y3JbVkdBX0NSVENfT1ZFUkZMT1ddID0gKHMtPmNyW1ZHQV9DUlRD X09WRVJGTE9XXSAmIH4weDQyKSB8CisgICAgICAgICgoaCA+PiA3KSAmIDB4 MDIpIHwgKChoID4+IDMpICYgMHg0MCk7CisgICAgLyogbGluZSBjb21wYXJl IHRvIDEwMjMgKi8KKyAgICBzLT5jcltWR0FfQ1JUQ19MSU5FX0NPTVBBUkVd ID0gMHhmZjsKKyAgICBzLT5jcltWR0FfQ1JUQ19PVkVSRkxPV10gfD0gMHgx MDsKKyAgICBzLT5jcltWR0FfQ1JUQ19NQVhfU0NBTl0gfD0gMHg0MDsKKwor ICAgIGlmIChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfQlBQXSA9PSA0 KSB7CisgICAgICAgIHNoaWZ0X2NvbnRyb2wgPSAwOworICAgICAgICBzLT5z cltWR0FfU0VRX0NMT0NLX01PREVdICY9IH44OyAvKiBubyBkb3VibGUgbGlu ZSAqLworICAgIH0gZWxzZSB7CisgICAgICAgIHNoaWZ0X2NvbnRyb2wgPSAy OworICAgICAgICAvKiBzZXQgY2hhaW4gNCBtb2RlICovCisgICAgICAgIHMt PnNyW1ZHQV9TRVFfTUVNT1JZX01PREVdIHw9IFZHQV9TUjA0X0NITl80TTsK KyAgICAgICAgLyogYWN0aXZhdGUgYWxsIHBsYW5lcyAqLworICAgICAgICBz LT5zcltWR0FfU0VRX1BMQU5FX1dSSVRFXSB8PSBWR0FfU1IwMl9BTExfUExB TkVTOworICAgIH0KKyAgICBzLT5ncltWR0FfR0ZYX01PREVdID0gKHMtPmdy W1ZHQV9HRlhfTU9ERV0gJiB+MHg2MCkgfAorICAgICAgICAoc2hpZnRfY29u dHJvbCA8PCA1KTsKKyAgICBzLT5jcltWR0FfQ1JUQ19NQVhfU0NBTl0gJj0g fjB4OWY7IC8qIG5vIGRvdWJsZSBzY2FuICovCit9CisKIHN0YXRpYyB1aW50 MzJfdCB2YmVfaW9wb3J0X3JlYWRfaW5kZXgodm9pZCAqb3BhcXVlLCB1aW50 MzJfdCBhZGRyKQogewogICAgIFZHQUNvbW1vblN0YXRlICpzID0gb3BhcXVl OwpAQCAtNzI5LDUyICs3NzIsMTkgQEAgdm9pZCB2YmVfaW9wb3J0X3dyaXRl X2RhdGEodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2 YWwpCiAgICAgICAgIGNhc2UgVkJFX0RJU1BJX0lOREVYX0VOQUJMRToKICAg ICAgICAgICAgIGlmICgodmFsICYgVkJFX0RJU1BJX0VOQUJMRUQpICYmCiAg ICAgICAgICAgICAgICAgIShzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhf RU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVEKSkgewotICAgICAgICAgICAg ICAgIGludCBoLCBzaGlmdF9jb250cm9sOwogCiAgICAgICAgICAgICAgICAg cy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1ZJUlRfV0lEVEhdID0gMDsK ICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhf WF9PRkZTRVRdID0gMDsKICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tW QkVfRElTUElfSU5ERVhfWV9PRkZTRVRdID0gMDsKICAgICAgICAgICAgICAg ICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfRU5BQkxFXSB8PSBWQkVf RElTUElfRU5BQkxFRDsKICAgICAgICAgICAgICAgICB2YmVfZml4dXBfcmVn cyhzKTsKKyAgICAgICAgICAgICAgICB2YmVfdXBkYXRlX3ZnYXJlZ3Mocyk7 CiAKICAgICAgICAgICAgICAgICAvKiBjbGVhciB0aGUgc2NyZWVuICovCiAg ICAgICAgICAgICAgICAgaWYgKCEodmFsICYgVkJFX0RJU1BJX05PQ0xFQVJN RU0pKSB7CiAgICAgICAgICAgICAgICAgICAgIG1lbXNldChzLT52cmFtX3B0 ciwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnZiZV9yZWdz W1ZCRV9ESVNQSV9JTkRFWF9ZUkVTXSAqIHMtPnZiZV9saW5lX29mZnNldCk7 CiAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgLyogd2Ug aW5pdGlhbGl6ZSB0aGUgVkdBIGdyYXBoaWMgbW9kZSAqLwotICAgICAgICAg ICAgICAgIC8qIGdyYXBoaWMgbW9kZSArIG1lbW9yeSBtYXAgMSAqLwotICAg ICAgICAgICAgICAgIHMtPmdyW1ZHQV9HRlhfTUlTQ10gPSAocy0+Z3JbVkdB X0dGWF9NSVNDXSAmIH4weDBjKSB8IDB4MDQgfAotICAgICAgICAgICAgICAg ICAgICBWR0FfR1IwNl9HUkFQSElDU19NT0RFOwotICAgICAgICAgICAgICAg IHMtPmNyW1ZHQV9DUlRDX01PREVdIHw9IDM7IC8qIG5vIENHQSBtb2RlcyAq LwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX09GRlNFVF0gPSBz LT52YmVfbGluZV9vZmZzZXQgPj4gMzsKLSAgICAgICAgICAgICAgICAvKiB3 aWR0aCAqLwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRDX0hfRElT UF0gPQotICAgICAgICAgICAgICAgICAgICAocy0+dmJlX3JlZ3NbVkJFX0RJ U1BJX0lOREVYX1hSRVNdID4+IDMpIC0gMTsKLSAgICAgICAgICAgICAgICAv KiBoZWlnaHQgKG9ubHkgbWVhbmluZ2Z1bCBpZiA8IDEwMjQpICovCi0gICAg ICAgICAgICAgICAgaCA9IHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9Z UkVTXSAtIDE7Ci0gICAgICAgICAgICAgICAgcy0+Y3JbVkdBX0NSVENfVl9E SVNQX0VORF0gPSBoOwotICAgICAgICAgICAgICAgIHMtPmNyW1ZHQV9DUlRD X09WRVJGTE9XXSA9IChzLT5jcltWR0FfQ1JUQ19PVkVSRkxPV10gJiB+MHg0 MikgfAotICAgICAgICAgICAgICAgICAgICAoKGggPj4gNykgJiAweDAyKSB8 ICgoaCA+PiAzKSAmIDB4NDApOwotICAgICAgICAgICAgICAgIC8qIGxpbmUg Y29tcGFyZSB0byAxMDIzICovCi0gICAgICAgICAgICAgICAgcy0+Y3JbVkdB X0NSVENfTElORV9DT01QQVJFXSA9IDB4ZmY7Ci0gICAgICAgICAgICAgICAg cy0+Y3JbVkdBX0NSVENfT1ZFUkZMT1ddIHw9IDB4MTA7Ci0gICAgICAgICAg ICAgICAgcy0+Y3JbVkdBX0NSVENfTUFYX1NDQU5dIHw9IDB4NDA7Ci0KLSAg ICAgICAgICAgICAgICBpZiAocy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVY X0JQUF0gPT0gNCkgewotICAgICAgICAgICAgICAgICAgICBzaGlmdF9jb250 cm9sID0gMDsKLSAgICAgICAgICAgICAgICAgICAgcy0+c3JbVkdBX1NFUV9D TE9DS19NT0RFXSAmPSB+ODsgLyogbm8gZG91YmxlIGxpbmUgKi8KLSAgICAg ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBzaGlm dF9jb250cm9sID0gMjsKLSAgICAgICAgICAgICAgICAgICAgLyogc2V0IGNo YWluIDQgbW9kZSAqLwotICAgICAgICAgICAgICAgICAgICBzLT5zcltWR0Ff U0VRX01FTU9SWV9NT0RFXSB8PSBWR0FfU1IwNF9DSE5fNE07Ci0gICAgICAg ICAgICAgICAgICAgIC8qIGFjdGl2YXRlIGFsbCBwbGFuZXMgKi8KLSAgICAg ICAgICAgICAgICAgICAgcy0+c3JbVkdBX1NFUV9QTEFORV9XUklURV0gfD0g VkdBX1NSMDJfQUxMX1BMQU5FUzsKLSAgICAgICAgICAgICAgICB9Ci0gICAg ICAgICAgICAgICAgcy0+Z3JbVkdBX0dGWF9NT0RFXSA9IChzLT5ncltWR0Ff R0ZYX01PREVdICYgfjB4NjApIHwKLSAgICAgICAgICAgICAgICAgICAgKHNo aWZ0X2NvbnRyb2wgPDwgNSk7Ci0gICAgICAgICAgICAgICAgcy0+Y3JbVkdB X0NSVENfTUFYX1NDQU5dICY9IH4weDlmOyAvKiBubyBkb3VibGUgc2NhbiAq LwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBzLT5i YW5rX29mZnNldCA9IDA7CiAgICAgICAgICAgICB9Ci0tIAoxLjkuMQoK --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.6-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.6-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Transfer-Encoding: base64 RnJvbSBlZjhiZDFiMjZhNTk3YWU3YzMwNjIyNzY1NTYyNjY0MDA5M2NiN2Ey IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NTozOToyMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNC81XSB2Z2E6IHVwZGF0 ZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgb24gdmJlIGNoYW5nZXMKCkNhbGwgdGhl IG5ldyB2YmVfdXBkYXRlX3ZnYXJlZ3MoKSBmdW5jdGlvbiBvbiB2YmUgY29u ZmlndXJhdGlvbgpjaGFuZ2VzLCB0byBtYWtlIHN1cmUgdmdhIHJlZ2lzdGVy cyBhcmUgdXAtdG8tZGF0ZS4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1h bm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5v IFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0tLQogaHcv ZGlzcGxheS92Z2EuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspCgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92Z2EuYyBiL2h3L2Rp c3BsYXkvdmdhLmMKaW5kZXggZmI4MjJmNC4uMzczOTc1OCAxMDA2NDQKLS0t IGEvaHcvZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNwbGF5L3ZnYS5jCkBA IC03NjIsNiArNzYyLDcgQEAgdm9pZCB2YmVfaW9wb3J0X3dyaXRlX2RhdGEo dm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiAg ICAgICAgIGNhc2UgVkJFX0RJU1BJX0lOREVYX1lfT0ZGU0VUOgogICAgICAg ICAgICAgcy0+dmJlX3JlZ3Nbcy0+dmJlX2luZGV4XSA9IHZhbDsKICAgICAg ICAgICAgIHZiZV9maXh1cF9yZWdzKHMpOworICAgICAgICAgICAgdmJlX3Vw ZGF0ZV92Z2FyZWdzKHMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg IGNhc2UgVkJFX0RJU1BJX0lOREVYX0JBTks6CiAgICAgICAgICAgICB2YWwg Jj0gcy0+dmJlX2JhbmtfbWFzazsKLS0gCjEuOS4xCgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemuu-4.6-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Disposition: attachment; filename="xsa179-qemuu-4.6-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Transfer-Encoding: base64 RnJvbSA5MjQ1NmMwYzM2MWQ1ZGE4NThkNTQ0NjQ3YzYyNDZlYzc4ZWQ5MjJi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDo0ODowNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNS81XSB2Z2E6IG1ha2Ug c3VyZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgZm9yIHZiZSBzdGF5cyBpbnRhY3QK IChDVkUtMjAxNi0zNzEyKS4KCkNhbGwgdmJlX3VwZGF0ZV92Z2FyZWdzKCkg d2hlbiB0aGUgZ3Vlc3QgdG91Y2hlcyBHRlgsIFNFUSBvciBDUlQKcmVnaXN0 ZXJzLCB0byBtYWtlIHN1cmUgdGhlIHZnYSByZWdpc3RlcnMgd2lsbCBhbHdh eXMgaGF2ZSB0aGUKdmFsdWVzIG5lZWRlZCBieSB2YmUgbW9kZS4gIFRoaXMg bWFrZXMgc3VyZSB0aGUgc2FuaXR5IGNoZWNrcwphcHBsaWVkIGJ5IHZiZV9m aXh1cF9yZWdzKCkgYXJlIGVmZmVjdGl2ZS4KCldpdGhvdXQgdGhpcyBndWVz dHMgY2FuIG11Y2sgd2l0aCBzaGlmdF9jb250cm9sLCBjYW4gdHVybiBvbiBw bGFuYXIKdmdhIG1vZGVzIG9yIHRleHQgbW9kZSBlbXVsYXRpb24gd2hpbGUg VkJFIGlzIGFjdGl2ZSwgbWFraW5nIHFlbXUKdGFrZSBjb2RlIHBhdGhzIG1l YW50IGZvciBDR0EgY29tcGF0aWJpbGl0eSwgYnV0IHdpdGggdGhlIHZlcnkK bGFyZ2UgZGlzcGxheSB3aWR0aHMgYW5kIGhlaWd0cyBzZXR0YWJsZSB1c2lu ZyBWQkUgcmVnaXN0ZXJzLgoKV2hpY2ggaXMgZ29vZCBmb3Igb25lIG9yIGFu b3RoZXIgYnVmZmVyIG92ZXJmbG93LiAgTm90IHRoYXQKY3JpdGljYWwgYXMg dGhleSB0eXBpY2FsbHkgcmVhZCBvdmVyZmxvd3MgaGFwcGVuaW5nIHNvbWV3 aGVyZQppbiB0aGUgZGlzcGxheSBjb2RlLiAgU28gZ3Vlc3RzIGNhbiBEb1Mg YnkgY3Jhc2hpbmcgcWVtdSB3aXRoIGEKc2VnZmF1bHQsIGJ1dCBpdCBpcyBw cm9iYWJseSBub3QgcG9zc2libGUgdG8gYnJlYWsgb3V0IG9mIHRoZSBWTS4K CkZpeGVzOiBDVkUtMjAxNi0zNzEyClJlcG9ydGVkLWJ5OiBadW96aGkgRnp6 IDx6dW96aGkuZnp6QGFsaWJhYmEtaW5jLmNvbT4KUmVwb3J0ZWQtYnk6IFAg SiBQIDxwcGFuZGl0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IEdlcmQg SG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBT dGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Ci0t LQogaHcvZGlzcGxheS92Z2EuYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS92 Z2EuYyBiL2h3L2Rpc3BsYXkvdmdhLmMKaW5kZXggMzczOTc1OC4uZTdiZTk3 ZSAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS92Z2EuYworKysgYi9ody9kaXNw bGF5L3ZnYS5jCkBAIC0xNDAsNiArMTQwLDggQEAgc3RhdGljIHVpbnQzMl90 IGV4cGFuZDRbMjU2XTsKIHN0YXRpYyB1aW50MTZfdCBleHBhbmQyWzI1Nl07 CiBzdGF0aWMgdWludDhfdCBleHBhbmQ0dG84WzE2XTsKIAorc3RhdGljIHZv aWQgdmJlX3VwZGF0ZV92Z2FyZWdzKFZHQUNvbW1vblN0YXRlICpzKTsKKwog c3RhdGljIGlubGluZSBib29sIHZiZV9lbmFibGVkKFZHQUNvbW1vblN0YXRl ICpzKQogewogICAgIHJldHVybiBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5E RVhfRU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVEOwpAQCAtNDgzLDYgKzQ4 NSw3IEBAIHZvaWQgdmdhX2lvcG9ydF93cml0ZSh2b2lkICpvcGFxdWUsIHVp bnQzMl90IGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAgcHJpbnRmKCJ2 Z2E6IHdyaXRlIFNSJXggPSAweCUwMnhcbiIsIHMtPnNyX2luZGV4LCB2YWwp OwogI2VuZGlmCiAgICAgICAgIHMtPnNyW3MtPnNyX2luZGV4XSA9IHZhbCAm IHNyX21hc2tbcy0+c3JfaW5kZXhdOworICAgICAgICB2YmVfdXBkYXRlX3Zn YXJlZ3Mocyk7CiAgICAgICAgIGlmIChzLT5zcl9pbmRleCA9PSBWR0FfU0VR X0NMT0NLX01PREUpIHsKICAgICAgICAgICAgIHMtPnVwZGF0ZV9yZXRyYWNl X2luZm8ocyk7CiAgICAgICAgIH0KQEAgLTUxNCw2ICs1MTcsNyBAQCB2b2lk IHZnYV9pb3BvcnRfd3JpdGUodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRy LCB1aW50MzJfdCB2YWwpCiAgICAgICAgIHByaW50ZigidmdhOiB3cml0ZSBH UiV4ID0gMHglMDJ4XG4iLCBzLT5ncl9pbmRleCwgdmFsKTsKICNlbmRpZgog ICAgICAgICBzLT5ncltzLT5ncl9pbmRleF0gPSB2YWwgJiBncl9tYXNrW3Mt PmdyX2luZGV4XTsKKyAgICAgICAgdmJlX3VwZGF0ZV92Z2FyZWdzKHMpOwog ICAgICAgICB2Z2FfdXBkYXRlX21lbW9yeV9hY2Nlc3Mocyk7CiAgICAgICAg IGJyZWFrOwogICAgIGNhc2UgVkdBX0NSVF9JTToKQEAgLTUzMiwxMCArNTM2 LDEyIEBAIHZvaWQgdmdhX2lvcG9ydF93cml0ZSh2b2lkICpvcGFxdWUsIHVp bnQzMl90IGFkZHIsIHVpbnQzMl90IHZhbCkKICAgICAgICAgICAgIGlmIChz LT5jcl9pbmRleCA9PSBWR0FfQ1JUQ19PVkVSRkxPVykgewogICAgICAgICAg ICAgICAgIHMtPmNyW1ZHQV9DUlRDX09WRVJGTE9XXSA9IChzLT5jcltWR0Ff Q1JUQ19PVkVSRkxPV10gJiB+MHgxMCkgfAogICAgICAgICAgICAgICAgICAg ICAodmFsICYgMHgxMCk7CisgICAgICAgICAgICAgICAgdmJlX3VwZGF0ZV92 Z2FyZWdzKHMpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJu OwogICAgICAgICB9CiAgICAgICAgIHMtPmNyW3MtPmNyX2luZGV4XSA9IHZh bDsKKyAgICAgICAgdmJlX3VwZGF0ZV92Z2FyZWdzKHMpOwogCiAgICAgICAg IHN3aXRjaChzLT5jcl9pbmRleCkgewogICAgICAgICBjYXNlIFZHQV9DUlRD X0hfVE9UQUw6Ci0tIAoxLjkuMQoK --=separator Content-Type: application/octet-stream; name="xsa179-qemut-unstable-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Disposition: attachment; filename="xsa179-qemut-unstable-0001-vga-fix-banked-access-bounds-checking-CVE-2016-3710.patch" Content-Transfer-Encoding: base64 RnJvbSBiZWJiNGY1ODA5MDFmYjYzODAxNmQ5ODUxYTI4ZGJiODNkNDRiM2E2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAw ODo0OToxMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSB2Z2E6IGZpeCBi YW5rZWQgYWNjZXNzIGJvdW5kcyBjaGVja2luZyAoQ1ZFLTIwMTYtMzcxMCkK CnZnYSBhbGxvd3MgYmFua2VkIGFjY2VzcyB0byB2aWRlbyBtZW1vcnkgdXNp bmcgdGhlIHdpbmRvdyBhdCAweGEwMDAwMAphbmQgaXQgc3VwcG9ydHMgYSBk aWZmZXJlbnQgYWNjZXNzIG1vZGVzIHdpdGggZGlmZmVyZW50IGFkZHJlc3MK Y2FsY3VsYXRpb25zLgoKVGhlIFZCRSBib2NocyBleHRlbnRpb25zIHN1cHBv cnQgYmFua2VkIGFjY2VzcyB0b28sIHVzaW5nIHRoZQpWQkVfRElTUElfSU5E RVhfQkFOSyByZWdpc3Rlci4gIFRoZSBjb2RlIHRyaWVzIHRvIHRha2UgdGhl IGRpZmZlcmVudAphZGRyZXNzIGNhbGN1bGF0aW9ucyBpbnRvIGFjY291bnQg YW5kIGFwcGxpZXMgZGlmZmVyZW50IGxpbWl0cyB0bwpWQkVfRElTUElfSU5E RVhfQkFOSyBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgYWNjZXNzIG1vZGUu CgpXaGljaCBpcyBwcm9iYWJseSBlZmZlY3RpdmUgaW4gc3RvcHBpbmcgbWlz cHJvZ3JhbW1pbmcgYnkgYWNjaWRlbnQuCkJ1dCBmcm9tIGEgc2VjdXJpdHkg cG9pbnQgb2YgdmlldyBjb21wbGV0ZWx5IHVzZWxlc3MgYXMgYW4gYXR0YWNr ZXIKY2FuIGVhc2lseSBjaGFuZ2UgYWNjZXNzIG1vZGVzIGFmdGVyIHNldHRp bmcgdGhlIGJhbmsgcmVnaXN0ZXIuCgpEcm9wIHRoZSBib2d1cyBjaGVjaywg YWRkIHJhbmdlIGNoZWNrcyB0byB2Z2FfbWVtX3tyZWFkYix3cml0ZWJ9Cmlu c3RlYWQuCgpGaXhlczogQ1ZFLTIwMTYtMzcxMApSZXBvcnRlZC1ieTogUWlu Z2hhbyBUYW5nIDxsdW9kYWxvbmdkZUBnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpbQmFja3Bv cnQgdG8gcWVtdS14ZW4tdHJhZGl0aW9uXQpTaWduZWQtb2ZmLWJ5OiBBbmRy ZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIGh3 L3ZnYS5jIHwgMjUgKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvaHcvdmdhLmMgYi9ody92Z2EuYwppbmRleCBlOGIxY2Uw Li43MjI1NmYxIDEwMDY0NAotLS0gYS9ody92Z2EuYworKysgYi9ody92Z2Eu YwpAQCAtMzQsNiArMzQsOCBAQAogCiAjaW5jbHVkZSAicWVtdS10aW1lci5o IgogCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisKIC8vI2RlZmluZSBERUJVR19W R0EKIC8vI2RlZmluZSBERUJVR19WR0FfTUVNCiAvLyNkZWZpbmUgREVCVUdf VkdBX1JFRwpAQCAtNjg0LDExICs2ODYsNyBAQCBzdGF0aWMgdm9pZCB2YmVf aW9wb3J0X3dyaXRlX2RhdGEodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRy LCB1aW50MzJfdCB2YWwpCiAgICAgICAgICAgICB2YmVfZml4dXBfcmVncyhz KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFZCRV9ESVNQ SV9JTkRFWF9CQU5LOgotICAgICAgICAgICAgaWYgKHMtPnZiZV9yZWdzW1ZC RV9ESVNQSV9JTkRFWF9CUFBdID09IDQpIHsKLSAgICAgICAgICAgICAgdmFs ICY9IChzLT52YmVfYmFua19tYXNrID4+IDIpOwotICAgICAgICAgICAgfSBl bHNlIHsKLSAgICAgICAgICAgICAgdmFsICY9IHMtPnZiZV9iYW5rX21hc2s7 Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICB2YWwgJj0gcy0+dmJlX2Jh bmtfbWFzazsKICAgICAgICAgICAgIHMtPnZiZV9yZWdzW3MtPnZiZV9pbmRl eF0gPSB2YWw7CiAgICAgICAgICAgICBzLT5iYW5rX29mZnNldCA9ICh2YWwg PDwgMTYpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC03ODcsMTMgKzc4NSwy MSBAQCB1aW50MzJfdCB2Z2FfbWVtX3JlYWRiKHZvaWQgKm9wYXF1ZSwgdGFy Z2V0X3BoeXNfYWRkcl90IGFkZHIpCiAKICAgICBpZiAocy0+c3JbNF0gJiAw eDA4KSB7CiAgICAgICAgIC8qIGNoYWluIDQgbW9kZSA6IHNpbXBsZXN0IGFj Y2VzcyAqLworICAgICAgICBhc3NlcnQoYWRkciA8IHMtPnZyYW1fc2l6ZSk7 CiAgICAgICAgIHJldCA9IHMtPnZyYW1fcHRyW2FkZHJdOwogICAgIH0gZWxz ZSBpZiAocy0+Z3JbNV0gJiAweDEwKSB7CiAgICAgICAgIC8qIG9kZC9ldmVu IG1vZGUgKGFrYSB0ZXh0IG1vZGUgbWFwcGluZykgKi8KICAgICAgICAgcGxh bmUgPSAocy0+Z3JbNF0gJiAyKSB8IChhZGRyICYgMSk7Ci0gICAgICAgIHJl dCA9IHMtPnZyYW1fcHRyWygoYWRkciAmIH4xKSA8PCAxKSB8IHBsYW5lXTsK KyAgICAgICAgYWRkciA9ICgoYWRkciAmIH4xKSA8PCAxKSB8IHBsYW5lOwor ICAgICAgICBpZiAoYWRkciA+PSBzLT52cmFtX3NpemUpIHsKKyAgICAgICAg ICAgIHJldHVybiAweGZmOworICAgICAgICB9CisgICAgICAgIHJldCA9IHMt PnZyYW1fcHRyW2FkZHJdOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8qIHN0 YW5kYXJkIFZHQSBsYXRjaGVkIGFjY2VzcyAqLworICAgICAgICBpZiAoYWRk ciAqIHNpemVvZih1aW50MzJfdCkgPj0gcy0+dnJhbV9zaXplKSB7CisgICAg ICAgICAgICByZXR1cm4gMHhmZjsKKyAgICAgICAgfQogICAgICAgICBzLT5s YXRjaCA9ICgodWludDMyX3QgKilzLT52cmFtX3B0cilbYWRkcl07CiAKICAg ICAgICAgaWYgKCEocy0+Z3JbNV0gJiAweDA4KSkgewpAQCAtODgwLDYgKzg4 Niw3IEBAIHZvaWQgdmdhX21lbV93cml0ZWIodm9pZCAqb3BhcXVlLCB0YXJn ZXRfcGh5c19hZGRyX3QgYWRkciwgdWludDMyX3QgdmFsKQogICAgICAgICBw bGFuZSA9IGFkZHIgJiAzOwogICAgICAgICBtYXNrID0gKDEgPDwgcGxhbmUp OwogICAgICAgICBpZiAocy0+c3JbMl0gJiBtYXNrKSB7CisgICAgICAgICAg ICBhc3NlcnQoYWRkciA8IHMtPnZyYW1fc2l6ZSk7CiAgICAgICAgICAgICBz LT52cmFtX3B0clthZGRyXSA9IHZhbDsKICNpZmRlZiBERUJVR19WR0FfTUVN CiAgICAgICAgICAgICBwcmludGYoInZnYTogY2hhaW40OiBbMHgleF1cbiIs IGFkZHIpOwpAQCAtODkzLDYgKzkwMCw5IEBAIHZvaWQgdmdhX21lbV93cml0 ZWIodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkciwgdWlu dDMyX3QgdmFsKQogICAgICAgICBtYXNrID0gKDEgPDwgcGxhbmUpOwogICAg ICAgICBpZiAocy0+c3JbMl0gJiBtYXNrKSB7CiAgICAgICAgICAgICBhZGRy ID0gKChhZGRyICYgfjEpIDw8IDEpIHwgcGxhbmU7CisgICAgICAgICAgICBp ZiAoYWRkciA+PSBzLT52cmFtX3NpemUpIHsKKyAgICAgICAgICAgICAgICBy ZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBzLT52cmFtX3B0 clthZGRyXSA9IHZhbDsKICNpZmRlZiBERUJVR19WR0FfTUVNCiAgICAgICAg ICAgICBwcmludGYoInZnYTogb2RkL2V2ZW46IFsweCV4XVxuIiwgYWRkcik7 CkBAIC05NjUsNiArOTc1LDkgQEAgdm9pZCB2Z2FfbWVtX3dyaXRlYih2b2lk ICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCB1aW50MzJfdCB2 YWwpCiAgICAgICAgIG1hc2sgPSBzLT5zclsyXTsKICAgICAgICAgcy0+cGxh bmVfdXBkYXRlZCB8PSBtYXNrOyAvKiBvbmx5IHVzZWQgdG8gZGV0ZWN0IGZv bnQgY2hhbmdlICovCiAgICAgICAgIHdyaXRlX21hc2sgPSBtYXNrMTZbbWFz a107CisgICAgICAgIGlmIChhZGRyICogc2l6ZW9mKHVpbnQzMl90KSA+PSBz LT52cmFtX3NpemUpIHsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg fQogICAgICAgICAoKHVpbnQzMl90ICopcy0+dnJhbV9wdHIpW2FkZHJdID0K ICAgICAgICAgICAgICgoKHVpbnQzMl90ICopcy0+dnJhbV9wdHIpW2FkZHJd ICYgfndyaXRlX21hc2spIHwKICAgICAgICAgICAgICh2YWwgJiB3cml0ZV9t YXNrKTsKLS0gCjIuMS40Cgo= --=separator Content-Type: application/octet-stream; name="xsa179-qemut-unstable-0002-vga-add-vbe_enabled-helper.patch" Content-Disposition: attachment; filename="xsa179-qemut-unstable-0002-vga-add-vbe_enabled-helper.patch" Content-Transfer-Encoding: base64 RnJvbSAzNGRiMDlmYjk5Njc0NDE0MDhhMWZmMDU3OWQ1NTMyMjJjZjE3NDQx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDoxMTozNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSB2Z2E6IGFkZCB2 YmVfZW5hYmxlZCgpIGhlbHBlcgoKTWFrZXMgY29kZSBhIGJpdCBlYXNpZXIg dG8gcmVhZC4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhl bEByZWRoYXQuY29tPgpbQmFja3BvcnQgdG8gcWVtdS14ZW4tdHJhZGl0aW9u XQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVy M0BjaXRyaXguY29tPgotLS0KIGh3L3ZnYS5jIHwgMTMgKysrKysrKysrLS0t LQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9ody92Z2EuYyBiL2h3L3ZnYS5jCmluZGV4 IDcyMjU2ZjEuLmYzOWEyZWQgMTAwNjQ0Ci0tLSBhL2h3L3ZnYS5jCisrKyBi L2h3L3ZnYS5jCkBAIC0xNjAsNiArMTYwLDExIEBAIHN0YXRpYyB1aW50MzJf dCBleHBhbmQ0WzI1Nl07CiBzdGF0aWMgdWludDE2X3QgZXhwYW5kMlsyNTZd Owogc3RhdGljIHVpbnQ4X3QgZXhwYW5kNHRvOFsxNl07CiAKK3N0YXRpYyBp bmxpbmUgYm9vbCB2YmVfZW5hYmxlZChWR0FTdGF0ZSAqcykKK3sKKyAgICBy ZXR1cm4gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBW QkVfRElTUElfRU5BQkxFRDsKK30KKwogc3RhdGljIHZvaWQgdmdhX2Jpb3Nf aW5pdChWR0FTdGF0ZSAqcyk7CiBzdGF0aWMgdm9pZCB2Z2Ffc2NyZWVuX2R1 bXAodm9pZCAqb3BhcXVlLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7CiAKQEAg LTUzNSw3ICs1NDAsNyBAQCBzdGF0aWMgdm9pZCB2YmVfZml4dXBfcmVncyhW R0FTdGF0ZSAqcykKICAgICB1aW50MTZfdCAqciA9IHMtPnZiZV9yZWdzOwog ICAgIHVpbnQzMl90IGJpdHMsIGxpbmVsZW5ndGgsIG1heHksIG9mZnNldDsK IAotICAgIGlmICghKHJbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVf RElTUElfRU5BQkxFRCkpIHsKKyAgICBpZiAoIXZiZV9lbmFibGVkKHMpKSB7 CiAgICAgICAgIC8qIHZiZSBpcyB0dXJuZWQgb2ZmIC0tIG5vdGhpbmcgdG8g ZG8gKi8KICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTExNjUsNyArMTE3 MCw3IEBAIHN0YXRpYyB2b2lkIHZnYV9nZXRfb2Zmc2V0cyhWR0FTdGF0ZSAq cywKIHsKICAgICB1aW50MzJfdCBzdGFydF9hZGRyLCBsaW5lX29mZnNldCwg bGluZV9jb21wYXJlOwogI2lmZGVmIENPTkZJR19CT0NIU19WQkUKLSAgICBp ZiAocy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVf RElTUElfRU5BQkxFRCkgeworICAgIGlmICh2YmVfZW5hYmxlZChzKSkgewog ICAgICAgICBsaW5lX29mZnNldCA9IHMtPnZiZV9saW5lX29mZnNldDsKICAg ICAgICAgc3RhcnRfYWRkciA9IHMtPnZiZV9zdGFydF9hZGRyOwogICAgICAg ICBsaW5lX2NvbXBhcmUgPSA2NTUzNTsKQEAgLTE1NTEsNyArMTU1Niw3IEBA IHN0YXRpYyBpbnQgdmdhX2dldF9icHAoVkdBU3RhdGUgKnMpCiB7CiAgICAg aW50IHJldDsKICNpZmRlZiBDT05GSUdfQk9DSFNfVkJFCi0gICAgaWYgKHMt PnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9FTkFCTEVdICYgVkJFX0RJU1BJ X0VOQUJMRUQpIHsKKyAgICBpZiAodmJlX2VuYWJsZWQocykpIHsKICAgICAg ICAgcmV0ID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX0JQUF07CiAg ICAgfSBlbHNlCiAjZW5kaWYKQEAgLTE1NjYsNyArMTU3MSw3IEBAIHN0YXRp YyB2b2lkIHZnYV9nZXRfcmVzb2x1dGlvbihWR0FTdGF0ZSAqcywgaW50ICpw d2lkdGgsIGludCAqcGhlaWdodCkKICAgICBpbnQgd2lkdGgsIGhlaWdodDsK IAogI2lmZGVmIENPTkZJR19CT0NIU19WQkUKLSAgICBpZiAocy0+dmJlX3Jl Z3NbVkJFX0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxF RCkgeworICAgIGlmICh2YmVfZW5hYmxlZChzKSkgewogICAgICAgICB3aWR0 aCA9IHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9YUkVTXTsKICAgICAg ICAgaGVpZ2h0ID0gcy0+dmJlX3JlZ3NbVkJFX0RJU1BJX0lOREVYX1lSRVNd OwogICAgIH0gZWxzZQotLSAKMi4xLjQKCg== --=separator Content-Type: application/octet-stream; name="xsa179-qemut-unstable-0003-vga-factor-out-vga-register-setup.patch" Content-Disposition: attachment; filename="xsa179-qemut-unstable-0003-vga-factor-out-vga-register-setup.patch" Content-Transfer-Encoding: base64 RnJvbSBkZjIyODAyM2NlMzllOGI3MmJkNWExOThiODcwMzMxOWI4YjljYTIz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NToyNDoxOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy81XSB2Z2E6IGZhY3Rv ciBvdXQgdmdhIHJlZ2lzdGVyIHNldHVwCgpXaGVuIGVuYWJsaW5nIHZiZSBt b2RlIHFlbXUgd2lsbCBzZXR1cCBhIGJ1bmNoIG9mIHZnYSByZWdpc3RlcnMg dG8gbWFrZQpzdXJlIHRoZSB2Z2EgZW11bGF0aW9uIG9wZXJhdGVzIGluIGNv cnJlY3QgbW9kZSBmb3IgYSBsaW5lYXIKZnJhbWVidWZmZXIuICBNb3ZlIHRo YXQgY29kZSB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uIHNvIHdlIGNhbiBjYWxs IGl0CmZyb20gb3RoZXIgcGxhY2VzIHRvby4KClNpZ25lZC1vZmYtYnk6IEdl cmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpbQmFja3BvcnQgdG8g cWVtdS14ZW4tdHJhZGl0aW9uXQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29v cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIGh3L3ZnYS5j IHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQx IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2h3L3ZnYS5jIGIvaHcvdmdhLmMKaW5kZXggZjM5YTJlZC4uZGJhOTNkNyAx MDA2NDQKLS0tIGEvaHcvdmdhLmMKKysrIGIvaHcvdmdhLmMKQEAgLTYxNSw2 ICs2MTUsNDYgQEAgc3RhdGljIHZvaWQgdmJlX2ZpeHVwX3JlZ3MoVkdBU3Rh dGUgKnMpCiAgICAgcy0+dmJlX3N0YXJ0X2FkZHIgID0gb2Zmc2V0IC8gNDsK IH0KIAorLyogd2UgaW5pdGlhbGl6ZSB0aGUgVkdBIGdyYXBoaWMgbW9kZSAq Lworc3RhdGljIHZvaWQgdmJlX3VwZGF0ZV92Z2FyZWdzKFZHQVN0YXRlICpz KQoreworICAgIGludCBoLCBzaGlmdF9jb250cm9sOworCisgICAgaWYgKCF2 YmVfZW5hYmxlZChzKSkgeworICAgICAgICAvKiB2YmUgaXMgdHVybmVkIG9m ZiAtLSBub3RoaW5nIHRvIGRvICovCisgICAgICAgIHJldHVybjsKKyAgICB9 CisKKyAgICAvKiBncmFwaGljIG1vZGUgKyBtZW1vcnkgbWFwIDEgKi8KKyAg ICBzLT5nclsweDA2XSA9IChzLT5nclsweDA2XSAmIH4weDBjKSB8IDB4MDU7 CisgICAgcy0+Y3JbMHgxN10gfD0gMzsgLyogbm8gQ0dBIG1vZGVzICovCisg ICAgcy0+Y3JbMHgxM10gPSBzLT52YmVfbGluZV9vZmZzZXQgPj4gMzsKKyAg ICAvKiB3aWR0aCAqLworICAgIHMtPmNyWzB4MDFdID0gKHMtPnZiZV9yZWdz W1ZCRV9ESVNQSV9JTkRFWF9YUkVTXSA+PiAzKSAtIDE7CisgICAgLyogaGVp Z2h0IChvbmx5IG1lYW5pbmdmdWwgaWYgPCAxMDI0KSAqLworICAgIGggPSBz LT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWVJFU10gLSAxOworICAgIHMt PmNyWzB4MTJdID0gaDsKKyAgICBzLT5jclsweDA3XSA9IChzLT5jclsweDA3 XSAmIH4weDQyKSB8CisgICAgICAgICgoaCA+PiA3KSAmIDB4MDIpIHwgKCho ID4+IDMpICYgMHg0MCk7CisgICAgLyogbGluZSBjb21wYXJlIHRvIDEwMjMg Ki8KKyAgICBzLT5jclsweDE4XSA9IDB4ZmY7CisgICAgcy0+Y3JbMHgwN10g fD0gMHgxMDsKKyAgICBzLT5jclsweDA5XSB8PSAweDQwOworCisgICAgaWYg KHMtPnZiZV9yZWdzW1ZCRV9ESVNQSV9JTkRFWF9CUFBdID09IDQpIHsKKyAg ICAgICAgc2hpZnRfY29udHJvbCA9IDA7CisgICAgICAgIHMtPnNyWzB4MDFd ICY9IH44OyAvKiBubyBkb3VibGUgbGluZSAqLworICAgIH0gZWxzZSB7Cisg ICAgICAgIHNoaWZ0X2NvbnRyb2wgPSAyOworICAgICAgICAvKiBzZXQgY2hh aW4gNCBtb2RlICovCisgICAgICAgIHMtPnNyWzRdIHw9IDB4MDg7CisgICAg ICAgIC8qIGFjdGl2YXRlIGFsbCBwbGFuZXMgKi8KKyAgICAgICAgcy0+c3Jb Ml0gfD0gMHgwZjsKKyAgICB9CisgICAgcy0+Z3JbMHgwNV0gPSAocy0+Z3Jb MHgwNV0gJiB+MHg2MCkgfCAoc2hpZnRfY29udHJvbCA8PCA1KTsKKyAgICBz LT5jclsweDA5XSAmPSB+MHg5ZjsgLyogbm8gZG91YmxlIHNjYW4gKi8KK30K Kwogc3RhdGljIHVpbnQzMl90IHZiZV9pb3BvcnRfcmVhZF9pbmRleCh2b2lk ICpvcGFxdWUsIHVpbnQzMl90IGFkZHIpCiB7CiAgICAgVkdBU3RhdGUgKnMg PSBvcGFxdWU7CkBAIC02OTgsNyArNzM4LDYgQEAgc3RhdGljIHZvaWQgdmJl X2lvcG9ydF93cml0ZV9kYXRhKHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRk ciwgdWludDMyX3QgdmFsKQogICAgICAgICBjYXNlIFZCRV9ESVNQSV9JTkRF WF9FTkFCTEU6CiAgICAgICAgICAgICBpZiAoKHZhbCAmIFZCRV9ESVNQSV9F TkFCTEVEKSAmJgogICAgICAgICAgICAgICAgICEocy0+dmJlX3JlZ3NbVkJF X0RJU1BJX0lOREVYX0VOQUJMRV0gJiBWQkVfRElTUElfRU5BQkxFRCkpIHsK LSAgICAgICAgICAgICAgICBpbnQgaCwgc2hpZnRfY29udHJvbDsKICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAocy0+dnJhbV9nbWZu ICE9IHMtPmxmYl9hZGRyKSB7CiAgICAgICAgICAgICAgICAgICAgICBzZXRf dnJhbV9tYXBwaW5nKHMsIHMtPmxmYl9hZGRyLCBzLT5sZmJfZW5kKTsKQEAg LTcwOSw0MCArNzQ4LDEzIEBAIHN0YXRpYyB2b2lkIHZiZV9pb3BvcnRfd3Jp dGVfZGF0YSh2b2lkICpvcGFxdWUsIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90 IHZhbCkKICAgICAgICAgICAgICAgICBzLT52YmVfcmVnc1tWQkVfRElTUElf SU5ERVhfWV9PRkZTRVRdID0gMDsKICAgICAgICAgICAgICAgICBzLT52YmVf cmVnc1tWQkVfRElTUElfSU5ERVhfRU5BQkxFXSB8PSBWQkVfRElTUElfRU5B QkxFRDsKICAgICAgICAgICAgICAgICB2YmVfZml4dXBfcmVncyhzKTsKKyAg ICAgICAgICAgICAgICB2YmVfdXBkYXRlX3ZnYXJlZ3Mocyk7CiAKICAgICAg ICAgICAgICAgICAvKiBjbGVhciB0aGUgc2NyZWVuIChzaG91bGQgYmUgZG9u ZSBpbiBCSU9TKSAqLwogICAgICAgICAgICAgICAgIGlmICghKHZhbCAmIFZC RV9ESVNQSV9OT0NMRUFSTUVNKSkgewogICAgICAgICAgICAgICAgICAgICBt ZW1zZXQocy0+dnJhbV9wdHIsIDAsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWVJFU10gKiBzLT52 YmVfbGluZV9vZmZzZXQpOwogICAgICAgICAgICAgICAgIH0KLQotICAgICAg ICAgICAgICAgIC8qIHdlIGluaXRpYWxpemUgdGhlIFZHQSBncmFwaGljIG1v ZGUgKHNob3VsZCBiZSBkb25lCi0gICAgICAgICAgICAgICAgICAgaW4gQklP UykgKi8KLSAgICAgICAgICAgICAgICBzLT5nclsweDA2XSA9IChzLT5nclsw eDA2XSAmIH4weDBjKSB8IDB4MDU7IC8qIGdyYXBoaWMgbW9kZSArIG1lbW9y eSBtYXAgMSAqLwotICAgICAgICAgICAgICAgIHMtPmNyWzB4MTddIHw9IDM7 IC8qIG5vIENHQSBtb2RlcyAqLwotICAgICAgICAgICAgICAgIHMtPmNyWzB4 MTNdID0gcy0+dmJlX2xpbmVfb2Zmc2V0ID4+IDM7Ci0gICAgICAgICAgICAg ICAgLyogd2lkdGggKi8KLSAgICAgICAgICAgICAgICBzLT5jclsweDAxXSA9 IChzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfWFJFU10gPj4gMykgLSAx OwotICAgICAgICAgICAgICAgIC8qIGhlaWdodCAob25seSBtZWFuaW5nZnVs IGlmIDwgMTAyNCkgKi8KLSAgICAgICAgICAgICAgICBoID0gcy0+dmJlX3Jl Z3NbVkJFX0RJU1BJX0lOREVYX1lSRVNdIC0gMTsKLSAgICAgICAgICAgICAg ICBzLT5jclsweDEyXSA9IGg7Ci0gICAgICAgICAgICAgICAgcy0+Y3JbMHgw N10gPSAocy0+Y3JbMHgwN10gJiB+MHg0MikgfAotICAgICAgICAgICAgICAg ICAgICAoKGggPj4gNykgJiAweDAyKSB8ICgoaCA+PiAzKSAmIDB4NDApOwot ICAgICAgICAgICAgICAgIC8qIGxpbmUgY29tcGFyZSB0byAxMDIzICovCi0g ICAgICAgICAgICAgICAgcy0+Y3JbMHgxOF0gPSAweGZmOwotICAgICAgICAg ICAgICAgIHMtPmNyWzB4MDddIHw9IDB4MTA7Ci0gICAgICAgICAgICAgICAg cy0+Y3JbMHgwOV0gfD0gMHg0MDsKLQotICAgICAgICAgICAgICAgIGlmIChz LT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhfQlBQXSA9PSA0KSB7Ci0gICAg ICAgICAgICAgICAgICAgIHNoaWZ0X2NvbnRyb2wgPSAwOwotICAgICAgICAg ICAgICAgICAgICBzLT5zclsweDAxXSAmPSB+ODsgLyogbm8gZG91YmxlIGxp bmUgKi8KLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg ICAgICAgICBzaGlmdF9jb250cm9sID0gMjsKLSAgICAgICAgICAgICAgICAg ICAgcy0+c3JbNF0gfD0gMHgwODsgLyogc2V0IGNoYWluIDQgbW9kZSAqLwot ICAgICAgICAgICAgICAgICAgICBzLT5zclsyXSB8PSAweDBmOyAvKiBhY3Rp dmF0ZSBhbGwgcGxhbmVzICovCi0gICAgICAgICAgICAgICAgfQotICAgICAg ICAgICAgICAgIHMtPmdyWzB4MDVdID0gKHMtPmdyWzB4MDVdICYgfjB4NjAp IHwgKHNoaWZ0X2NvbnRyb2wgPDwgNSk7Ci0gICAgICAgICAgICAgICAgcy0+ Y3JbMHgwOV0gJj0gfjB4OWY7IC8qIG5vIGRvdWJsZSBzY2FuICovCiAgICAg ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8qIFhYWDogdGhl IGJpb3Mgc2hvdWxkIGRvIHRoYXQgKi8KICAgICAgICAgICAgICAgICBzLT5i YW5rX29mZnNldCA9IDA7Ci0tIAoyLjEuNAoK --=separator Content-Type: application/octet-stream; name="xsa179-qemut-unstable-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Disposition: attachment; filename="xsa179-qemut-unstable-0004-vga-update-vga-register-setup-on-vbe-changes.patch" Content-Transfer-Encoding: base64 RnJvbSA1ZTg0MGU2MjkyODI1ZmNhZTkwZjY3NTBhOGY1N2JjOTg5ZTI4YzVm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NTozOToyMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNC81XSB2Z2E6IHVwZGF0 ZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgb24gdmJlIGNoYW5nZXMKCkNhbGwgdGhl IG5ldyB2YmVfdXBkYXRlX3ZnYXJlZ3MoKSBmdW5jdGlvbiBvbiB2YmUgY29u ZmlndXJhdGlvbgpjaGFuZ2VzLCB0byBtYWtlIHN1cmUgdmdhIHJlZ2lzdGVy cyBhcmUgdXAtdG8tZGF0ZS4KClNpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1h bm4gPGtyYXhlbEByZWRoYXQuY29tPgpbQmFja3BvcnQgdG8gcWVtdS14ZW4t dHJhZGl0aW9uXQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIGh3L3ZnYS5jIHwgMSArCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9o dy92Z2EuYyBiL2h3L3ZnYS5jCmluZGV4IGRiYTkzZDcuLmIxYjUwMWIgMTAw NjQ0Ci0tLSBhL2h3L3ZnYS5jCisrKyBiL2h3L3ZnYS5jCkBAIC03MjksNiAr NzI5LDcgQEAgc3RhdGljIHZvaWQgdmJlX2lvcG9ydF93cml0ZV9kYXRhKHZv aWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkciwgdWludDMyX3QgdmFsKQogICAg ICAgICBjYXNlIFZCRV9ESVNQSV9JTkRFWF9ZX09GRlNFVDoKICAgICAgICAg ICAgIHMtPnZiZV9yZWdzW3MtPnZiZV9pbmRleF0gPSB2YWw7CiAgICAgICAg ICAgICB2YmVfZml4dXBfcmVncyhzKTsKKyAgICAgICAgICAgIHZiZV91cGRh dGVfdmdhcmVncyhzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj YXNlIFZCRV9ESVNQSV9JTkRFWF9CQU5LOgogICAgICAgICAgICAgdmFsICY9 IHMtPnZiZV9iYW5rX21hc2s7Ci0tIAoyLjEuNAoK --=separator Content-Type: application/octet-stream; name="xsa179-qemut-unstable-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Disposition: attachment; filename="xsa179-qemut-unstable-0005-vga-make-sure-vga-register-setup-for-vbe-stays-intac.patch" Content-Transfer-Encoding: base64 RnJvbSAwYjBjZjgxMTBlOTdiMGNiZDBkYTczZDExMTYzZTI2OTc4ODIyNzU3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHZXJkIEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAyNiBBcHIgMjAxNiAx NDo0ODowNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNS81XSB2Z2E6IG1ha2Ug c3VyZSB2Z2EgcmVnaXN0ZXIgc2V0dXAgZm9yIHZiZSBzdGF5cyBpbnRhY3QK IChDVkUtMjAxNi0zNzEyKS4KCkNhbGwgdmJlX3VwZGF0ZV92Z2FyZWdzKCkg d2hlbiB0aGUgZ3Vlc3QgdG91Y2hlcyBHRlgsIFNFUSBvciBDUlQKcmVnaXN0 ZXJzLCB0byBtYWtlIHN1cmUgdGhlIHZnYSByZWdpc3RlcnMgd2lsbCBhbHdh eXMgaGF2ZSB0aGUKdmFsdWVzIG5lZWRlZCBieSB2YmUgbW9kZS4gIFRoaXMg bWFrZXMgc3VyZSB0aGUgc2FuaXR5IGNoZWNrcwphcHBsaWVkIGJ5IHZiZV9m aXh1cF9yZWdzKCkgYXJlIGVmZmVjdGl2ZS4KCldpdGhvdXQgdGhpcyBndWVz dHMgY2FuIG11Y2sgd2l0aCBzaGlmdF9jb250cm9sLCBjYW4gdHVybiBvbiBw bGFuYXIKdmdhIG1vZGVzIG9yIHRleHQgbW9kZSBlbXVsYXRpb24gd2hpbGUg VkJFIGlzIGFjdGl2ZSwgbWFraW5nIHFlbXUKdGFrZSBjb2RlIHBhdGhzIG1l YW50IGZvciBDR0EgY29tcGF0aWJpbGl0eSwgYnV0IHdpdGggdGhlIHZlcnkK bGFyZ2UgZGlzcGxheSB3aWR0aHMgYW5kIGhlaWd0cyBzZXR0YWJsZSB1c2lu ZyBWQkUgcmVnaXN0ZXJzLgoKV2hpY2ggaXMgZ29vZCBmb3Igb25lIG9yIGFu b3RoZXIgYnVmZmVyIG92ZXJmbG93LiAgTm90IHRoYXQKY3JpdGljYWwgYXMg dGhleSB0eXBpY2FsbHkgcmVhZCBvdmVyZmxvd3MgaGFwcGVuaW5nIHNvbWV3 aGVyZQppbiB0aGUgZGlzcGxheSBjb2RlLiAgU28gZ3Vlc3RzIGNhbiBEb1Mg YnkgY3Jhc2hpbmcgcWVtdSB3aXRoIGEKc2VnZmF1bHQsIGJ1dCBpdCBpcyBw cm9iYWJseSBub3QgcG9zc2libGUgdG8gYnJlYWsgb3V0IG9mIHRoZSBWTS4K CkZpeGVzOiBDVkUtMjAxNi0zNzEyClJlcG9ydGVkLWJ5OiBadW96aGkgRnp6 IDx6dW96aGkuZnp6QGFsaWJhYmEtaW5jLmNvbT4KUmVwb3J0ZWQtYnk6IFAg SiBQIDxwcGFuZGl0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IEdlcmQg SG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpbQmFja3BvcnQgdG8gcWVt dS14ZW4tdHJhZGl0aW9uXQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVy IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIGh3L3ZnYS5jIHwg OSArKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9ody92Z2EuYyBiL2h3L3Zn YS5jCmluZGV4IGIxYjUwMWIuLjU3NzhjN2QgMTAwNjQ0Ci0tLSBhL2h3L3Zn YS5jCisrKyBiL2h3L3ZnYS5jCkBAIC0xNjAsNiArMTYwLDggQEAgc3RhdGlj IHVpbnQzMl90IGV4cGFuZDRbMjU2XTsKIHN0YXRpYyB1aW50MTZfdCBleHBh bmQyWzI1Nl07CiBzdGF0aWMgdWludDhfdCBleHBhbmQ0dG84WzE2XTsKIAor c3RhdGljIHZvaWQgdmJlX3VwZGF0ZV92Z2FyZWdzKFZHQVN0YXRlICpzKTsK Kwogc3RhdGljIGlubGluZSBib29sIHZiZV9lbmFibGVkKFZHQVN0YXRlICpz KQogewogICAgIHJldHVybiBzLT52YmVfcmVnc1tWQkVfRElTUElfSU5ERVhf RU5BQkxFXSAmIFZCRV9ESVNQSV9FTkFCTEVEOwpAQCAtNDQ5LDYgKzQ1MSw3 IEBAIHN0YXRpYyB2b2lkIHZnYV9pb3BvcnRfd3JpdGUodm9pZCAqb3BhcXVl LCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiAgICAgICAgIHByaW50 ZigidmdhOiB3cml0ZSBTUiV4ID0gMHglMDJ4XG4iLCBzLT5zcl9pbmRleCwg dmFsKTsKICNlbmRpZgogICAgICAgICBzLT5zcltzLT5zcl9pbmRleF0gPSB2 YWwgJiBzcl9tYXNrW3MtPnNyX2luZGV4XTsKKyAgICAgICAgdmJlX3VwZGF0 ZV92Z2FyZWdzKHMpOwogICAgICAgICBpZiAocy0+c3JfaW5kZXggPT0gMSkg cy0+dXBkYXRlX3JldHJhY2VfaW5mbyhzKTsKICAgICAgICAgYnJlYWs7CiAg ICAgY2FzZSAweDNjNzoKQEAgLTQ3Nyw2ICs0ODAsNyBAQCBzdGF0aWMgdm9p ZCB2Z2FfaW9wb3J0X3dyaXRlKHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRk ciwgdWludDMyX3QgdmFsKQogICAgICAgICBwcmludGYoInZnYTogd3JpdGUg R1IleCA9IDB4JTAyeFxuIiwgcy0+Z3JfaW5kZXgsIHZhbCk7CiAjZW5kaWYK ICAgICAgICAgcy0+Z3Jbcy0+Z3JfaW5kZXhdID0gdmFsICYgZ3JfbWFza1tz LT5ncl9pbmRleF07CisgICAgICAgIHZiZV91cGRhdGVfdmdhcmVncyhzKTsK ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSAweDNiNDoKICAgICBjYXNlIDB4 M2Q0OgpAQCAtNDkwLDggKzQ5NCwxMCBAQCBzdGF0aWMgdm9pZCB2Z2FfaW9w b3J0X3dyaXRlKHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkciwgdWludDMy X3QgdmFsKQogICAgICAgICAvKiBoYW5kbGUgQ1IwLTcgcHJvdGVjdGlvbiAq LwogICAgICAgICBpZiAoKHMtPmNyWzB4MTFdICYgMHg4MCkgJiYgcy0+Y3Jf aW5kZXggPD0gNykgewogICAgICAgICAgICAgLyogY2FuIGFsd2F5cyB3cml0 ZSBiaXQgNCBvZiBDUjcgKi8KLSAgICAgICAgICAgIGlmIChzLT5jcl9pbmRl eCA9PSA3KQorICAgICAgICAgICAgaWYgKHMtPmNyX2luZGV4ID09IDcpIHsK ICAgICAgICAgICAgICAgICBzLT5jcls3XSA9IChzLT5jcls3XSAmIH4weDEw KSB8ICh2YWwgJiAweDEwKTsKKyAgICAgICAgICAgICAgICB2YmVfdXBkYXRl X3ZnYXJlZ3Mocyk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1 cm47CiAgICAgICAgIH0KICAgICAgICAgc3dpdGNoKHMtPmNyX2luZGV4KSB7 CkBAIC01MDcsNiArNTEzLDcgQEAgc3RhdGljIHZvaWQgdmdhX2lvcG9ydF93 cml0ZSh2b2lkICpvcGFxdWUsIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90IHZh bCkKICAgICAgICAgICAgIHMtPmNyW3MtPmNyX2luZGV4XSA9IHZhbDsKICAg ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIHZiZV91cGRh dGVfdmdhcmVncyhzKTsKIAogICAgICAgICBzd2l0Y2gocy0+Y3JfaW5kZXgp IHsKICAgICAgICAgY2FzZSAweDAwOgotLSAKMi4xLjQKCg== --=separator Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK --=separator--