- bsc#969351 - VUL-0: CVE-2016-2841: xen: net: ne2000: infinite

loop in ne2000_receive
  CVE-2016-2841-qemut-ne2000-infinite-loop-in-ne2000_receive.patch

- Use system qemu instead of building/installing yet another qemu
  FATE#320638
- Dropped files
  qemu-xen-dir-remote.tar.bz2
  CVE-2014-0222-qemuu-qcow1-validate-l2-table-size.patch
  CVE-2015-1779-qemuu-incrementally-decode-websocket-frames.patch
  CVE-2015-1779-qemuu-limit-size-of-HTTP-headers-from-websockets-clients.patch
  CVE-2015-4037-qemuu-smb-config-dir-name.patch
  CVE-2015-7512-qemuu-net-pcnet-buffer-overflow-in-non-loopback-mode.patch
  CVE-2015-7549-qemuu-pci-null-pointer-dereference-issue.patch
  CVE-2015-8345-qemuu-eepro100-infinite-loop-fix.patch
  CVE-2015-8504-qemuu-vnc-avoid-floating-point-exception.patch
  CVE-2015-8558-qemuu-usb-infinite-loop-in-ehci_advance_state-results-in-DoS.patch
  CVE-2015-8568-qemuu-net-vmxnet3-avoid-memory-leakage-in-activate_device.patch
  CVE-2015-8613-qemuu-scsi-initialise-info-object-with-appropriate-size.patch
  CVE-2015-8743-qemuu-ne2000-OOB-memory-access-in-ioport-rw-functions.patch
  CVE-2015-8744-qemuu-net-vmxnet3-incorrect-l2-header-validation-leads-to-crash.patch
  CVE-2015-8745-qemuu-net-vmxnet3-read-IMR-registers-instead-of-assert.patch
  CVE-2016-1568-qemuu-ide-ahci-reset-ncq-object-to-unused-on-error.patch
  CVE-2016-1714-qemuu-fw_cfg-add-check-to-validate-current-entry-value.patch
  CVE-2014-7815-qemut-vnc-sanitize-bits_per_pixel-from-the-client.patch
  qemu-xen-enable-spice-support.patch
  qemu-xen-upstream-qdisk-cache-unsafe.patch
  tigervnc-long-press.patch
- bsc#964452 - VUL-0: CVE-2013-4534: xen: openpic: buffer overrun
  on incoming migration

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=408
This commit is contained in:
Charles Arnold
2016-03-03 22:36:20 +00:00
committed by Git OBS Bridge
parent 6636a216d1
commit b87fe0a367
41 changed files with 239 additions and 2020 deletions

217
xen.spec
View File

@@ -15,7 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# needssslcertforbuild
Name: xen
@@ -171,7 +170,6 @@ Group: System/Kernel
Source0: xen-4.6.1-testing-src.tar.bz2
Source1: stubdom.tar.bz2
Source2: qemu-xen-traditional-dir-remote.tar.bz2
Source3: qemu-xen-dir-remote.tar.bz2
Source4: seabios-dir-remote.tar.bz2
Source5: ipxe.tar.bz2
Source6: mini-os.tar.bz2
@@ -207,15 +205,13 @@ Patch1: 55f7f9d2-libxl-slightly-refine-pci-assignable-add-remove-handlin
Patch2: 5628fc67-libxl-No-emulated-disk-driver-for-xvdX-disk.patch
Patch3: 5644b756-x86-HVM-don-t-inject-DB-with-error-code.patch
Patch4: 5649bcbe-libxl-relax-readonly-check-introduced-by-XSA-142-fix.patch
Patch15401: xsa154.patch
Patch15402: xsa154-fix.patch
Patch154: xsa154.patch
Patch15501: xsa155-xen-0001-xen-Add-RING_COPY_REQUEST.patch
Patch15502: xsa155-xen-0002-blktap2-Use-RING_COPY_REQUEST.patch
Patch15503: xsa155-xen-0003-libvchan-Read-prod-cons-only-once.patch
Patch162: xsa162-qemuu.patch
Patch164: xsa164.patch
Patch170: xsa170.patch
# Upstream qemu
# Upstream qemu-traditional patches
Patch250: VNC-Support-for-ExtendedKeyEvent-client-message.patch
Patch251: 0001-net-move-the-tap-buffer-into-TAPState.patch
Patch252: 0002-net-increase-tap-buffer-size.patch
@@ -225,60 +221,25 @@ Patch255: 0005-e1000-multi-buffer-packet-support.patch
Patch256: 0006-e1000-clear-EOP-for-multi-buffer-descriptors.patch
Patch257: 0007-e1000-verify-we-have-buffers-upfront.patch
Patch258: 0008-e1000-check-buffer-availability.patch
Patch259: CVE-2015-5154-qemut-fix-START-STOP-UNIT-command-completion.patch
Patch260: CVE-2015-6815-qemut-e1000-fix-infinite-loop.patch
Patch261: CVE-2015-4037-qemuu-smb-config-dir-name.patch
Patch262: CVE-2015-4037-qemut-smb-config-dir-name.patch
Patch263: CVE-2014-0222-qemut-qcow1-validate-l2-table-size.patch
Patch264: CVE-2015-8345-qemuu-eepro100-infinite-loop-fix.patch
Patch265: CVE-2015-8345-qemut-eepro100-infinite-loop-fix.patch
Patch266: CVE-2015-8504-qemut-vnc-avoid-floating-point-exception.patch
Patch267: CVE-2015-8504-qemuu-vnc-avoid-floating-point-exception.patch
Patch268: CVE-2015-7549-qemuu-pci-null-pointer-dereference-issue.patch
Patch269: CVE-2015-8558-qemuu-usb-infinite-loop-in-ehci_advance_state-results-in-DoS.patch
Patch270: CVE-2015-8568-qemuu-net-vmxnet3-avoid-memory-leakage-in-activate_device.patch
Patch271: CVE-2015-8745-qemuu-net-vmxnet3-read-IMR-registers-instead-of-assert.patch
Patch272: CVE-2015-8744-qemuu-net-vmxnet3-incorrect-l2-header-validation-leads-to-crash.patch
Patch273: CVE-2015-8743-qemuu-ne2000-OOB-memory-access-in-ioport-rw-functions.patch
Patch274: CVE-2015-8613-qemuu-scsi-initialise-info-object-with-appropriate-size.patch
Patch275: CVE-2016-1568-qemuu-ide-ahci-reset-ncq-object-to-unused-on-error.patch
Patch276: CVE-2016-1714-qemuu-fw_cfg-add-check-to-validate-current-entry-value.patch
Patch277: CVE-2016-1714-qemut-fw_cfg-add-check-to-validate-current-entry-value.patch
Patch278: CVE-2013-4538-qemut-ssd0323-fix-buffer-overun-on-invalid-state.patch
Patch279: CVE-2015-7512-qemuu-net-pcnet-buffer-overflow-in-non-loopback-mode.patch
Patch280: CVE-2015-7512-qemut-net-pcnet-buffer-overflow-in-non-loopback-mode.patch
Patch281: CVE-2014-7815-qemut-vnc-sanitize-bits_per_pixel-from-the-client.patch
Patch282: CVE-2013-4537-qemut-ssi-sd-fix-buffer-overrun-on-invalid-state-load.patch
Patch283: CVE-2015-1779-qemuu-incrementally-decode-websocket-frames.patch
Patch284: CVE-2015-1779-qemuu-limit-size-of-HTTP-headers-from-websockets-clients.patch
Patch285: CVE-2013-4539-qemut-tsc210x-fix-buffer-overrun-on-invalid-state-load.patch
Patch286: CVE-2016-1981-qemuu-e1000-eliminate-infinite-loops-on-out-of-bounds-transfer.patch
Patch287: CVE-2016-1981-qemut-e1000-eliminate-infinite-loops-on-out-of-bounds-transfer.patch
Patch288: CVE-2016-2198-qemuu-usb-ehci-null-pointer-dereference-in-ehci_caps_write.patch
Patch289: CVE-2013-4533-qemut-pxa2xx-buffer-overrun-on-incoming-migration.patch
Patch290: CVE-2015-5278-qemut-Infinite-loop-in-ne2000_receive-function.patch
Patch291: CVE-2014-3640-qemut-slirp-NULL-pointer-deref-in-sosendto.patch
Patch292: CVE-2015-6855-qemuu-ide-divide-by-zero-issue.patch
Patch293: CVE-2015-8619-qemuu-stack-based-OOB-write-in-hmp_sendkey-routine.patch
Patch294: CVE-2016-2392-qemuu-usb-null-pointer-dereference-in-NDIS-message-handling.patch
Patch295: CVE-2016-2391-qemuu-usb-null-pointer-dereference-in-ohci-module.patch
Patch296: CVE-2016-2391-qemut-usb-null-pointer-dereference-in-ohci-module.patch
Patch297: CVE-2016-2538-qemuu-usb-integer-overflow-in-remote-NDIS-message-handling.patch
Patch298: CVE-2016-1922-qemuu-i386-null-pointer-dereference-in-vapic_write.patch
Patch299: CVE-2015-8817-qemuu-OOB-access-in-address_space_rw-leads-to-segmentation-fault.patch
Patch300: CVE-2015-8818-qemuu-OOB-access-in-address_space_rw-leads-to-segmentation-fault.patch
# Our platform specific patches
Patch321: xen-destdir.patch
Patch322: vif-bridge-no-iptables.patch
Patch323: vif-bridge-tap-fix.patch
Patch324: xl-conf-default-bridge.patch
# Needs to go upstream
Patch330: suspend_evtchn_lock.patch
Patch331: xenpaging.doc.patch
Patch332: xen-c99-fix.patch
Patch333: stubdom-have-iovec.patch
Patch334: hotplug-Linux-block-performance-fix.patch
# Qemu traditional
Patch259: CVE-2013-4533-qemut-pxa2xx-buffer-overrun-on-incoming-migration.patch
Patch260: CVE-2013-4534-qemut-openpic-buffer-overrun-on-incoming-migration.patch
Patch261: CVE-2013-4537-qemut-ssi-sd-fix-buffer-overrun-on-invalid-state-load.patch
Patch262: CVE-2013-4538-qemut-ssd0323-fix-buffer-overun-on-invalid-state.patch
Patch263: CVE-2013-4539-qemut-tsc210x-fix-buffer-overrun-on-invalid-state-load.patch
Patch264: CVE-2014-0222-qemut-qcow1-validate-l2-table-size.patch
Patch265: CVE-2014-3640-qemut-slirp-NULL-pointer-deref-in-sosendto.patch
Patch266: CVE-2015-4037-qemut-smb-config-dir-name.patch
Patch267: CVE-2015-5154-qemut-fix-START-STOP-UNIT-command-completion.patch
Patch268: CVE-2015-5278-qemut-Infinite-loop-in-ne2000_receive-function.patch
Patch269: CVE-2015-6815-qemut-e1000-fix-infinite-loop.patch
Patch270: CVE-2015-7512-qemut-net-pcnet-buffer-overflow-in-non-loopback-mode.patch
Patch271: CVE-2015-8345-qemut-eepro100-infinite-loop-fix.patch
Patch272: CVE-2015-8504-qemut-vnc-avoid-floating-point-exception.patch
Patch273: CVE-2016-1714-qemut-fw_cfg-add-check-to-validate-current-entry-value.patch
Patch274: CVE-2016-1981-qemut-e1000-eliminate-infinite-loops-on-out-of-bounds-transfer.patch
Patch275: CVE-2016-2391-qemut-usb-null-pointer-dereference-in-ohci-module.patch
Patch276: CVE-2016-2841-qemut-ne2000-infinite-loop-in-ne2000_receive.patch
# qemu-traditional patches that are not upstream
Patch350: blktap.patch
Patch351: cdrom-removable.patch
Patch353: xen-qemu-iscsi-fix.patch
@@ -304,9 +265,17 @@ Patch380: pvdrv_emulation_control.patch
Patch381: ioemu-disable-scsi.patch
Patch382: ioemu-disable-emulated-ide-if-pv.patch
Patch383: xenpaging.qemu.flush-cache.patch
Patch385: xen_pvonhvm.xen_emul_unplug.patch
Patch387: libxl.pvscsi.patch
Patch388: blktap2-no-uninit.patch
# Our platform specific patches
Patch400: xen-destdir.patch
Patch401: vif-bridge-no-iptables.patch
Patch402: vif-bridge-tap-fix.patch
Patch403: xl-conf-default-bridge.patch
# Needs to go upstream
Patch420: suspend_evtchn_lock.patch
Patch421: xenpaging.doc.patch
Patch422: xen-c99-fix.patch
Patch423: stubdom-have-iovec.patch
Patch424: hotplug-Linux-block-performance-fix.patch
# Other bug fixes or features
Patch451: xenconsole-no-multiple-connections.patch
Patch452: hibernate.patch
@@ -314,20 +283,20 @@ Patch453: stdvga-cache.patch
Patch454: ipxe-enable-nics.patch
Patch455: pygrub-netware-xnloader.patch
Patch456: pygrub-boot-legacy-sles.patch
Patch460: set-mtu-from-bridge-for-tap-interface.patch
Patch466: aarch64-rename-PSR_MODE_ELxx-to-match-linux-headers.patch
Patch467: libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch
Patch470: qemu-xen-upstream-qdisk-cache-unsafe.patch
Patch471: qemu-xen-enable-spice-support.patch
Patch472: tigervnc-long-press.patch
Patch473: xendomains-libvirtd-conflict.patch
Patch474: CVE-2014-0222-blktap-qcow1-validate-l2-table-size.patch
Patch475: xen.libxl.dmmd.patch
Patch457: set-mtu-from-bridge-for-tap-interface.patch
Patch458: aarch64-rename-PSR_MODE_ELxx-to-match-linux-headers.patch
Patch459: xendomains-libvirtd-conflict.patch
Patch460: CVE-2014-0222-blktap-qcow1-validate-l2-table-size.patch
Patch461: libxl.pvscsi.patch
Patch462: xen.libxl.dmmd.patch
Patch463: libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch
Patch464: blktap2-no-uninit.patch
# Hypervisor and PV driver Patches
Patch501: x86-ioapic-ack-default.patch
Patch502: x86-cpufreq-report.patch
Patch520: supported_module.patch
Patch521: magic_ioport_compat.patch
Patch520: xen_pvonhvm.xen_emul_unplug.patch
Patch521: supported_module.patch
Patch522: magic_ioport_compat.patch
Patch601: xen.build-compare.doc_html.patch
Patch602: xen.build-compare.seabios.patch
Patch603: xen.build-compare.man.patch
@@ -418,10 +387,14 @@ Authors:
Summary: Xen Virtualization: Control tools for domain 0
Group: System/Kernel
Requires: bridge-utils
%if %suse_version >= 1315
%ifarch x86_64
%if %suse_version >= 1315
Requires: grub2-x86_64-xen
%endif
Requires: qemu-x86
%endif
%ifarch %arm aarch64
Requires: qemu-arm
%endif
Requires: multipath-tools
Requires: python
@@ -536,18 +509,16 @@ Authors:
%endif
%prep
%setup -q -n %xen_build_dir -a 1 -a 2 -a 3 -a 4 -a 5 -a 6 -a 57
%setup -q -n %xen_build_dir -a 1 -a 2 -a 4 -a 5 -a 6 -a 57
# Upstream patches
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch15401 -p1
%patch15402 -p1
%patch154 -p1
%patch15501 -p1
%patch15502 -p1
%patch15503 -p1
%patch162 -p1
%patch164 -p1
%patch170 -p1
# Upstream qemu patches
@@ -578,41 +549,6 @@ Authors:
%patch274 -p1
%patch275 -p1
%patch276 -p1
%patch277 -p1
%patch278 -p1
%patch279 -p1
%patch280 -p1
%patch281 -p1
%patch282 -p1
%patch283 -p1
%patch284 -p1
%patch285 -p1
%patch286 -p1
%patch287 -p1
%patch288 -p1
%patch289 -p1
%patch290 -p1
%patch291 -p1
%patch292 -p1
%patch293 -p1
%patch294 -p1
%patch295 -p1
%patch296 -p1
%patch297 -p1
%patch298 -p1
%patch299 -p1
%patch300 -p1
# Our platform specific patches
%patch321 -p1
%patch322 -p1
%patch323 -p1
%patch324 -p1
# Needs to go upstream
%patch330 -p1
%patch331 -p1
%patch332 -p1
%patch333 -p1
%patch334 -p1
# Qemu traditional
%patch350 -p1
%patch351 -p1
@@ -639,9 +575,17 @@ Authors:
%patch381 -p1
%patch382 -p1
%patch383 -p1
%patch385 -p1
%patch387 -p1
%patch388 -p1
# Our platform specific patches
%patch400 -p1
%patch401 -p1
%patch402 -p1
%patch403 -p1
# Needs to go upstream
%patch420 -p1
%patch421 -p1
%patch422 -p1
%patch423 -p1
%patch424 -p1
# Other bug fixes or features
%patch451 -p1
%patch452 -p1
@@ -649,20 +593,20 @@ Authors:
%patch454 -p1
%patch455 -p1
%patch456 -p1
%patch457 -p1
%patch458 -p1
%patch459 -p1
%patch460 -p1
%patch466 -p1
%patch467 -p1
%patch470 -p1
%patch471 -p1
%patch472 -p1
%patch473 -p1
%patch474 -p1
%patch475 -p1
%patch461 -p1
%patch462 -p1
%patch463 -p1
%patch464 -p1
# Hypervisor and PV driver Patches
%patch501 -p1
%patch502 -p1
%patch520 -p1
%patch521 -p1
%patch522 -p1
%patch601 -p1
%patch602 -p1
%patch603 -p1
@@ -704,7 +648,6 @@ export FTP=$(type -P false)
export GIT=$(type -P false)
export EXTRA_CFLAGS_XEN_TOOLS="$RPM_OPT_FLAGS"
export EXTRA_CFLAGS_QEMU_TRADITIONAL="$RPM_OPT_FLAGS"
export EXTRA_CFLAGS_QEMU_XEN="$RPM_OPT_FLAGS"
export SMBIOS_DATE="$SMBIOS_DATE"
export RELDATE="$RELDATE"
export SEABIOS_DATE="$SEABIOS_DATE"
@@ -729,11 +672,6 @@ if diff -u xen/Makefile~ xen/Makefile
then
: no changes?
fi
%ifarch x86_64
%if 0%{?suse_version} > 1230
export QEMU_XEN_ENABLE_SPICE="--enable-spice --enable-usb-redir"
%endif
%endif
configure_flags=
%if %{?with_stubdom}0
configure_flags=--enable-stubdom
@@ -771,6 +709,7 @@ configure_flags="${configure_flags} --disable-qemu-traditional"
%else
--disable-systemd \
%endif
--with-system-qemu=%{_bindir}/qemu-system-%{_arch} \
${configure_flags}
make -C tools/include/xen-foreign %{?_smp_mflags}
make %{?_smp_mflags}
@@ -865,6 +804,20 @@ for flavor in %flavors_to_build; do
done
%endif
# On x86_64, qemu-xen was installed as /usr/lib/xen/bin/qemu-system-i386
# and advertised as the <emulator> in libvirt capabilities. Tool such as
# virt-install include <emulator> in domXML they produce, so we need to
# preserve the path. For x86_64, create a simple wrapper that invokes
# /usr/bin/qemu-system-x86_64
%ifarch x86_64
cat > $RPM_BUILD_ROOT/usr/lib/xen/bin/qemu-system-i386 << 'EOF'
#!/bin/sh
exec %{_bindir}/qemu-system-x86_64 "$@"
EOF
chmod 0755 $RPM_BUILD_ROOT/usr/lib/xen/bin/qemu-system-i386
%endif
# Stubdom
%if %{?with_dom0_support}0
# Docs
@@ -993,7 +946,6 @@ rm -rf $RPM_BUILD_ROOT%{_unitdir}
rm -rf $RPM_BUILD_ROOT%{with_systemd_modules_load}
rm -rf $RPM_BUILD_ROOT/usr/sbin
rm -rf $RPM_BUILD_ROOT/etc/xen
rm -rf $RPM_BUILD_ROOT/%{_datadir}/qemu-xen
rm -rf $RPM_BUILD_ROOT/var
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/bash_completion.d/xl.sh
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/xen*
@@ -1129,7 +1081,6 @@ rm -f $RPM_BUILD_ROOT/usr/libexec/qemu-bridge-helper
%endif
%dir /etc/modprobe.d
/etc/bash_completion.d/xl.sh
%{_datadir}/qemu-xen
%if %{?with_qemu_traditional}0
%dir %{_datadir}/xen
%dir %{_datadir}/xen/qemu