Commit graph

28 commits

Author SHA1 Message Date
bouyer
69adbc8537 Backport upstream patches, fixing today's XSA 191, 192, 195, 196, 197, 198.
Bump PKGREVISIONs
2016-11-22 20:57:10 +00:00
bouyer
9803e20271 Update xenkernel45 and xentools45 to 4.5.5.
Changes since 4.5.3: mostly bugfixes, including fixes for
security issues XSA-172, XSA-173, XSA-175, XSA-176, XSA-178, XSA-179, XSA-180,
XSA-181, XSA-182, XSA-183, XSA-184, XSA-185, XSA-186 and XSA-187.
All but XSA-175 were already fixed in pkgsrc.
Complete list of changes and links to the XSA advisories:
https://www.xenproject.org/downloads/xen-archives/xen-45-series/xen-455.html
2016-09-21 17:03:37 +00:00
spz
af4122d3a6 add the patch for XSA-184 2016-09-11 11:38:10 +00:00
spz
3809b50afc add patches to XSAs 178 and 180 from upstream
add an initialization for a pointer where the compiler doesn't
recognize it being assigned by posix_memalign (trivial compile fix)
2016-08-06 12:41:36 +00:00
bad
f6b41cc9d7 Use "stat -L" to determine the physical device. Now one can use lvm's
/dev/vgXXlvolYY symlinks in domU config files.
PKGREVISION++
2016-05-21 20:11:21 +00:00
abs
f97cfe6655 Fix build on ocaml-4.03.0. No functional change for other versions,
so no pkgrevision bump
2016-05-12 21:13:47 +00:00
bouyer
1afbf10310 Update xenkernel45 and xentools45 to 4.5.3.
While there also add patches for security issues XSA-172, XSA-173 and XSA-179
(others between 170 and 179 are either not yet public, or linux-only).
Upstream changes since 4.5.2:
- security issues up to XSA-170 are fixed (these were already patched
  in pkgsrc).
- other minor performances and functionality fixes.
full changelog at:
http://www.xenproject.org/downloads/xen-archives/xen-45-series/xen-453.html
2016-05-12 15:42:58 +00:00
wiz
8bdb0a498c Remove unnecessary chunk. 2016-04-04 14:47:56 +00:00
bad
44695687ec Lock only the minimal critical section in the block hotplug script.
Patch provided my Manuel Bouyer. Thanks!
2016-04-04 14:47:19 +00:00
bad
ba7af56283 Guard the NetBSD block device hotplug script against concurrent execution.
xl(1) runs the hotplug scripts in parallel.  This causes failures when the
next free vnd device is selected.

Locking modeled after the Linux block hotplug script.
2016-04-04 14:45:12 +00:00
bad
77bc7f3be3 Fix xenstored DB location and lock directory under NetBSD.
The xenstored database is ephemeral and must be removed during system boot.
Put it into /var/run/xenstored. The ocaml xenstored does that already.

/var/lock doesn't exist on NetBSD, use /var/run instead.
2016-04-04 14:40:57 +00:00
bad
c5f4791331 Honor PKG_SYSCONFDIR.
While here drop know unnecessary XEN_CONFIG_DIR from MAKE_ENV.
2016-04-04 14:35:12 +00:00
bouyer
37a4a5a513 Update xenkernel45 and xentools45 to 4.5.2.
Changes since 4.5.1 includes security fixes (most of which were already in
our local patches) and bug fixes. The complete list of changes
is there:
http://www.xenproject.org/downloads/xen-archives/xen-45-series/xen-452.html
2016-01-08 13:24:29 +00:00
bouyer
fc108946cd Apply patches from Xen repository, fixing:
CVE-2015-5307 and CVE-2015-8104 aka XSA-156
CVE-2015-8339 and CVE-2015-8340 aka XSA-159
CVE-2015-8555 aka XSA-165
XSA-166
CVE-2015-8341 aka XSA-160
CVE-2015-8550 aka XSA-155
Bump pkgrevision
2016-01-07 17:48:33 +00:00
jnemeth
77a2cf0daf Stop installing xenbackendd. It is leftover cruft from the xm toolstack.
Running it will interfere with the operation of the xl toolstack, so it
should never be used now that the xm toolstack is gone.
2015-12-31 13:27:10 +00:00
agc
17886c78da Add SHA512 digests for distfiles for sysutils category
Problems found with existing digests:
	Package memconf distfile memconf-2.16/memconf.gz
	b6f4b736cac388dddc5070670351cf7262aba048 [recorded]
	95748686a5ad8144232f4d4abc9bf052721a196f [calculated]

Problems found locating distfiles:
	Package dc-tools: missing distfile dc-tools/abs0-dc-burn-netbsd-1.5-0-gae55ec9
	Package ipw-firmware: missing distfile ipw2100-fw-1.2.tgz
	Package iwi-firmware: missing distfile ipw2200-fw-2.3.tgz
	Package nvnet: missing distfile nvnet-netbsd-src-20050620.tgz
	Package syslog-ng: missing distfile syslog-ng-3.7.2.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-04 01:32:05 +00:00
jnemeth
bcf50d7f45 Unbreak. Patch correct file and bump PKGREVISION. Hi tnn! 2015-10-28 00:47:07 +00:00
tnn
4c233b81c6 don't use sprintf %m 2015-10-23 17:00:28 +00:00
spz
2d641b65c7 add the security patches for XSA-137, XSA-138, XSA-139 and XSA-140 from
upstream.
2015-08-23 17:02:58 +00:00
bouyer
f724e8d4c5 Upgrade xenkernel45 and xentools45 to 4.5.1.
Note that the  patch for XSA135 for qemu-traditional, which was
no applied  to the 4.5 branch before the release due to an oversight,
is applied here (xentools45/patches/patch-XSA135).

Selected entries from the relase notes:
    a246727: cpupool: fix shutdown with cpupools with different schedulers [Dario Faggioli]
    5b2f480: libelf: fix elf_parse_bsdsyms call [Roger Pau Monné]
    8faef24: VT-d: extend quirks to newer desktop chipsets [Jan Beulich]
    24fcf17: x86/VPMU: add lost Intel processor [Alan Robinson]
    131889c: x86/crash: don't use set_fixmap() in the crash path [Andrew Cooper]
    8791a30: x86/apic: Disable the LAPIC later in smp_send_stop() [Andrew Cooper]
    fbd26f2: x86/pvh: disable posted interrupts [Roger Pau Monné]
    0d8cbca: libxl: In libxl_set_vcpuonline check for maximum number of VCPUs against the cpumap. [Konrad Rzeszutek Wilk]
    bf06e40: libxl: event handling: ao_inprogress does waits while reports outstanding [Ian Jackson]
    97051bd: libxl: event handling: Break out ao_work_outstanding [Ian Jackson]
    0bc9f98: x86/traps: loop in the correct direction in compat_iret() [Andrew Cooper]
    fcfbdb4: gnttab: add missing version check to GNTTABOP_swap_grant_ref handling [Jan Beulich]
    09f76cb: cpupools: avoid crashing if shutting down with free CPUs [Dario Faggioli]
    f237ee4: cpupool: assigning a CPU to a pool can fail [Dario Faggioli]
    b986072: xen: common: Use unbounded array for symbols_offset. [Ian Campbell]
    5eac1be: x86/irq: limit the maximum number of domain PIRQs [Andrew Cooper]
    9c3d34d: x86: don't unconditionally touch the hvm_domain union during domain construction [Andrew Cooper]
    9d5b2b0: tools/xenconsoled: Increase file descriptor limit [Andrew Cooper]
    cfc4c43: ocaml/xenctrl: Fix stub_xc_readconsolering() [Andrew Cooper]
    032673c: ocaml/xenctrl: Make failwith_xc() thread safe [Andrew Cooper]
    c91ed88: ocaml/xenctrl: Check return values from hypercalls [Andrew Cooper]
    fa62913: libxl: Domain destroy: fork [Ian Jackson]
    c9b13f3: libxl: Domain destroy: unlock userdata earlier [Ian Jackson]
    0b19348: libxl: In domain death search, start search at first domid we want [Ian Jackson]
    ddfe333: x86: don't change affinity with interrupt unmasked [Jan Beulich]
    bf30232: x86: don't clear high 32 bits of RAX on sub-word guest I/O port reads [Jan Beulich]
    a824bf9: x86_emulate: fix EFLAGS setting of CMPXCHG emulation [Eugene Korenevsky]
    f653b7f: x86/hvm: implicitly disable an ioreq server when it is destroyed [Paul Durrant]
    8dbdcc3: x86/hvm: actually release ioreq server pages [Paul Durrant]
    56fe488: x86/hvm: fix the unknown nested vmexit reason 80000021 bug [Liang Li]
    4a52101: VT-d: improve fault info logging [Jan Beulich]
    5a7c042: x86/MSI: fix error handling [Jan Beulich]
    51d8325: LZ4 : fix the data abort issue [JeHyeon Yeon]
    0327c93: hvmloader: don't treat ROM BAR like other BARs [Jan Beulich]
    f2e08aa: domctl/sysctl: don't leak hypervisor stack to toolstacks [Andrew Cooper]
    3771b5a: arm64: fix fls() [Jan Beulich]
    9246d2e: domctl: don't allow a toolstack domain to call domain_pause() on itself [Andrew Cooper]
    f5bca81: Limit XEN_DOMCTL_memory_mapping hypercall to only process up to 64 GFNs (or less) [Konrad Rzeszutek Wilk]
    7fe1c1b: x86: don't apply reboot quirks if reboot set by user [Ross Lagerwall]
    969df12: Revert "cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path" [Jan Beulich]
    483c6cd: honor MEMF_no_refcount in alloc_heap_pages() [Jan Beulich]
    6616c4d: tools: libxl: Explicitly disable graphics backends on qemu cmdline [Ian Campbell]
    d0b141e: x86/tboot: invalidate FIX_TBOOT_MAP_ADDRESS mapping after use [Jan Beulich]
    902998e: x86emul: fully ignore segment override for register-only operations [Jan Beulich]
    25c6ee8: pre-fill structures for certain HYPERVISOR_xen_version sub-ops [Aaron Adams]
    7ef0364: x86/HVM: return all ones on wrong-sized reads of system device I/O ports [Jan Beulich]
    3665563: tools/libxc: Don't leave scratch_pfn uninitialised if the domain has no memory [Andrew Cooper]
    75ac8cf: x86/nmi: fix shootdown of pcpus running in VMX non-root mode [Andrew Cooper]
    1e44c92: x86/hvm: explicitly mark ioreq server pages dirty [Paul Durrant]
    2bfef90: x86/hvm: wait for at least one ioreq server to be enabled [Paul Durrant]
    d976397: x86/VPMU: disable when NMI watchdog is on [Boris Ostrovsky]
    84f2484: libxc: introduce a per architecture scratch pfn for temporary grant mapping [Julien Grall]
    6302c61: Install libxlutil.h [Jim Fehlig]
    d8e78d6: bunzip2: off by one in get_next_block() [Dan Carpenter]
    8a855b3: docs/commandline: correct information for 'x2apic_phys' parameter [Andrew Cooper]
    3a777be: x86: vcpu_destroy_pagetables() must not return -EINTR [Konrad Rzeszutek Wilk]
    1acb3b6: handle XENMEM_get_vnumainfo in compat_memory_op [Wei Liu]
    4eec09f: x86: correctly check for sub-leaf zero of leaf 7 in pv_cpuid() [Jan Beulich]
    7788cbb: x86: don't expose XSAVES capability to PV guests [Jan Beulich]
    4cfc54b: xsm/evtchn: never pretend to have successfully created a Xen event channel [Andrew Cooper]
    2fdd521: common/memory: fix an XSM error path [Jan Beulich]
    ad83ad9: x86emul: tighten CLFLUSH emulation [Jan Beulich]
    1928318: dt-uart: use ':' as separator between path and options [Ian Campbell]
    9ae1853: libxl: Don't ignore error when we fail to give access to ioport/irq/iomem [Julien Grall]

In addition, this release also contains the following fixes to qemu-traditional:

    afaa35b: ... by default. Add a per-device "permissive" mode similar to pciback's to allow restoring previous behavior (and hence break security again, i.e. should be used only for trusted guests). [Jan Beulich]
    3cff7ad: Since the next patch will turn all not explicitly described fields read-only by default, those fields that have guest writable bits need to be given explicit descriptors. [Jan Beulich]
    ec61b93: The adjustments are solely to make the subsequent patches work right (and hence make the patch set consistent), namely if permissive mode (introduced by the last patch) gets used (as both reserved registers and reserved fields must be similarly protected from guest access in default mode, but the guest should be allowed access to them in permissive mode). [Jan Beulich]
    37c77b8: xen_pt_emu_reg_pcie[]'s PCI_EXP_DEVCAP needs to cover all bits as read- only to avoid unintended write-back (just a precaution, the field ought to be read-only in hardware). [Jan Beulich]
    2dc4059: This is just to avoid having to adjust that calculation later in multiple places. [Jan Beulich]
    29d9566: xen_pt_pmcsr_reg_write() needs an adjustment to deal with the RW1C nature of the not passed through bit 15 (PCI_PM_CTRL_PME_STATUS). [Jan Beulich]
    2e19270: There's no point in xen_pt_pmcsr_reg_{read,write}() each ORing PCI_PM_CTRL_STATE_MASK and PCI_PM_CTRL_NO_SOFT_RESET into a local emu_mask variable - we can have the same effect by setting the field descriptor's emu_mask member suitably right away. Note that xen_pt_pmcsr_reg_write() is being retained in order to allow later patches to be less intrusive. [Jan Beulich]
    751d20d: Without this the actual XSA-131 fix would cause the enable bit to not get set anymore (due to the write back getting suppressed there based on the OR of emu_mask, ro_mask, and res_mask). [Jan Beulich]
    51f3b5b: ... to avoid allowing the guest to cause the control domain's disk to fill. [Jan Beulich]
    7f99bb9: It's being used by the hypervisor. For now simply mimic a device not capable of masking, and fully emulate any accesses a guest may issue nevertheless as simple reads/writes without side effects. [Jan Beulich]
    6fc82bf: The old logic didn't work as intended when an access spanned multiple fields (for example a 32-bit access to the location of the MSI Message Data field with the high 16 bits not being covered by any known field). Remove it and derive which fields not to write to from the accessed fields' emulation masks: When they're all ones, there's no point in doing any host write. [Jan Beulich]
    e42b84c: fdc: force the fifo access to be in bounds of the allocated buffer [Petr Matousek]
    62e4158: xen: limit guest control of PCI command register [Jan Beulich]
    3499745: cirrus: fix an uninitialized variable [Jan Beulich]

This release also contains the security fixes for XSA-117 to XSA-136, with the exception of XSA-124 which documents security risks of non-standard PCI device functionality that cannot be addressed in software. It also includes an update to XSA-98 and XSA-59.
2015-06-23 17:45:33 +00:00
bouyer
ce70ad40f1 For disks larger than 128GB, the LBA capacity reported by IDE disks
should be limited to 128GB, the real size being reported in
LBA48 capacity.
Should fix disk corrution reported by Reinoud Zandijk.
Bump PKGREVISION
2015-06-11 17:42:43 +00:00
khorben
7381df862e Apply fixes from upstream for XSA-133
The patch really belongs here rather than in sysutils/xenkernel45 (where
it is already applied).
2015-06-05 18:15:42 +00:00
spz
3cfbbfbd64 apply fixes from upstream for
XSA-125 Long latency MMIO mapping operations are not preemptible
XSA-126 Unmediated PCI command register access in qemu
2015-04-19 13:13:20 +00:00
spz
bed90dfd1a xsa119-unstable.patch from upstream:
By default qemu will try to create some sort of backend for the
emulated VGA device, either SDL or VNC.

However when the user specifies sdl=0 and vnc=0 in their configuration
libxl was not explicitly disabling either backend, which could lead to
one unexpectedly running.

If either sdl=1 or vnc=1 is configured then both before and after this
change only the backends which are explicitly enabled are configured,
i.e. this issue only occurs when all backends are supposed to have
been disabled.

This affects qemu-xen and qemu-xen-traditional differently.

If qemu-xen was compiled with SDL support then this would result in an
SDL window being opened if $DISPLAY is valid, or a failure to start
the guest if not. Passing "-display none" to qemu before any further
-sdl options disables this default behaviour and ensures that SDL is
only started if the libxl configuration demands it.

If qemu-xen was compiled without SDL support then qemu would instead
start a VNC server listening on ::1 (IPv6 localhost) or 127.0.0.1
(IPv4 localhost) with IPv6 preferred if available. Explicitly pass
"-vnc none" when vnc is not enabled in the libxl configuration to
remove this possibility.

qemu-xen-traditional would never start a vnc backend unless asked.
However by default it will start an SDL backend, the way to disable
this is to pass a -vnc option. In other words passing "-vnc none" will
disable both vnc and sdl by default. sdl can then be reenabled if
configured by subsequent use of the -sdl option.

Tested with both qemu-xen and qemu-xen-traditional built with SDL
support and:
        xl cr # defaults
        xl cr sdl=0 vnc=0
        xl cr sdl=1 vnc=0
        xl cr sdl=0 vnc=1
        xl cr sdl=0 vnc=0 vga=\"none\"
        xl cr sdl=0 vnc=0 nographic=1
with both valid and invalid $DISPLAY.

This is XSA-119.
2015-03-13 10:27:48 +00:00
joerg
50a4257a9a Fix build with clang and on NetBSD/current. 2015-01-29 21:33:47 +00:00
joerg
b42586eb89 Just because it is a new xentools version, don't expect the horrible
dynamic type mess is fixed.
2015-01-25 13:14:46 +00:00
bouyer
9b91b66222 Make it build on netbsd-7.
Remove dependancy on py-curses and py-xml now that the xm toolstack is gone.
Bump PKGREVISION
2015-01-21 08:53:21 +00:00
bouyer
d870f0e26e Xen is a virtual machine monitor which supports running multiple
guests operating systems on a single machine. Guest OSes (also
called "domains") require a modified kernel which supports Xen
hypercalls in replacement to access to the physical hardware. At
boot, the xen kernel is loaded along with the guest kernel for the
first domain (called domain0). domain0 has privileges to access
the physical hardware (PCI and ISA devices), administrate other
domains and provide virtual devices (disks and network) to other
domains.

xenkernel45 and xentools45 contains the kernel and tools from
the Xen 4.5.x branch
2015-01-20 16:42:13 +00:00