qemu: Upgrade to 2.8.0
PATCH v2 1/1 qemu: Upgrade to 2.8.0
Rebased patches:
- exclude-some-arm-EABI-obsolete-syscalls.patc
Removed patches (already in upstream):
- 0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch
- 0002-fix-CVE-2016-7423.patch
- 0003-fix-CVE-2016-7908.patch
- 0004-fix-CVE-2016-7909.patch
- Qemu-Arm-versatilepb-Add-memory-size-checking.patch
- 0001-target-mips-add-24KEc-CPU-definition.patch
Changelog,
http://wiki.qemu.org/ChangeLog/2.8
---
meta/conf/auto.conf | 6 ++
meta/recipes-devtools/qemu/qemu.inc | 3 -
...sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch | 71 ----------------------
...0001-target-mips-add-24KEc-CPU-definition.patch | 54 ----------------
...0001-virtio-zero-vq-inuse-in-virtio_reset.patch | 57 -----------------
.../qemu/qemu/0002-fix-CVE-2016-7423.patch | 45 --------------
.../qemu/qemu/0003-fix-CVE-2016-7908.patch | 62 -------------------
.../qemu/qemu/0004-fix-CVE-2016-7909.patch | 42 -------------
...-Arm-versatilepb-Add-memory-size-checking.patch | 46 --------------
.../exclude-some-arm-EABI-obsolete-syscalls.patch | 28 ++++-----
.../qemu/{qemu_2.7.0.bb => qemu_2.8.0.bb} | 10 +--
11 files changed, 21 insertions(+), 403 deletions(-)
create mode 100644 meta/conf/auto.conf
delete mode 100644 meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch
delete mode 100644 meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch
delete mode 100644 meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq-inuse-in-virtio_reset.patch
delete mode 100644 meta/recipes-devtools/qemu/qemu/0002-fix-CVE-2016-7423.patch
delete mode 100644 meta/recipes-devtools/qemu/qemu/0003-fix-CVE-2016-7908.patch
delete mode 100644 meta/recipes-devtools/qemu/qemu/0004-fix-CVE-2016-7909.patch
delete mode 100644 meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch
rename meta/recipes-devtools/qemu/{qemu_2.7.0.bb => qemu_2.8.0.bb} (58%)meta/conf/auto.conf new file +6 -0
@@ -0,0 +1,6 @@ +SSTATE_MIRRORS = "file://.* http://yctb01.zpn.intel.com/data/sstates/PATH \n" +PREMIRRORS_prepend = "\ + git://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n \ + ftp://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n \ + http://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n \ + https://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n"
meta/recipes-devtools/qemu/qemu.inc +0 -3
@@ -9,8 +9,6 @@ require qemu-targets.inc inherit autotools ptest BBCLASSEXTEND = "native nativesdk" -PR = "r1" - # QEMU_TARGETS is overridable variable QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc sh4 x86_64"
@@ -21,7 +19,6 @@ SRC_URI = "\ file://wacom.patch \ file://add-ptest-in-makefile.patch \ file://run-ptest \ - file://0001-target-mips-add-24KEc-CPU-definition.patch \ " SRC_URI_append_class-native = "\
meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0 -71
71 lines not on this page · raw message
meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch deleted +0 -54
54 lines not on this page · raw message
meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq-inuse-in-virtio_reset.patch deleted +0 -57
57 lines not on this page · raw message
meta/recipes-devtools/qemu/qemu/0002-fix-CVE-2016-7423.patch deleted +0 -45
45 lines not on this page · raw message
meta/recipes-devtools/qemu/qemu/0003-fix-CVE-2016-7908.patch deleted +0 -62
62 lines not on this page · raw message
meta/recipes-devtools/qemu/qemu/0004-fix-CVE-2016-7909.patch deleted +0 -42
42 lines not on this page · raw message
meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch deleted +0 -46
46 lines not on this page · raw message
meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +13 -15
@@ -1,4 +1,7 @@ -[PATCH] exclude some arm EABI obsolete syscalls +From 51910343594b3f655a205a096e092ecdacc253da Mon Sep 17 00:00:00 2001 +From: "Roy.Li" <[email protected]> +Date: Mon, 23 Jun 2014 14:28:30 +0800 +Subject: [PATCH 02/11] [PATCH] exclude some arm EABI obsolete syscalls Upstream-Status: Pending
@@ -26,15 +29,16 @@ or kernel header: /usr/include/asm/unistd.h Signed-off-by: Roy.Li <[email protected]> + --- - qemu-seccomp.c | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) + qemu-seccomp.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/qemu-seccomp.c b/qemu-seccomp.c -index caa926e..5a78502 100644 +index df75d9c..0e577f8 100644 --- a/qemu-seccomp.c +++ b/qemu-seccomp.c -@@ -25,15 +25,21 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -35,15 +35,21 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(timer_settime), 255 }, { SCMP_SYS(timer_gettime), 254 }, { SCMP_SYS(futex), 253 },
@@ -58,7 +62,7 @@ index caa926e..5a78502 100644 { SCMP_SYS(mprotect), 246 }, { SCMP_SYS(execve), 245 }, { SCMP_SYS(open), 245 }, -@@ -48,13 +54,11 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -58,7 +64,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(bind), 245 }, { SCMP_SYS(listen), 245 }, { SCMP_SYS(semget), 245 },
@@ -66,13 +70,7 @@ index caa926e..5a78502 100644 { SCMP_SYS(gettimeofday), 245 }, { SCMP_SYS(readlink), 245 }, { SCMP_SYS(access), 245 }, - { SCMP_SYS(prctl), 245 }, - { SCMP_SYS(signalfd), 245 }, -- { SCMP_SYS(getrlimit), 245 }, - { SCMP_SYS(set_tid_address), 245 }, - { SCMP_SYS(statfs), 245 }, - { SCMP_SYS(unlink), 245 }, -@@ -93,7 +97,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -104,7 +109,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(times), 245 }, { SCMP_SYS(exit), 245 }, { SCMP_SYS(clock_gettime), 245 },
@@ -80,7 +78,7 @@ index caa926e..5a78502 100644 { SCMP_SYS(restart_syscall), 245 }, { SCMP_SYS(pwrite64), 245 }, { SCMP_SYS(nanosleep), 245 }, -@@ -182,7 +185,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -194,7 +198,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(lstat64), 241 }, { SCMP_SYS(sendfile64), 241 }, { SCMP_SYS(ugetrlimit), 241 },
@@ -89,5 +87,5 @@ index caa926e..5a78502 100644 { SCMP_SYS(rt_sigqueueinfo), 241 }, { SCMP_SYS(rt_tgsigqueueinfo), 241 }, -- -1.9.1 +2.1.4
meta/recipes-devtools/qemu/qemu_2.8.0.bb renamed from meta/recipes-devtools/qemu/qemu_2.7.0.bb +2 -8
@@ -5,20 +5,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ SRC_URI += "file://configure-fix-Darwin-target-detection.patch \ file://qemu-enlarge-env-entry-size.patch \ - file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ file://no-valgrind.patch \ file://pathlimit.patch \ file://qemu-2.5.0-cflags.patch \ - file://0001-virtio-zero-vq-inuse-in-virtio_reset.patch \ - file://0002-fix-CVE-2016-7423.patch \ - file://0003-fix-CVE-2016-7908.patch \ - file://0004-fix-CVE-2016-7909.patch \ - file://0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch \ " SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" -SRC_URI[md5sum] = "08d4d06d1cb598efecd796137f4844ab" -SRC_URI[sha256sum] = "326e739506ba690daf69fc17bd3913a6c313d9928d743bd8eddb82f403f81e53" +SRC_URI[md5sum] = "17940dce063b6ce450a12e719a6c9c43" +SRC_URI[sha256sum] = "dafd5d7f649907b6b617b822692f4c82e60cf29bc0fc58bc2036219b591e5e62" COMPATIBLE_HOST_mipsarchn32 = "null" COMPATIBLE_HOST_mipsarchn64 = "null"
Signature · 1 line
2.1.4
Looks like this is broken for ppc when building gobject-introspection:
(top seven results in ross/mut2)
Ross
Quoted 660 lines · Aníbal Limón
Rebased patches:
- exclude-some-arm-EABI-obsolete-syscalls.patc
Removed patches (already in upstream):
- 0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch
- 0002-fix-CVE-2016-7423.patch
- 0003-fix-CVE-2016-7908.patch
- 0004-fix-CVE-2016-7909.patch
- Qemu-Arm-versatilepb-Add-memory-size-checking.patch
- 0001-target-mips-add-24KEc-CPU-definition.patchChangelog,
http://wiki.qemu.org/ChangeLog/2.8
Signed-off-by Aníbal Limón <[email protected]>--- meta/conf/auto.conf | 6 ++ meta/recipes-devtools/qemu/qemu.inc | 3 - ...sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch | 71 ---------------------- ...0001-target-mips-add-24KEc-CPU-definition.patch | 54 ---------------- ...0001-virtio-zero-vq-inuse-in-virtio_reset.patch | 57 ----------------- .../qemu/qemu/0002-fix-CVE-2016-7423.patch | 45 -------------- .../qemu/qemu/0003-fix-CVE-2016-7908.patch | 62 ------------------- .../qemu/qemu/0004-fix-CVE-2016-7909.patch | 42 ------------- ...-Arm-versatilepb-Add-memory-size-checking.patch | 46 -------------- .../exclude-some-arm-EABI-obsolete-syscalls.patch | 28 ++++----- .../qemu/{qemu_2.7.0.bb => qemu_2.8.0.bb} | 10 +-- 11 files changed, 21 insertions(+), 403 deletions(-) create mode 100644 meta/conf/auto.conf delete mode 100644 meta/recipes-devtools/qemu/ qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch delete mode 100644 meta/recipes-devtools/qemu/qemu/0001-target-mips-add- 24KEc-CPU-definition.patch delete mode 100644 meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq- inuse-in-virtio_reset.patch delete mode 100644 meta/recipes-devtools/qemu/ qemu/0002-fix-CVE-2016-7423.patch delete mode 100644 meta/recipes-devtools/qemu/ qemu/0003-fix-CVE-2016-7908.patch delete mode 100644 meta/recipes-devtools/qemu/ qemu/0004-fix-CVE-2016-7909.patch delete mode 100644 meta/recipes-devtools/qemu/ qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch rename meta/recipes-devtools/qemu/{qemu_2.7.0.bb => qemu_2.8.0.bb} (58%)meta/conf/auto.conf new file +1
-0@@ -0,0 +1,6 @@ +SSTATE_MIRRORS = "file://.* http://yctb01.zpn.intel.com/data/sstates/PATH\n"
meta/conf/auto.conf new file +5
-0+PREMIRRORS_prepend = "\ + git://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n \ + ftp://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n \ + http://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n \ + https://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n"meta/recipes-devtools/qemu/qemu.inc +0
-2@@ -9,8 +9,6 @@ require qemu-targets.inc inherit autotools ptest BBCLASSEXTEND = "native nativesdk" -PR = "r1" - # QEMU_TARGETS is overridable variable QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc sh4
x86_64"meta/recipes-devtools/qemu/qemu.inc +0
-1@@ -21,7 +19,6 @@ SRC_URI = "\ file://wacom.patch \ file://add-ptest-in-makefile.patch \ file://run-ptest \ - file://0001-target-mips-add-24KEc-CPU-definition.patch \ " SRC_URI_append_class-native = "\(quoted diff) +0
-0MSI-X-cap-and-table-with-PCIDevi.patch b/meta/recipes-devtools/qemu/
qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patchdeleted file mode 100644
index 03472dd..0000000
--- a/meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI- MSI-X-cap-and-table-with-PCIDevi.patch
+++/dev/nullmeta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-21@@ -1,71 +0,0 @@ -From 6baa545df93253fced4fc0d52b14b98447e00473 Mon Sep 17 00:00:00 2001 -From: Peter Xu <[email protected]> -Date: Mon, 28 Nov 2016 15:02:44 +0800 -Subject: [PATCH] pci-assign: sync MSI/MSI-X cap and table with PCIDevice - -Since commit e1d4fb2d ("kvm-irqchip: x86: add msi route notify fn"), -kvm_irqchip_add_msi_route() starts to use pci_get_msi_message() to fetch -MSI info. This requires that we setup MSI related fields in PCIDevice. -For most devices, that won't be a problem, as long as we are using -general interfaces like msi_init()/msix_init(). - -However, for pci-assign devices, MSI/MSI-X is treated differently - PCI -assign devices are maintaining its own MSI table and cap information in -AssignedDevice struct. however that's not synced up with PCIDevice's -fields. That will leads to pci_get_msi_message() failed to find correct -MSI capability, even with an NULL msix_table. - -A quick fix is to sync up the two places: both the capability bits and -table address for MSI/MSI-X. - -Upstream-Status: Backport [https://lists.gnu.org/archive/html/qemu-devel/2016-11/msg04649.html]
meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-16- -Reported-by: Changlimin <address@hidden> -Tested-by: Changlimin <address@hidden> -Cc: address@hidden -Fixes: e1d4fb2d ("kvm-irqchip: x86: add msi route notify fn") -Signed-off-by: Peter Xu <address@hidden> -Signed-off-by: He Zhe <[email protected]> ---- - hw/i386/kvm/pci-assign.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c -index 8238fbc..87dcbdd 100644 ---- a/hw/i386/kvm/pci-assign.c -+++ b/hw/i386/kvm/pci-assign.c -@@ -1251,6 +1251,7 @@ static int assigned_device_pci_cap_init(PCIDevice
*pci_dev, Error **errp)meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-8- error_propagate(errp, local_err); - return -ENOTSUP; - } -+ dev->dev.cap_present |= QEMU_PCI_CAP_MSI; - dev->cap.available |= ASSIGNED_DEVICE_CAP_MSI; - /* Only 32-bit/no-mask currently supported */ - ret = pci_add_capability2(pci_dev, PCI_CAP_ID_MSI, pos, 10, -@@ -1285,6 +1286,7 @@ static int assigned_device_pci_cap_init(PCIDevice
*pci_dev, Error **errp)meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-8- error_propagate(errp, local_err); - return -ENOTSUP; - } -+ dev->dev.cap_present |= QEMU_PCI_CAP_MSIX; - dev->cap.available |= ASSIGNED_DEVICE_CAP_MSIX; - ret = pci_add_capability2(pci_dev, PCI_CAP_ID_MSIX, pos, 12, - &local_err); -@@ -1648,6 +1650,7 @@ static void assigned_dev_register_msix_mmio(AssignedDevice*dev, Error **errp)
meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-8- dev->msix_table = NULL; - return; - } -+ dev->dev.msix_table = (uint8_t *)dev->msix_table; - - assigned_dev_msix_reset(dev); - -@@ -1665,6 +1668,7 @@ static void assigned_dev_unregister_msix_mmio(AssignedDevice*dev)
meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-10- error_report("error unmapping msix_table! %s", strerror(errno)); - } - dev->msix_table = NULL; -+ dev->dev.msix_table = NULL; - } - - static const VMStateDescription vmstate_assigned_device = { --- -2.8.3 -meta/recipes-devtools/qemu/qemu/0001-target-mips-add- renamed from meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch +0
-024KEc-CPU-definition.patch
deleted file mode 100644
index c4dbee7..0000000
--- a/meta/recipes-devtools/qemu/qemu/0001-target-mips-add- 24KEc-CPU-definition.patch
+++/dev/nullmeta/recipes-devtools/qemu/qemu/0001-target-mips-add- renamed from meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch +0
-15@@ -1,54 +0,0 @@ -From 926bc194f918d46bd93557b15da8153b6a94a1d5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <[email protected]> -Date: Mon, 25 Jul 2016 23:58:22 +0100 -Subject: [PATCH] target-mips: add 24KEc CPU definition -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Define a new CPU definition supporting 24KEc cores, similar to -the existing 24Kc, but with added support for DSP instructions -and MIPS16e (and without FPU). - -Signed-off-by: André Draszik <[email protected]> ---- -Upstream-Status: Submitted [http://lists.nongnu.org/archive/html/qemu-devel/2016-07/msg05778.html]
-target-mips/translate_init.c| 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)meta/recipes-devtools/qemu/qemu/0001-target-mips-add- renamed from meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch +0
-15- -diff --git a/target-mips/translate_init.c b/target-mips/translate_init.c -index 39ed5c4..6ae23e4 100644 ---- a/target-mips/translate_init.c -+++ b/target-mips/translate_init.c -@@ -256,6 +256,28 @@ static const mips_def_t mips_defs[] = - .mmu_type = MMU_TYPE_R4000, - }, - { -+ .name = "24KEc", -+ .CP0_PRid = 0x00019600, -+ .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR) | -+ (MMU_TYPE_R4000 << CP0C0_MT), -+ .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU) | -+ (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 <<
CP0C1_IA) |
-+ (0 <<CP0C1_DS) | (3 <<CP0C1_DL) | (1 <<CP0C1_DA) |
-+ (1 <<CP0C1_CA),
-+ .CP0_Config2 =MIPS_CONFIG2,
-+ .CP0_Config3 =MIPS_CONFIG3| (1 <<CP0C3_DSPP) | (0 <<CP0C3_VInt),-+ .CP0_LLAddr_rw_bitmask = 0, -+ .CP0_LLAddr_shift = 4, -+ .SYNCI_Step = 32, -+ .CCRes = 2, -+ /* we have a DSP, but no FPU */ -+ .CP0_Status_rw_bitmask = 0x1378FF1F, -+ .SEGBITS = 32, -+ .PABITS = 32, -+ .insn_flags = CPU_MIPS32R2 | ASE_MIPS16 | ASE_DSP, -+ .mmu_type = MMU_TYPE_R4000,-+ },
-+ {meta/recipes-devtools/qemu/qemu/0001-target-mips-add- renamed from meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch +0
-6- .name = "24Kf", - .CP0_PRid = 0x00019300, - .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR) | --- -2.8.1 -meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq- renamed from meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq-inuse-in-virtio_reset.patch +0
-0inuse-in-virtio_reset.patch
deleted file mode 100644
index 86955d0..0000000
--- a/meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq- inuse-in-virtio_reset.patch
+++/dev/nullmeta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq- renamed from meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq-inuse-in-virtio_reset.patch +0
-57@@ -1,57 +0,0 @@ -Upstream-Status: Backport - -Supplementary fix of CVE-2016-5403 which is backported from: - -http://git.qemu.org/?p=qemu.git;a=commit;h=4b7f91e - -Signed-off-by: Kai Kang <[email protected]> ---- -From 4b7f91ed0270a371e1933efa21ba600b6da23ab9 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi <[email protected]> -Date: Wed, 7 Sep 2016 11:51:25 -0400 -Subject: [PATCH] virtio: zero vq->inuse in virtio_reset() - -vq->inuse must be zeroed upon device reset like most other virtqueue -fields. - -In theory, virtio_reset() just needs assert(vq->inuse == 0) since -devices must clean up in-flight requests during reset (requests cannot -not be leaked!). - -In practice, it is difficult to achieve vq->inuse == 0 across reset -because balloon, blk, 9p, etc implement various different strategies for -cleaning up requests. Most devices call g_free(elem) directly without -telling virtio.c that the VirtQueueElement is cleaned up. Therefore -vq->inuse is not decremented during reset. - -This patch zeroes vq->inuse and trusts that devices are not leaking -VirtQueueElements across reset. - -I will send a follow-up series that refactors request life-cycle across -all devices and converts vq->inuse = 0 into assert(vq->inuse == 0) but -this more invasive approach is not appropriate for stable trees. - -Signed-off-by: Stefan Hajnoczi <[email protected]> -Cc: qemu-stable <[email protected]> -Reviewed-by: Michael S. Tsirkin <[email protected]> -Signed-off-by: Michael S. Tsirkin <[email protected]> -Reviewed-by: Ladi Prosek <[email protected]> ---- - hw/virtio/virtio.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c -index 74c085c..e8a13a5 100644 ---- a/hw/virtio/virtio.c -+++ b/hw/virtio/virtio.c -@@ -822,6 +822,7 @@ void virtio_reset(void *opaque) - vdev->vq[i].signalled_used_valid = false; - vdev->vq[i].notification = true; - vdev->vq[i].vring.num = vdev->vq[i].vring.num_default; -+ vdev->vq[i].inuse = 0; - } - } - --- -2.9.3 -meta/recipes-devtools/qemu/qemu/0002-fix-CVE-2016-7423.patch deleted +0
-34@@ -1,45 +0,0 @@ -Upstream-Status: Backport - -Backport patch to fix CVE-2016-7423 from: - -http://git.qemu.org/?p=qemu.git;a=commit;h=670e56d3ed - -CVE: CVE-2016-7423 - -Signed-off-by: Kai Kang <[email protected]> ---- -From 670e56d3ed2918b3861d9216f2c0540d9e9ae0d5 Mon Sep 17 00:00:00 2001 -From: Li Qiang <[email protected]> -Date: Mon, 12 Sep 2016 18:14:11 +0530 -Subject: [PATCH] scsi: mptsas: use g_new0 to allocate MPTSASRequest object - -When processing IO request in mptsas, it uses g_new to allocate -a 'req' object. If an error occurs before 'req->sreq' is -allocated, It could lead to an OOB write in mptsas_free_request -function. Use g_new0 to avoid it. - -Reported-by: Li Qiang <[email protected]> -Signed-off-by: Prasad J Pandit <[email protected]> -Message-Id: <[email protected]> -Cc: [email protected] -Signed-off-by: Paolo Bonzini <[email protected]> ---- - hw/scsi/mptsas.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c -index 0e0a22f..eaae1bb 100644 ---- a/hw/scsi/mptsas.c -+++ b/hw/scsi/mptsas.c -@@ -304,7 +304,7 @@ static int mptsas_process_scsi_io_request(MPTSASState*s,
meta/recipes-devtools/qemu/qemu/0002-fix-CVE-2016-7423.patch deleted +0
-11- goto bad; - } - -- req = g_new(MPTSASRequest, 1); -+ req = g_new0(MPTSASRequest, 1); - QTAILQ_INSERT_TAIL(&s->pending, req, next); - req->scsi_io = *scsi_io; - req->dev = s; --- -2.9.3 -meta/recipes-devtools/qemu/qemu/0003-fix-CVE-2016-7908.patch deleted +0
-34@@ -1,62 +0,0 @@ -Upstream-Status: Backport - -Backport patch to fix CVE-2016-7908 from: - -http://git.qemu.org/?p=qemu.git;a=commit;h=070c4b92b8c - -CVE: CVE-2016-7908 - -Signed-off-by: Kai Kang <[email protected]> ---- -From 070c4b92b8cd5390889716677a0b92444d6e087a Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <[email protected]> -Date: Thu, 22 Sep 2016 16:02:37 +0530 -Subject: [PATCH] net: mcf: limit buffer descriptor count - -ColdFire Fast Ethernet Controller uses buffer descriptors to manage -data flow to/fro receive & transmit queues. While transmitting -packets, it could continue to read buffer descriptors if a buffer -descriptor has length of zero and has crafted values in bd.flags. -Set upper limit to number of buffer descriptors. - -Reported-by: Li Qiang <[email protected]> -Signed-off-by: Prasad J Pandit <[email protected]> -Reviewed-by: Paolo Bonzini <[email protected]> -Signed-off-by: Jason Wang <[email protected]> ---- - hw/net/mcf_fec.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/hw/net/mcf_fec.c b/hw/net/mcf_fec.c -index 0ee8ad9..d31fea1 100644 ---- a/hw/net/mcf_fec.c -+++ b/hw/net/mcf_fec.c -@@ -23,6 +23,7 @@ do { printf("mcf_fec: " fmt , ## __VA_ARGS__); } while(0)
- #defineDPRINTF(fmt, ...)do {} while(0)
- #endifmeta/recipes-devtools/qemu/qemu/0003-fix-CVE-2016-7908.patch deleted +0
-26- -+#define FEC_MAX_DESC 1024 - #define FEC_MAX_FRAME_SIZE 2032 - - typedef struct { -@@ -149,7 +150,7 @@ static void mcf_fec_do_tx(mcf_fec_state *s) - uint32_t addr; - mcf_fec_bd bd; - int frame_size; -- int len; -+ int len, descnt = 0; - uint8_t frame[FEC_MAX_FRAME_SIZE]; - uint8_t *ptr; - -@@ -157,7 +158,7 @@ static void mcf_fec_do_tx(mcf_fec_state *s) - ptr = frame; - frame_size = 0; - addr = s->tx_descriptor; -- while (1) { -+ while (descnt++ < FEC_MAX_DESC) { - mcf_fec_read_bd(&bd, addr); - DPRINTF("tx_bd %x flags %04x len %d data %08x\n", - addr, bd.flags, bd.length, bd.data); --- -2.9.3 -meta/recipes-devtools/qemu/qemu/0004-fix-CVE-2016-7909.patch deleted +0
-1@@ -1,42 +0,0 @@ -Upstream-Status: Backport [http://git.qemu.org/?p=qemu.git;a=commit;h=34e29ce]
meta/recipes-devtools/qemu/qemu/0004-fix-CVE-2016-7909.patch deleted +0
-27-CVE: CVE-2016-7909 - -Signed-off-by: Kai Kang <[email protected]> ---- -From 34e29ce754c02bb6b3bdd244fbb85033460feaff Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <[email protected]> -Date: Fri, 30 Sep 2016 00:27:33 +0530 -Subject: [PATCH] net: pcnet: check rx/tx descriptor ring length - -The AMD PC-Net II emulator has set of control and status(CSR) -registers. Of these, CSR76 and CSR78 hold receive and transmit -descriptor ring length respectively. This ring length could range -from 1 to 65535. Setting ring length to zero leads to an infinite -loop in pcnet_rdra_addr() or pcnet_transmit(). Add check to avoid it. - -Reported-by: Li Qiang <[email protected]> -Signed-off-by: Prasad J Pandit <[email protected]> -Signed-off-by: Jason Wang <[email protected]> ---- - hw/net/pcnet.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c -index 198a01f..3078de8 100644 ---- a/hw/net/pcnet.c -+++ b/hw/net/pcnet.c -@@ -1429,8 +1429,11 @@ static void pcnet_csr_writew(PCNetState *s,
uint32_trap,uint32_tnew_value)meta/recipes-devtools/qemu/qemu/0004-fix-CVE-2016-7909.patch deleted +0
-14- case 47: /* POLLINT */ - case 72: - case 74: -+ break; - case 76: /* RCVRL */ - case 78: /* XMTRL */ -+ val = (val > 0) ? val : 512; -+ break; - case 112: - if (CSR_STOP(s) || CSR_SPND(s)) - break; --- -2.10.1 -meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- renamed from meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch +0
-0memory-size-checking.patch
deleted file mode 100644
index 1a6cf51..0000000
--- a/meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- memory-size-checking.patch
+++/dev/nullmeta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- renamed from meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch +0
-30@@ -1,46 +0,0 @@ -From 896fa02c24347e6e9259812cfda187b1d6ca6199 Mon Sep 17 00:00:00 2001 -From: Jiang Lu <[email protected]> -Date: Wed, 13 Nov 2013 10:38:08 +0800 -Subject: [PATCH] Qemu:Arm:versatilepb: Add memory size checking - -The machine can not work with memory over 256M, so add a checking -at startup. If the memory size exceed 256M, just stop emulation then -throw out warning about memory limitation. - -Upstream-Status: Pending - -Signed-off-by: Jiang Lu <[email protected]> - -Updated it on 2014-01-15 for rebasing - -Signed-off-by: Robert Yang <[email protected]> - -Update it when upgrade qemu to 2.2.0 - -Signed-off-by: Kai Kang <[email protected]> -Signed-off-by: Cristian Iorga <[email protected]> ---- - hw/arm/versatilepb.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c -index 6c69f4e..9278d90 100644 ---- a/hw/arm/versatilepb.c -+++ b/hw/arm/versatilepb.c -@@ -204,6 +204,13 @@ static void versatile_init(MachineState *machine,int
board_id)meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- renamed from meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch +0
-6- exit(1); - } - -+ if (machine->ram_size > (256 << 20)) { -+ fprintf(stderr, -+ "qemu: Too much memory for this machine: %d MB, maximum256 MB\n",
-+ ((unsigned int)ram_size / (1 << 20)));
-+ exit(1);
-+ }
-+meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- renamed from meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch +0
-6- cpuobj = object_new(object_class_get_name(cpu_oc)); - - /* By default ARM1176 CPUs have EL3 enabled. This board does not --- -2.1.0 -meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +0
-0obsolete-syscalls.patch
index 171bda7..60253bd 100644
--- a/meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- obsolete-syscalls.patch
+++ b/meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- obsolete-syscalls.patchmeta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +9
-5@@ -1,4 +1,7 @@ -[PATCH] exclude some arm EABI obsolete syscalls +From 51910343594b3f655a205a096e092ecdacc253da Mon Sep 17 00:00:00 2001 +From: "Roy.Li" <[email protected]> +Date: Mon, 23 Jun 2014 14:28:30 +0800 +Subject: [PATCH 02/11] [PATCH] exclude some arm EABI obsolete syscalls Upstream-Status: Pending@@ -26,15 +29,16 @@ or kernel header: /usr/include/asm/unistd.h Signed-off-by: Roy.Li <[email protected]> + --- - qemu-seccomp.c | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) + qemu-seccomp.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/qemu-seccomp.c b/qemu-seccomp.c -index caa926e..5a78502 100644 +index df75d9c..0e577f8 100644 --- a/qemu-seccomp.c +++ b/qemu-seccomp.c -@@ -25,15 +25,21 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -35,15 +35,21 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(timer_settime), 255 },{ SCMP_SYS(timer_gettime), 254 }, { SCMP_SYS(futex), 253 },meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +1
-1@@ -58,7 +62,7 @@ index caa926e..5a78502 100644 { SCMP_SYS(mprotect), 246 }, { SCMP_SYS(execve), 245 }, { SCMP_SYS(open), 245 }, -@@ -48,13 +54,11 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -58,7 +64,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(bind), 245 },{ SCMP_SYS(listen), 245 }, { SCMP_SYS(semget), 245 },meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +1
-7@@ -66,13 +70,7 @@ index caa926e..5a78502 100644 { SCMP_SYS(gettimeofday), 245 }, { SCMP_SYS(readlink), 245 }, { SCMP_SYS(access), 245 }, - { SCMP_SYS(prctl), 245 }, - { SCMP_SYS(signalfd), 245 }, -- { SCMP_SYS(getrlimit), 245 }, - { SCMP_SYS(set_tid_address), 245 }, - { SCMP_SYS(statfs), 245 }, - { SCMP_SYS(unlink), 245 }, -@@ -93,7 +97,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -104,7 +109,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(times), 245 },{ SCMP_SYS(exit), 245 }, { SCMP_SYS(clock_gettime), 245 },meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +1
-1@@ -80,7 +78,7 @@ index caa926e..5a78502 100644 { SCMP_SYS(restart_syscall), 245 }, { SCMP_SYS(pwrite64), 245 }, { SCMP_SYS(nanosleep), 245 }, -@@ -182,7 +185,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -194,7 +198,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(lstat64), 241 },{ SCMP_SYS(sendfile64), 241 }, { SCMP_SYS(ugetrlimit), 241 },meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +1
-1@@ -89,5 +87,5 @@ index caa926e..5a78502 100644 { SCMP_SYS(rt_sigqueueinfo), 241 }, { SCMP_SYS(rt_tgsigqueueinfo), 241 }, -- -1.9.1 +2.1.4meta/recipes-devtools/qemu/qemu_2.8.0.bb renamed from meta/recipes-devtools/qemu/qemu_2.7.0.bb +0
-8@@ -5,20 +5,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5= 441c28d2cf86e15a37fa47e15a72fbac \ SRC_URI += "file://configure-fix-Darwin-target-detection.patch \ file://qemu-enlarge-env-entry-size.patch \ - file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ file://no-valgrind.patch \ file://pathlimit.patch \ file://qemu-2.5.0-cflags.patch \ - file://0001-virtio-zero-vq-inuse-in-virtio_reset.patch \ - file://0002-fix-CVE-2016-7423.patch \ - file://0003-fix-CVE-2016-7908.patch \ - file://0004-fix-CVE-2016-7909.patch \ - file://0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch \ " SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" -SRC_URI[md5sum] = "08d4d06d1cb598efecd796137f4844ab" -SRC_URI[sha256sum] = "326e739506ba690daf69fc17bd3913
a6c313d9928d743bd8eddb82f403f81e53"meta/recipes-devtools/qemu/qemu_2.8.0.bb renamed from meta/recipes-devtools/qemu/qemu_2.7.0.bb +2
-0+SRC_URI[md5sum] = "17940dce063b6ce450a12e719a6c9c43" +SRC_URI[sha256sum] = "dafd5d7f649907b6b617b822692f4c
82e60cf29bc0fc58bc2036219b591e5e62"
COMPATIBLE_HOST_mipsarchn32= "null"
COMPATIBLE_HOST_mipsarchn64= "null"
--
2.1.4
Quoted 1 line · Ross
Looks like this is broken for ppc when building gobject-introspection:
It's weird, i'll review it, but i don't imagine what is failing gobject-introspection because a qemu upgrade.
Cheers,
alimon
Quoted 671 lines
(top seven results in ross/mut2)
Ross
Quoted 660 lines · Aníbal Limón
Rebased patches:
- exclude-some-arm-EABI-obsolete-syscalls.patc
Removed patches (already in upstream):
- 0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch
- 0002-fix-CVE-2016-7423.patch
- 0003-fix-CVE-2016-7908.patch
- 0004-fix-CVE-2016-7909.patch
- Qemu-Arm-versatilepb-Add-memory-size-checking.patch
- 0001-target-mips-add-24KEc-CPU-definition.patchChangelog,
http://wiki.qemu.org/ChangeLog/2.8
Signed-off-by Aníbal Limón <[email protected]>--- meta/conf/auto.conf | 6 ++ meta/recipes-devtools/qemu/qemu.inc | 3 - ...sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch | 71 ---------------------- ...0001-target-mips-add-24KEc-CPU-definition.patch | 54 ---------------- ...0001-virtio-zero-vq-inuse-in-virtio_reset.patch | 57 ----------------- .../qemu/qemu/0002-fix-CVE-2016-7423.patch | 45 -------------- .../qemu/qemu/0003-fix-CVE-2016-7908.patch | 62 ------------------- .../qemu/qemu/0004-fix-CVE-2016-7909.patch | 42 ------------- ...-Arm-versatilepb-Add-memory-size-checking.patch | 46 -------------- .../exclude-some-arm-EABI-obsolete-syscalls.patch | 28 ++++----- .../qemu/{qemu_2.7.0.bb => qemu_2.8.0.bb} | 10 +-- 11 files changed, 21 insertions(+), 403 deletions(-) create mode 100644 meta/conf/auto.conf delete mode 100644 meta/recipes-devtools/qemu/ qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch delete mode 100644 meta/recipes-devtools/qemu/qemu/0001-target-mips-add- 24KEc-CPU-definition.patch delete mode 100644 meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq- inuse-in-virtio_reset.patch delete mode 100644 meta/recipes-devtools/qemu/ qemu/0002-fix-CVE-2016-7423.patch delete mode 100644 meta/recipes-devtools/qemu/ qemu/0003-fix-CVE-2016-7908.patch delete mode 100644 meta/recipes-devtools/qemu/ qemu/0004-fix-CVE-2016-7909.patch delete mode 100644 meta/recipes-devtools/qemu/ qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch rename meta/recipes-devtools/qemu/{qemu_2.7.0.bb => qemu_2.8.0.bb} (58%)meta/conf/auto.conf new file +1
-0@@ -0,0 +1,6 @@ +SSTATE_MIRRORS = "file://.* http://yctb01.zpn.intel.com/data/sstates/PATH\n"
meta/conf/auto.conf new file +5
-0+PREMIRRORS_prepend = "\ + git://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n \ + ftp://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n \ + http://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n \ + https://.*/.* http://yctb01.zpn.intel.com/data/sources/ \n"meta/recipes-devtools/qemu/qemu.inc +0
-2@@ -9,8 +9,6 @@ require qemu-targets.inc inherit autotools ptest BBCLASSEXTEND = "native nativesdk" -PR = "r1" - # QEMU_TARGETS is overridable variable QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc sh4
x86_64"meta/recipes-devtools/qemu/qemu.inc +0
-1@@ -21,7 +19,6 @@ SRC_URI = "\ file://wacom.patch \ file://add-ptest-in-makefile.patch \ file://run-ptest \ - file://0001-target-mips-add-24KEc-CPU-definition.patch \ " SRC_URI_append_class-native = "\(quoted diff) +0
-0MSI-X-cap-and-table-with-PCIDevi.patch b/meta/recipes-devtools/qemu/
qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patchdeleted file mode 100644
index 03472dd..0000000
--- a/meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI- MSI-X-cap-and-table-with-PCIDevi.patch
+++/dev/nullmeta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-21@@ -1,71 +0,0 @@ -From 6baa545df93253fced4fc0d52b14b98447e00473 Mon Sep 17 00:00:00 2001 -From: Peter Xu <[email protected]> -Date: Mon, 28 Nov 2016 15:02:44 +0800 -Subject: [PATCH] pci-assign: sync MSI/MSI-X cap and table with PCIDevice - -Since commit e1d4fb2d ("kvm-irqchip: x86: add msi route notify fn"), -kvm_irqchip_add_msi_route() starts to use pci_get_msi_message() to fetch -MSI info. This requires that we setup MSI related fields in PCIDevice. -For most devices, that won't be a problem, as long as we are using -general interfaces like msi_init()/msix_init(). - -However, for pci-assign devices, MSI/MSI-X is treated differently - PCI -assign devices are maintaining its own MSI table and cap information in -AssignedDevice struct. however that's not synced up with PCIDevice's -fields. That will leads to pci_get_msi_message() failed to find correct -MSI capability, even with an NULL msix_table. - -A quick fix is to sync up the two places: both the capability bits and -table address for MSI/MSI-X. - -Upstream-Status: Backport [https://lists.gnu.org/archive/html/qemu-devel/2016-11/msg04649.html]
meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-16- -Reported-by: Changlimin <address@hidden> -Tested-by: Changlimin <address@hidden> -Cc: address@hidden -Fixes: e1d4fb2d ("kvm-irqchip: x86: add msi route notify fn") -Signed-off-by: Peter Xu <address@hidden> -Signed-off-by: He Zhe <[email protected]> ---- - hw/i386/kvm/pci-assign.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c -index 8238fbc..87dcbdd 100644 ---- a/hw/i386/kvm/pci-assign.c -+++ b/hw/i386/kvm/pci-assign.c -@@ -1251,6 +1251,7 @@ static int assigned_device_pci_cap_init(PCIDevice
*pci_dev, Error **errp)meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-8- error_propagate(errp, local_err); - return -ENOTSUP; - } -+ dev->dev.cap_present |= QEMU_PCI_CAP_MSI; - dev->cap.available |= ASSIGNED_DEVICE_CAP_MSI; - /* Only 32-bit/no-mask currently supported */ - ret = pci_add_capability2(pci_dev, PCI_CAP_ID_MSI, pos, 10, -@@ -1285,6 +1286,7 @@ static int assigned_device_pci_cap_init(PCIDevice
*pci_dev, Error **errp)meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-8- error_propagate(errp, local_err); - return -ENOTSUP; - } -+ dev->dev.cap_present |= QEMU_PCI_CAP_MSIX; - dev->cap.available |= ASSIGNED_DEVICE_CAP_MSIX; - ret = pci_add_capability2(pci_dev, PCI_CAP_ID_MSIX, pos, 12, - &local_err); -@@ -1648,6 +1650,7 @@ static void assigned_dev_register_msix_mmio(AssignedDevice*dev, Error **errp)
meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-8- dev->msix_table = NULL; - return; - } -+ dev->dev.msix_table = (uint8_t *)dev->msix_table; - - assigned_dev_msix_reset(dev); - -@@ -1665,6 +1668,7 @@ static void assigned_dev_unregister_msix_mmio(AssignedDevice*dev)
meta/recipes-devtools/qemu/qemu/0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch deleted +0
-10- error_report("error unmapping msix_table! %s", strerror(errno)); - } - dev->msix_table = NULL; -+ dev->dev.msix_table = NULL; - } - - static const VMStateDescription vmstate_assigned_device = { --- -2.8.3 -meta/recipes-devtools/qemu/qemu/0001-target-mips-add- renamed from meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch +0
-024KEc-CPU-definition.patch
deleted file mode 100644
index c4dbee7..0000000
--- a/meta/recipes-devtools/qemu/qemu/0001-target-mips-add- 24KEc-CPU-definition.patch
+++/dev/nullmeta/recipes-devtools/qemu/qemu/0001-target-mips-add- renamed from meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch +0
-15@@ -1,54 +0,0 @@ -From 926bc194f918d46bd93557b15da8153b6a94a1d5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <[email protected]> -Date: Mon, 25 Jul 2016 23:58:22 +0100 -Subject: [PATCH] target-mips: add 24KEc CPU definition -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Define a new CPU definition supporting 24KEc cores, similar to -the existing 24Kc, but with added support for DSP instructions -and MIPS16e (and without FPU). - -Signed-off-by: André Draszik <[email protected]> ---- -Upstream-Status: Submitted [http://lists.nongnu.org/archive/html/qemu-devel/2016-07/msg05778.html]
-target-mips/translate_init.c| 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)meta/recipes-devtools/qemu/qemu/0001-target-mips-add- renamed from meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch +0
-15- -diff --git a/target-mips/translate_init.c b/target-mips/translate_init.c -index 39ed5c4..6ae23e4 100644 ---- a/target-mips/translate_init.c -+++ b/target-mips/translate_init.c -@@ -256,6 +256,28 @@ static const mips_def_t mips_defs[] = - .mmu_type = MMU_TYPE_R4000, - }, - { -+ .name = "24KEc", -+ .CP0_PRid = 0x00019600, -+ .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR) | -+ (MMU_TYPE_R4000 << CP0C0_MT), -+ .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU) | -+ (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 <<
CP0C1_IA) |
-+ (0 <<CP0C1_DS) | (3 <<CP0C1_DL) | (1 <<CP0C1_DA) |
-+ (1 <<CP0C1_CA),
-+ .CP0_Config2 =MIPS_CONFIG2,
-+ .CP0_Config3 =MIPS_CONFIG3| (1 <<CP0C3_DSPP) | (0 <<CP0C3_VInt),-+ .CP0_LLAddr_rw_bitmask = 0, -+ .CP0_LLAddr_shift = 4, -+ .SYNCI_Step = 32, -+ .CCRes = 2, -+ /* we have a DSP, but no FPU */ -+ .CP0_Status_rw_bitmask = 0x1378FF1F, -+ .SEGBITS = 32, -+ .PABITS = 32, -+ .insn_flags = CPU_MIPS32R2 | ASE_MIPS16 | ASE_DSP, -+ .mmu_type = MMU_TYPE_R4000,-+ },
-+ {meta/recipes-devtools/qemu/qemu/0001-target-mips-add- renamed from meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch +0
-6- .name = "24Kf", - .CP0_PRid = 0x00019300, - .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR) | --- -2.8.1 -meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq- renamed from meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq-inuse-in-virtio_reset.patch +0
-0inuse-in-virtio_reset.patch
deleted file mode 100644
index 86955d0..0000000
--- a/meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq- inuse-in-virtio_reset.patch
+++/dev/nullmeta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq- renamed from meta/recipes-devtools/qemu/qemu/0001-virtio-zero-vq-inuse-in-virtio_reset.patch +0
-57@@ -1,57 +0,0 @@ -Upstream-Status: Backport - -Supplementary fix of CVE-2016-5403 which is backported from: - -http://git.qemu.org/?p=qemu.git;a=commit;h=4b7f91e - -Signed-off-by: Kai Kang <[email protected]> ---- -From 4b7f91ed0270a371e1933efa21ba600b6da23ab9 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi <[email protected]> -Date: Wed, 7 Sep 2016 11:51:25 -0400 -Subject: [PATCH] virtio: zero vq->inuse in virtio_reset() - -vq->inuse must be zeroed upon device reset like most other virtqueue -fields. - -In theory, virtio_reset() just needs assert(vq->inuse == 0) since -devices must clean up in-flight requests during reset (requests cannot -not be leaked!). - -In practice, it is difficult to achieve vq->inuse == 0 across reset -because balloon, blk, 9p, etc implement various different strategies for -cleaning up requests. Most devices call g_free(elem) directly without -telling virtio.c that the VirtQueueElement is cleaned up. Therefore -vq->inuse is not decremented during reset. - -This patch zeroes vq->inuse and trusts that devices are not leaking -VirtQueueElements across reset. - -I will send a follow-up series that refactors request life-cycle across -all devices and converts vq->inuse = 0 into assert(vq->inuse == 0) but -this more invasive approach is not appropriate for stable trees. - -Signed-off-by: Stefan Hajnoczi <[email protected]> -Cc: qemu-stable <[email protected]> -Reviewed-by: Michael S. Tsirkin <[email protected]> -Signed-off-by: Michael S. Tsirkin <[email protected]> -Reviewed-by: Ladi Prosek <[email protected]> ---- - hw/virtio/virtio.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c -index 74c085c..e8a13a5 100644 ---- a/hw/virtio/virtio.c -+++ b/hw/virtio/virtio.c -@@ -822,6 +822,7 @@ void virtio_reset(void *opaque) - vdev->vq[i].signalled_used_valid = false; - vdev->vq[i].notification = true; - vdev->vq[i].vring.num = vdev->vq[i].vring.num_default; -+ vdev->vq[i].inuse = 0; - } - } - --- -2.9.3 -meta/recipes-devtools/qemu/qemu/0002-fix-CVE-2016-7423.patch deleted +0
-34@@ -1,45 +0,0 @@ -Upstream-Status: Backport - -Backport patch to fix CVE-2016-7423 from: - -http://git.qemu.org/?p=qemu.git;a=commit;h=670e56d3ed - -CVE: CVE-2016-7423 - -Signed-off-by: Kai Kang <[email protected]> ---- -From 670e56d3ed2918b3861d9216f2c0540d9e9ae0d5 Mon Sep 17 00:00:00 2001 -From: Li Qiang <[email protected]> -Date: Mon, 12 Sep 2016 18:14:11 +0530 -Subject: [PATCH] scsi: mptsas: use g_new0 to allocate MPTSASRequest object - -When processing IO request in mptsas, it uses g_new to allocate -a 'req' object. If an error occurs before 'req->sreq' is -allocated, It could lead to an OOB write in mptsas_free_request -function. Use g_new0 to avoid it. - -Reported-by: Li Qiang <[email protected]> -Signed-off-by: Prasad J Pandit <[email protected]> -Message-Id: <[email protected]> -Cc: [email protected] -Signed-off-by: Paolo Bonzini <[email protected]> ---- - hw/scsi/mptsas.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c -index 0e0a22f..eaae1bb 100644 ---- a/hw/scsi/mptsas.c -+++ b/hw/scsi/mptsas.c -@@ -304,7 +304,7 @@ static int mptsas_process_scsi_io_request(MPTSASState*s,
meta/recipes-devtools/qemu/qemu/0002-fix-CVE-2016-7423.patch deleted +0
-11- goto bad; - } - -- req = g_new(MPTSASRequest, 1); -+ req = g_new0(MPTSASRequest, 1); - QTAILQ_INSERT_TAIL(&s->pending, req, next); - req->scsi_io = *scsi_io; - req->dev = s; --- -2.9.3 -meta/recipes-devtools/qemu/qemu/0003-fix-CVE-2016-7908.patch deleted +0
-34@@ -1,62 +0,0 @@ -Upstream-Status: Backport - -Backport patch to fix CVE-2016-7908 from: - -http://git.qemu.org/?p=qemu.git;a=commit;h=070c4b92b8c - -CVE: CVE-2016-7908 - -Signed-off-by: Kai Kang <[email protected]> ---- -From 070c4b92b8cd5390889716677a0b92444d6e087a Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <[email protected]> -Date: Thu, 22 Sep 2016 16:02:37 +0530 -Subject: [PATCH] net: mcf: limit buffer descriptor count - -ColdFire Fast Ethernet Controller uses buffer descriptors to manage -data flow to/fro receive & transmit queues. While transmitting -packets, it could continue to read buffer descriptors if a buffer -descriptor has length of zero and has crafted values in bd.flags. -Set upper limit to number of buffer descriptors. - -Reported-by: Li Qiang <[email protected]> -Signed-off-by: Prasad J Pandit <[email protected]> -Reviewed-by: Paolo Bonzini <[email protected]> -Signed-off-by: Jason Wang <[email protected]> ---- - hw/net/mcf_fec.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/hw/net/mcf_fec.c b/hw/net/mcf_fec.c -index 0ee8ad9..d31fea1 100644 ---- a/hw/net/mcf_fec.c -+++ b/hw/net/mcf_fec.c -@@ -23,6 +23,7 @@ do { printf("mcf_fec: " fmt , ## __VA_ARGS__); } while(0)
- #defineDPRINTF(fmt, ...)do {} while(0)
- #endifmeta/recipes-devtools/qemu/qemu/0003-fix-CVE-2016-7908.patch deleted +0
-26- -+#define FEC_MAX_DESC 1024 - #define FEC_MAX_FRAME_SIZE 2032 - - typedef struct { -@@ -149,7 +150,7 @@ static void mcf_fec_do_tx(mcf_fec_state *s) - uint32_t addr; - mcf_fec_bd bd; - int frame_size; -- int len; -+ int len, descnt = 0; - uint8_t frame[FEC_MAX_FRAME_SIZE]; - uint8_t *ptr; - -@@ -157,7 +158,7 @@ static void mcf_fec_do_tx(mcf_fec_state *s) - ptr = frame; - frame_size = 0; - addr = s->tx_descriptor; -- while (1) { -+ while (descnt++ < FEC_MAX_DESC) { - mcf_fec_read_bd(&bd, addr); - DPRINTF("tx_bd %x flags %04x len %d data %08x\n", - addr, bd.flags, bd.length, bd.data); --- -2.9.3 -meta/recipes-devtools/qemu/qemu/0004-fix-CVE-2016-7909.patch deleted +0
-1@@ -1,42 +0,0 @@ -Upstream-Status: Backport [http://git.qemu.org/?p=qemu.git;a=commit;h=34e29ce]
meta/recipes-devtools/qemu/qemu/0004-fix-CVE-2016-7909.patch deleted +0
-27-CVE: CVE-2016-7909 - -Signed-off-by: Kai Kang <[email protected]> ---- -From 34e29ce754c02bb6b3bdd244fbb85033460feaff Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <[email protected]> -Date: Fri, 30 Sep 2016 00:27:33 +0530 -Subject: [PATCH] net: pcnet: check rx/tx descriptor ring length - -The AMD PC-Net II emulator has set of control and status(CSR) -registers. Of these, CSR76 and CSR78 hold receive and transmit -descriptor ring length respectively. This ring length could range -from 1 to 65535. Setting ring length to zero leads to an infinite -loop in pcnet_rdra_addr() or pcnet_transmit(). Add check to avoid it. - -Reported-by: Li Qiang <[email protected]> -Signed-off-by: Prasad J Pandit <[email protected]> -Signed-off-by: Jason Wang <[email protected]> ---- - hw/net/pcnet.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c -index 198a01f..3078de8 100644 ---- a/hw/net/pcnet.c -+++ b/hw/net/pcnet.c -@@ -1429,8 +1429,11 @@ static void pcnet_csr_writew(PCNetState *s,
uint32_trap,uint32_tnew_value)meta/recipes-devtools/qemu/qemu/0004-fix-CVE-2016-7909.patch deleted +0
-14- case 47: /* POLLINT */ - case 72: - case 74: -+ break; - case 76: /* RCVRL */ - case 78: /* XMTRL */ -+ val = (val > 0) ? val : 512; -+ break; - case 112: - if (CSR_STOP(s) || CSR_SPND(s)) - break; --- -2.10.1 -meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- renamed from meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch +0
-0memory-size-checking.patch
deleted file mode 100644
index 1a6cf51..0000000
--- a/meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- memory-size-checking.patch
+++/dev/nullmeta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- renamed from meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch +0
-30@@ -1,46 +0,0 @@ -From 896fa02c24347e6e9259812cfda187b1d6ca6199 Mon Sep 17 00:00:00 2001 -From: Jiang Lu <[email protected]> -Date: Wed, 13 Nov 2013 10:38:08 +0800 -Subject: [PATCH] Qemu:Arm:versatilepb: Add memory size checking - -The machine can not work with memory over 256M, so add a checking -at startup. If the memory size exceed 256M, just stop emulation then -throw out warning about memory limitation. - -Upstream-Status: Pending - -Signed-off-by: Jiang Lu <[email protected]> - -Updated it on 2014-01-15 for rebasing - -Signed-off-by: Robert Yang <[email protected]> - -Update it when upgrade qemu to 2.2.0 - -Signed-off-by: Kai Kang <[email protected]> -Signed-off-by: Cristian Iorga <[email protected]> ---- - hw/arm/versatilepb.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c -index 6c69f4e..9278d90 100644 ---- a/hw/arm/versatilepb.c -+++ b/hw/arm/versatilepb.c -@@ -204,6 +204,13 @@ static void versatile_init(MachineState *machine,int
board_id)meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- renamed from meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch +0
-6- exit(1); - } - -+ if (machine->ram_size > (256 << 20)) { -+ fprintf(stderr, -+ "qemu: Too much memory for this machine: %d MB, maximum256 MB\n",
-+ ((unsigned int)ram_size / (1 << 20)));
-+ exit(1);
-+ }
-+meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add- renamed from meta/recipes-devtools/qemu/qemu/Qemu-Arm-versatilepb-Add-memory-size-checking.patch +0
-6- cpuobj = object_new(object_class_get_name(cpu_oc)); - - /* By default ARM1176 CPUs have EL3 enabled. This board does not --- -2.1.0 -meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +0
-0obsolete-syscalls.patch
index 171bda7..60253bd 100644
--- a/meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- obsolete-syscalls.patch
+++ b/meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- obsolete-syscalls.patchmeta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +9
-5@@ -1,4 +1,7 @@ -[PATCH] exclude some arm EABI obsolete syscalls +From 51910343594b3f655a205a096e092ecdacc253da Mon Sep 17 00:00:00 2001 +From: "Roy.Li" <[email protected]> +Date: Mon, 23 Jun 2014 14:28:30 +0800 +Subject: [PATCH 02/11] [PATCH] exclude some arm EABI obsolete syscalls Upstream-Status: Pending@@ -26,15 +29,16 @@ or kernel header: /usr/include/asm/unistd.h Signed-off-by: Roy.Li <[email protected]> + --- - qemu-seccomp.c | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) + qemu-seccomp.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/qemu-seccomp.c b/qemu-seccomp.c -index caa926e..5a78502 100644 +index df75d9c..0e577f8 100644 --- a/qemu-seccomp.c +++ b/qemu-seccomp.c -@@ -25,15 +25,21 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -35,15 +35,21 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(timer_settime), 255 },{ SCMP_SYS(timer_gettime), 254 }, { SCMP_SYS(futex), 253 },meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +1
-1@@ -58,7 +62,7 @@ index caa926e..5a78502 100644 { SCMP_SYS(mprotect), 246 }, { SCMP_SYS(execve), 245 }, { SCMP_SYS(open), 245 }, -@@ -48,13 +54,11 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -58,7 +64,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(bind), 245 },{ SCMP_SYS(listen), 245 }, { SCMP_SYS(semget), 245 },meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +1
-7@@ -66,13 +70,7 @@ index caa926e..5a78502 100644 { SCMP_SYS(gettimeofday), 245 }, { SCMP_SYS(readlink), 245 }, { SCMP_SYS(access), 245 }, - { SCMP_SYS(prctl), 245 }, - { SCMP_SYS(signalfd), 245 }, -- { SCMP_SYS(getrlimit), 245 }, - { SCMP_SYS(set_tid_address), 245 }, - { SCMP_SYS(statfs), 245 }, - { SCMP_SYS(unlink), 245 }, -@@ -93,7 +97,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -104,7 +109,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(times), 245 },{ SCMP_SYS(exit), 245 }, { SCMP_SYS(clock_gettime), 245 },meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +1
-1@@ -80,7 +78,7 @@ index caa926e..5a78502 100644 { SCMP_SYS(restart_syscall), 245 }, { SCMP_SYS(pwrite64), 245 }, { SCMP_SYS(nanosleep), 245 }, -@@ -182,7 +185,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { +@@ -194,7 +198,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(lstat64), 241 },{ SCMP_SYS(sendfile64), 241 }, { SCMP_SYS(ugetrlimit), 241 },meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI- renamed from meta/recipes-devtools/qemu/qemu/exclude-some-arm-EABI-obsolete-syscalls.patch +1
-1@@ -89,5 +87,5 @@ index caa926e..5a78502 100644 { SCMP_SYS(rt_sigqueueinfo), 241 }, { SCMP_SYS(rt_tgsigqueueinfo), 241 }, -- -1.9.1 +2.1.4meta/recipes-devtools/qemu/qemu_2.8.0.bb renamed from meta/recipes-devtools/qemu/qemu_2.7.0.bb +0
-8@@ -5,20 +5,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5= 441c28d2cf86e15a37fa47e15a72fbac \ SRC_URI += "file://configure-fix-Darwin-target-detection.patch \ file://qemu-enlarge-env-entry-size.patch \ - file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ file://no-valgrind.patch \ file://pathlimit.patch \ file://qemu-2.5.0-cflags.patch \ - file://0001-virtio-zero-vq-inuse-in-virtio_reset.patch \ - file://0002-fix-CVE-2016-7423.patch \ - file://0003-fix-CVE-2016-7908.patch \ - file://0004-fix-CVE-2016-7909.patch \ - file://0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch \ " SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" -SRC_URI[md5sum] = "08d4d06d1cb598efecd796137f4844ab" -SRC_URI[sha256sum] = "326e739506ba690daf69fc17bd3913
a6c313d9928d743bd8eddb82f403f81e53"meta/recipes-devtools/qemu/qemu_2.8.0.bb renamed from meta/recipes-devtools/qemu/qemu_2.7.0.bb +2
-0+SRC_URI[md5sum] = "17940dce063b6ce450a12e719a6c9c43" +SRC_URI[sha256sum] = "dafd5d7f649907b6b617b822692f4c
82e60cf29bc0fc58bc2036219b591e5e62"
COMPATIBLE_HOST_mipsarchn32= "null"
COMPATIBLE_HOST_mipsarchn64= "null"
--
2.1.4
Quoted 3 lines · Aníbal Limón
It's weird, i'll review it, but i don't imagine what is failing gobject-introspection because a qemu upgrade.
The g-i build runs largely inside a qemu-user instance (the crash is inside qemu).
Ross
Quoted 9 lines · Ross
Quoted 3 lines · Aníbal Limón
It's weird, i'll review it, but i don't imagine what is failing gobject-introspection because a qemu upgrade.
The g-i build runs largely inside a qemu-user instance (the crash is inside qemu).
Hi,
I got the stack trace, it's an issue in the PPC TCG some patches in upstream looks like could be cause the problem [1][2][3].
(gdb) bt
#0 0x000000000086e204 in static_code_gen_buffer ()
#1 0x000000000040e922 in cpu_tb_exec (itb=<optimized out>,
itb=<optimized out>, cpu=0x29864d0) at /home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/cpu-exec.c:164 #2 cpu_loop_exec_tb (sc=<optimized out>, tb_exit=<synthetic pointer>,
last_tb=<synthetic pointer>, tb=<optimized out>, cpu=0x29864d0) at /home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/cpu-exec.c:544 #3 cpu_exec (cpu=cpu@entry=0x29864d0) at /home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/cpu-exec.c:638 #4 0x0000000000445fba in cpu_loop (env=env@entry=0x298e750) at /home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/linux-user/main.c:1359 #5 0x0000000000448a95 in clone_func (arg=0x7fffffffa910) at /home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/linux-user/syscall.c:6090 #6 0x00007ffff6a750a4 in start_thread (arg=0x7ffff7f4d700) at
pthread_create.c:309
#7 0x00007ffff67aa62d in clone () at../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb) info threds
Id Target Id Frame
1 Thread 0x7ffff7fd0780 (LWP 25006) "qemu-ppc"
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
2 Thread 0x7ffff647e700 (LWP 25010) "qemu-ppc" syscall () at../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
* 3 Thread 0x7ffff7f4d700 (LWP 25011) "qemu-ppc" 0x000000000086e204
in static_code_gen_buffer ()
I'll send an email to the qemu mailing list.
Cheers,
alimon
[1]
http://git.qemu.org/?p=qemu.git;a=commit;h=bd6fefe71cec5a0c7d2be4ac96307f25db56abf9
[2]
http://git.qemu.org/?p=qemu.git;a=commit;h=ba4a8df83f474be1ba02510f960e5224f29d229c
[3]
http://git.qemu.org/?p=qemu.git;a=commit;h=4f5d326046fa522010c0a66f1bcaac9068253085
Quoted 3 lines
Ross
Quoted 11 lines · Aníbal Limón
(gdb) info threds
Id Target Id Frame
1 Thread0x7ffff7fd0780(LWP 25006) "qemu-ppc"
pthread_cond_wait@@GLIBC_2.3.2 () at../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
2 Thread0x7ffff647e700(LWP 25010) "qemu-ppc" syscall () at../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
* 3 Thread0x7ffff7f4d700(LWP 25011) "qemu-ppc"0x000000000086e204
instatic_code_gen_buffer()I'll send an email to the qemu mailing list.
If this isn't fixed in reasonable time, we should probably disable qemu usermode on ppc - unfortunate, but that's the deal with using it for anything.
You would need to just copy/tweak the corresponding line from meta/conf/machine/include/powerpc/arch-powerpc64.inc
Alex
Quoted 4 lines · Alexander Kanavin
If this isn't fixed in reasonable time, we should probably disable qemu usermode on ppc - unfortunate, but that's the deal with using it for anything.
I consider that a backup position, stalling the upgrade to see if upstream can fix it is preferable.
Ross
Quoted 53 lines · Aníbal Limón
Quoted 9 lines · Ross
Quoted 3 lines · Aníbal Limón
It's weird, i'll review it, but i don't imagine what is failing gobject-introspection because a qemu upgrade.
The g-i build runs largely inside a qemu-user instance (the crash is inside qemu).
Hi,
I got the stack trace, it's an issue in the PPC TCG some patches in upstream looks like could be cause the problem [1][2][3].
(gdb) bt
#00x000000000086e204instatic_code_gen_buffer()
#10x000000000040e922incpu_tb_exec(itb=<optimized out>,
itb=<optimized out>, cpu=0x29864d0) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/cpu-exec.c:164#2cpu_loop_exec_tb(sc=<optimized out>, tb_exit=<synthetic pointer>,
last_tb=<synthetic pointer>, tb=<optimized out>, cpu=0x29864d0) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/cpu-exec.c:544#3cpu_exec(cpu=cpu@entry=0x29864d0) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/cpu-exec.c:638#40x0000000000445fbaincpu_loop(env=env@entry=0x298e750) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/linux-user/main.c:1359#50x0000000000448a95inclone_func(arg=0x7fffffffa910) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/linux-user/syscall.c:6090#60x00007ffff6a750a4instart_thread(arg=0x7ffff7f4d700) at
pthread_create.c:309
#70x00007ffff67aa62din clone () at../sysdeps/unix/sysv/linux/x86_64/clone.S:111(gdb) info threds
Id Target Id Frame
1 Thread0x7ffff7fd0780(LWP 25006) "qemu-ppc"
pthread_cond_wait@@GLIBC_2.3.2 () at../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
2 Thread0x7ffff647e700(LWP 25010) "qemu-ppc" syscall () at../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
* 3 Thread0x7ffff7f4d700(LWP 25011) "qemu-ppc"0x000000000086e204
instatic_code_gen_buffer()I'll send an email to the qemu mailing list.
Cheers,
alimon
Quoted 6 lines
[1]
http://git.qemu.org/?p=qemu.git;a=commit;h=bd6fefe71cec5a0c7d2be4ac96307f25db56abf9
[2]
http://git.qemu.org/?p=qemu.git;a=commit;h=ba4a8df83f474be1ba02510f960e5224f29d229c
[3]
http://git.qemu.org/?p=qemu.git;a=commit;h=4f5d326046fa522010c0a66f1bcaac9068253085
I can't get a response from qemu people so i will send a minor upgrade 2.7.1 while i debug the issue.
alimon
Quoted 7 lines
Quoted 4 lines
Ross
Quoted 51 lines · Aníbal Limón
Quoted 48 lines · Aníbal Limón
Quoted 9 lines · Ross
Quoted 3 lines · Aníbal Limón
It's weird, i'll review it, but i don't imagine what is failing gobject-introspection because a qemu upgrade.
The g-i build runs largely inside a qemu-user instance (the crash is inside qemu).
Hi,
I got the stack trace, it's an issue in the PPC TCG some patches in upstream looks like could be cause the problem [1][2][3].
(gdb) bt
#00x000000000086e204instatic_code_gen_buffer()
#10x000000000040e922incpu_tb_exec(itb=<optimized out>,
itb=<optimized out>, cpu=0x29864d0) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/cpu-exec.c:164#2cpu_loop_exec_tb(sc=<optimized out>, tb_exit=<synthetic pointer>,
last_tb=<synthetic pointer>, tb=<optimized out>, cpu=0x29864d0) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/cpu-exec.c:544#3cpu_exec(cpu=cpu@entry=0x29864d0) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/cpu-exec.c:638#40x0000000000445fbaincpu_loop(env=env@entry=0x298e750) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/linux-user/main.c:1359#50x0000000000448a95inclone_func(arg=0x7fffffffa910) at/home/alimon/repos/poky/build-ppc/tmp/work/x86_64-linux/qemu-native/2.8.0-r0/qemu-2.8.0/linux-user/syscall.c:6090#60x00007ffff6a750a4instart_thread(arg=0x7ffff7f4d700) at
pthread_create.c:309
#70x00007ffff67aa62din clone () at../sysdeps/unix/sysv/linux/x86_64/clone.S:111(gdb) info threds
Id Target Id Frame
1 Thread0x7ffff7fd0780(LWP 25006) "qemu-ppc"
pthread_cond_wait@@GLIBC_2.3.2 () at../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
2 Thread0x7ffff647e700(LWP 25010) "qemu-ppc" syscall () at../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
* 3 Thread0x7ffff7f4d700(LWP 25011) "qemu-ppc"0x000000000086e204
instatic_code_gen_buffer()
Quoted 7 lines
Quoted 7 lines
I'll send an email to the qemu mailing list.
Cheers,
alimon[1]
http://git.qemu.org/?p=qemu.git;a=commit;h=bd6fefe71cec5a0c7d2be4ac96307f25db56abf9
This patch caused the issue, i received a email with the patch for fix this problem from the qemu-ppc ML.
https://lists.gnu.org/archive/html/qemu-ppc/2017-01/msg00413.html
I tested the patch and send again the qemu upgrade to 2.8.0.
Cheers,
alimon
Quoted 20 lines
Quoted 4 lines
[2]
http://git.qemu.org/?p=qemu.git;a=commit;h=ba4a8df83f474be1ba02510f960e5224f29d229c
[3]
http://git.qemu.org/?p=qemu.git;a=commit;h=4f5d326046fa522010c0a66f1bcaac9068253085I can't get a response from qemu people so i will send a minor upgrade 2.7.1 while i debug the issue.
alimon
Quoted 7 lines
Quoted 4 lines
Ross