ba5dde9750
53a199d7-x86-EFI-allow-FPU-XMM-use-in-runtime-service-functions.patch - Upstream patches from Jan 538c338f-x86-amd_ucode-flip-revision-numbers-in-printk.patch 538ee637-ACPI-Prevent-acpi_table_entries-from-falling-into-a-infinite-loop.patch 5390917a-VT-d-honor-APEI-firmware-first-mode-in-XSA-59-workaround-code.patch 53909259-x86-domctl-two-functional-fixes-to-XEN_DOMCTL_-gs-etvcpuextstate.patch 5390927f-x86-fix-reboot-shutdown-with-running-HVM-guests.patch 5396d818-avoid-crash-on-HVM-domain-destroy-with-PCI-passthrough.patch 5396e805-x86-HVM-refine-SMEP-test-in-HVM_CR4_GUEST_RESERVED_BITS.patch 539ebe62-x86-EFI-improve-boot-time-diagnostics.patch 539ec004-x86-mce-don-t-spam-the-console-with-CPUx-Temperature-z.patch 53a040c6-page-alloc-scrub-pages-used-by-hypervisor-upon-freeing.patch (replaces xsa100.patch) 53a1990a-IOMMU-prevent-VT-d-device-IOTLB-operations-on-wrong-IOMMU.patch - Replace 'domUloader' with 'pygrub' when converting or importing Xen domains into libvirt with xen2libvirt. domUloader is no longer provided in xen-tools. Modified: xen2libvirt.py Thu Jun 13 15:50:19 MDT 2014 - cyliu@suse.com - fate#310956: Support Direct Kernel Boot for FV guests patches would go to upstream: qemu side: qemu-support-xen-hvm-direct-kernel-boot.patch xen side: xen-pass-kernel-initrd-to-qemu.patch - bnc#880751 - VUL-0: xen: Hypervisor heap contents leaked to guests xsa100.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=320
36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
# Commit 9c1e8cae657bc13e8b1ddeede17603d77f3ad341
|
|
# Date 2014-06-04 11:26:15 +0200
|
|
# Author Malcolm Crossley <malcolm.crossley@citrix.com>
|
|
# Committer Jan Beulich <jbeulich@suse.com>
|
|
ACPI: Prevent acpi_table_entries from falling into a infinite loop
|
|
|
|
If a buggy BIOS programs an ACPI table with to small an entry length
|
|
then acpi_table_entries gets stuck in an infinite loop.
|
|
|
|
To aid debugging, report the error and exit the loop.
|
|
|
|
Based on Linux kernel commit 369d913b242cae2205471b11b6e33ac368ed33ec
|
|
|
|
Signed-off-by: Malcolm Crossley <malcolm.crossley@citrix.com>
|
|
|
|
Use < instead of <= (which I wrongly suggested), return -ENODATA
|
|
instead of -EINVAL, and make description match code.
|
|
|
|
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
|
|
|
--- a/xen/drivers/acpi/tables.c
|
|
+++ b/xen/drivers/acpi/tables.c
|
|
@@ -233,6 +233,12 @@ acpi_table_parse_entries(char *id,
|
|
|
|
while (((unsigned long)entry) + sizeof(struct acpi_subtable_header) <
|
|
table_end) {
|
|
+ if (entry->length < sizeof(*entry)) {
|
|
+ printk(KERN_ERR PREFIX "[%4.4s:%#x] Invalid length\n",
|
|
+ id, entry_id);
|
|
+ return -ENODATA;
|
|
+ }
|
|
+
|
|
if (entry->type == entry_id
|
|
&& (!max_entries || count++ < max_entries))
|
|
if (handler(entry, table_end))
|