| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
Avoid "error: variable 'unused' set but not used
[-Werror=unused-but-set-variable]" with gcc 4.6.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
xen-unstable changeset: 23368:0f670f5146c8
xen-unstable date: Sat May 21 07:55:46 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linux starting with 2.6.36 uses the XSAVEOPT instruction and has
certain code paths that look only at the feature bit reported through
CPUID leaf 0xd sub-leaf 1 (i.e. without qualifying the check with one
evaluating leaf 4 output). Consequently the hypervisor ought to mimic
actual hardware in clearing leaf 0xd output when not supporting xsave.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen-unstable changeset: 23353:a768a10d32b4
xen-unstable date: Fri May 20 08:54:45 2011 +0100
Make this unconditional for 4.0 (no pv xsave support) and fix for domU
guests as well (this was already okay in 4.1 and later).
Signed-off-by: Keir Fraser <keir@xen.org>
|
|
|
|
|
|
| |
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
xen-unstable changeset: 23352:ea48976517af
xen-unstable date: Fri May 20 08:52:22 2011 +0100
|
|
|
|
|
|
|
|
|
| |
These were caused by some declarations happening before the compiler
would have seen the visibility pragma.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen-unstable changeset: 23345:ba4bd20e581a
xen-unstable date: Mon May 16 13:32:37 2011 +0100
|
|
|
|
|
|
|
|
|
|
| |
On error exit from functions, maped pages should be unmapped
and acquired locks released.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Allen Kay <allen.m.kay@intel.com>
xen-unstable changeset: 23343:edcf8fc77b64
xen-unstable date: Mon May 16 13:29:24 2011 +0100
|
|
|
|
|
|
|
|
| |
..fix and move to write_tsc().
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 23342:16d12acccacf
xen-unstable date: Mon May 16 13:24:05 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc 4.6 complains:
io_apic.c: In function 'restore_IO_APIC_setup':
/build/user-xen_4.1.0-3-amd64-zSon7K/xen-4.1.0/debian/build/build-hypervisor_amd64_amd64/xen/include/asm/io_apic.h:150:26:
error: '*((void *)&entry+4)' may be used uninitialized in this
function [-Werror=uninitialized]
io_apic.c:221:32: note: '*((void *)&entry+4)' was declared
here
/build/user-xen_4.1.0-3-amd64-zSon7K/xen-4.1.0/debian/build/build-hypervisor_amd64_amd64/xen/include/asm/io_apic.h:150:26:
error: 'entry' may be used uninitialized in this function
[-Werror=uninitialized]
io_apic.c:221:32: note: 'entry' was declared here
cc1: all warnings being treated as errors
Add functions to read/write an entire IO APIC entry using an explicit
union to allow gcc to spot the initialisation.
Reported as Debian bug #625438, thanks to Matthias Klose.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Jan Beulich <jbeulich@novell.com>
xen-unstable changeset: 23341:87084ca76c9c
xen-unstable date: Mon May 16 13:13:41 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the absence of VT-d interrupt remapping support, a device can send
arbitrary APIC messages to host CPUs. One class of attack that results
is to confuse the hypervisor by delivering asynchronous interrupts to
vectors that are expected to handle only synchronous
traps/exceptions.
We block this class of attack by:
(1) setting APIC.TPR=0x10, to block all interrupts below vector
0x20. This blocks delivery to all architectural exception vectors.
(2) checking APIC.ISR[vec] for vectors 0x80 (fast syscall) and 0x82
(hypercall). In these cases we BUG if we detect we are handling a
hardware interrupt -- turning a potentially more severe infiltration
into a straightforward system crash (i.e, DoS).
Thanks to Invisible Things Lab <http://www.invisiblethingslab.com>
for discovery and detailed investigation of this attack.
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 23337:cc91832a02c7
xen-unstable date: Thu May 12 16:39:31 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
| |
On 64-bit Xen, hypercalls from 32-bit HVM guests are handled as
a special case, but not all the hypercalls are corrently redirected
to their compat-mode wrappers. Use compat_* for xen_version,
sched_op and set_timer_op for consistency.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
xen-unstable changeset: 23333:fabdd682420c
xen-unstable date: Thu May 12 09:13:18 2011 +0100
|
|
|
|
|
|
|
| |
From: David Brownlee <abs@netbsd.org>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
xen-unstable changeset: 23328:6767d92dff13
xen-unstable date: Thu May 12 08:55:12 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The functions which interpret the kernel image supplied for a
paravirtualised guest, and decompress it into memory when booting the
domain, are incautious. Specifically:
(i) Integer overflow in the decompression loop memory allocator might
result in overrunning the buffer used for the decompressed image;
(ii) Integer overflows and lack of checking of certain length fields
can result in the loader reading its own address space beyond the
size of the supplied kernel image file.
(iii) Lack of error checking in the decompression loop can lead to an
infinite loop.
This patch fixes these problems.
CVE-2011-1583.
Signed-off-by: Ian Campbell <Ian.Campbell@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
|
|
|
|
|
|
|
|
|
| |
We don't need so many communication fields between caller and
handler.
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 23285:a7ac0a0170b0
xen-unstable date: Sun May 01 09:32:48 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduction of Linux Kernel git commit
ceefccc93932b920a8ec6f35f596db05202a12fe (x86: default
CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB) revealed
deeply hidden bug in pv-grub. During kernel load stage dom->p2m_host[]
list has been incorrectly initialized.
At the beginning of kernel load stage dom->p2m_host[] list is
populated with current PFN->MFN layout. Later during memory allocation
(memory is allocated page by page in kexec_allocate()) page order is
changed to establish linear layout in new domain. It is done by
exchanging subsequent MFNs with newly allocated MFNs. dom->p2m_host[]
list is indexed by currently requested PFN (it is incremented from 0)
and PFN of newly allocated paged. If PFN of newly allocated page is
less than currently requested PFN then earlier allocated MFN is
overwritten which leads to domain crash later. This patch corrects
that issue. If PFN of newly allocated page is less then currently
requested PFN then relevant PFN/MFN pair is properly calculated and
usual exchange occurs later.
Signed-off-by: Daniel Kiper <dkiper@net-space.pl>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
xen-unstable changeset: 23249:83fe79c0225f
xen-unstable date: Wed Apr 27 13:29:14 2011 +0100
|
|
|
|
|
|
| |
During boot we only write zero to the TSCs, which is safe.
Signed-off-by: Keir Fraser <keir@xen.org>
|
|
|
|
|
|
|
|
| |
uninitialised.
Signed-off-by: Keir Fraser <keir@xen.org>
xen-4.1-testing changeset: 23034:7c7ef1b6f4e5
xen-4.1-testing date: Tue Apr 26 14:11:18 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means suppressing the uses in time_calibration_tsc_rendezvous(),
cstate_restore_tsc(), and synchronize_tsc_slave(), and fixes a boot
hang of Linux Dom0 when loading processor.ko on such systems that
have support for C states above C1.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 23228:1329d99b4f16
xen-unstable date: Fri Apr 15 08:52:08 2011 +0100
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Some buggy BIOS might set SYS_CFG DramModEn bit to 1, which can cause
unexpected behavior on AMD platforms. This patch clears DramModEn bit
if it is 1.
Signed-off-by: Wei Huang <wei.huang2@amd.com>
xen-unstable changeset: 23153:8fb61c9ebe49
xen-unstable date: Wed Apr 06 09:01:31 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
c/s 19913 break mce offline page logic:
For page_state_is(pg, free), it's impossible to trigger the case;
For page_state_is(pg, offlined), it in fact didn't offline related
page;
This patch fix the bug, and remove an ambiguous comment.
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
xen-unstable changeset: 23177:d8bb2de119de
xen-unstable date: Thu Apr 07 12:12:01 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Xen 4.0 added "msr_tsc_aux" in the middle of the hvm_hw_cpu structure,
making it incompatible with pre-3.4 savefiles. This patch uses the
recently introduced backwards-compatibility infrastructure to convert
the old to the new.
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Tim Deegan <Tim.Deegan@citrix.com>
Committed-by: Tim Deegan <Tim.Deegan@citrix.com>
xen-unstable changeset: 23172:dc8b05d22a59
xen-unstable date: Wed Apr 06 11:40:54 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The hvm_save code is used to save and restore hypervisor-related hvm
state, either for classic save/restore, or for migration (including
remus). This is meant to be backwards-compatible across some
hypervisor versions; but if it does change, there is no way to handle
the old format as well as the new.
This patch introduces the infrastructure to allow a single older
version ("compat") of any given "save type" to be defined, along with
a function to turn the "old" version into the "new" version. If the
size check fails for the "normal" version, it will check the "compat"
version, and if it matches, will read the old entry and call the
conversion function.
This patch involves some preprocessor hackery, but I'm only extending
the hackery that's already there.
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Tim Deegan <Tim.Deegan@citrix.com>
Committed-by: Tim Deegan <Tim.Deegan@citrix.com>
xen-unstable changeset: 23171:6a5830de7b54
xen-unstable date: Wed Apr 06 11:40:51 2011 +0100
|
|
|
|
|
|
|
|
|
|
|
|
| |
In certain cases this will allow us to load old HVM save images where
an HVM saved chunk has subsequently been extended with new
fields. Rather than fail to load the chunk, we can pad the extended
structure with zeroes, if the caller knows how to handle that.
Signed-off-by: Keir Fraser <keir@xen.org>
Acked-by: Tim Deegan <Tim.Deegan@citrix.com>
xen-unstable changeset: 22524:1f08b2932a52
xen-unstable date: Wed Dec 15 10:21:05 2010 +0000
|
|
|
|
|
|
| |
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 22523:6dda9f988ef3
xen-unstable date: Wed Dec 15 10:15:45 2010 +0000
|
|
|
|
|
|
|
|
| |
The output of AT&T UNIX and GNU od(1) are different.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
xen-unstable changeset: 23130:0e88c781a8a8
xen-unstable date: Sat Apr 02 15:53:35 2011 +0100
|
|
|
|
|
|
|
|
| |
guest-bound irq before accessing desc->action.
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 23103:48dac730a93b
xen-unstable date: Sat Mar 26 09:42:01 2011 +0000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The former is a userspace sanitised header which contains the
definitions we need. In some distros linux/fs.h defines WRITE which
conflicts with blktaps own use of that name.
Also there is no reason to use <linux/errno.h> over the more normal
<errno.h>.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
xen-unstable changeset: 22765:0dbad563a659
xen-unstable date: Mon Jan 17 17:14:20 2011 +0000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the xencommons init script chkconfig configuration since the
priority was missing here and chkconfig was complaining about invalid
chkconfig script so I added both start and stop priorities to the
chkconfig line and it was working fine, the script was successfully
added to chkconfig when using `chkconfig --add xencommons` and
management using the chkconfig utility was now possible.
Tested on RHEL-5 Server with Xen-4.1-unstable installed, running on
PVops kernel 2.6.32.15 and it was working fine.
Signed-off-by: Michal Novotny <minovotn@redhat.com>
xen-unstable changeset: 21657:e2f5e4f3481c
xen-unstable date: Tue Jun 22 16:22:30 2010 +0100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Again, (out-of-memory) errors must not cause hypervisor crashes, and
hence ought to be propagated.
This also adjusts the cache attribute changing loop in
get_page_from_l1e() to not go through an unnecessary iteration. While
this could be considered mere cleanup, it is actually a requirement
for the subsequent now necessary error recovery path.
Also make a few functions static, easing the check for potential
callers needing adjustment.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen-unstable changeset: 22997:5f28dcea1355
xen-unstable date: Wed Mar 09 16:15:36 2011 +0000
x86: don't BUG() post-boot in alloc_xen_pagetable()
Instead, propagate the condition to the caller, all of which also get
adjusted to check for that situation.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen-unstable changeset: 22996:1eeccafe9042
xen-unstable date: Wed Mar 09 16:14:59 2011 +0000
|
|
|
|
|
|
|
|
|
| |
This fixes a fairly blatant bug I introduced in c/s 20377:cff23354d026
- I wonder how this went unnoticed for so long.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen-unstable changeset: 23039:c40da47621d8
xen-unstable date: Mon Mar 14 17:19:22 2011 +0000
|
|
|
|
|
|
|
|
|
|
| |
Cannot specify user mode execution without specifying user-mode
pagetables.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 23034:c79aae866ad8
xen-unstable date: Mon Mar 14 16:59:49 2011 +0000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
xc_domain_restore.c:apply_batch function makes two passes over the
pfn_types array in pagebuf to allocate the needed MFNs. The curbatch
parameter to this function specifies the array offset in pfn_types,
from where the current scan should begin. But this variable is not
taken into account (index always starts at 0) during the two
passes. While this [bug] does not manifest itsef during save/restore
or live migration, under Remus, xc_domain_restore fails due to corrupt
guest page tables.
(This appears to have been broken by 21588:6c3d8aec202d which reverted
two changesets from before Remus support was added and hence
reintroduced some none-Remus compatible bits.)
Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
xen-unstable changeset: 22967:5bc39222773d
xen-unstable date: Thu Mar 03 16:55:27 2011 +0000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At least the legacy path can enter its interrupt handler callout while
initialization is still in progress - that handler checks whether
->event_handler is non-NULL, and hence all other initialization must
happen before setting this field.
Do the same to the MSI initialization just in case (and to keep the
code in sync).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: Wei Gang <gang.wei@intel.com>
xen-unstable changeset: 23030:87aa1277eae0
xen-unstable date: Sat Mar 12 13:19:02 2011 +0000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Xen 4.0 there is no /etc/init.d/xencommons. This means that in
most situations you don't get xenstored, and xl doesn't work, unless
you do something shonky like starting and then immediately stopping
xend.
To test xl, my automatic testing system therefore provides its own
init script to start xenstored and xenconsoled. This script was
created by borrowing from /etc/init.d/xend and other init scripts in
various versions of xen.hg.
Here it is[1], as a new "xencommons" script. The user will still have
to add appropriate rc links, and only a script for Linux is provided.
We do not want to backport the refactoring of /etc/init.d/xend, so
xend users should not enable this script.
[1] Copied from osstest.git#78c59993ab536b8c39c5a00a xenlightdaemons.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@eu.citrix.com>
|
|
|
|
|
|
| |
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 22993:22eb31eb688a
xen-unstable date: Tue Mar 08 16:14:55 2011 +0000
|
|
|
|
|
|
|
|
| |
Need to emit assembler instruction fimull not fimul/fimuls.
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 22992:e93392bd6b66
xen-unstable date: Tue Mar 08 16:10:13 2011 +0000
|
|
|
|
|
|
|
|
|
| |
different bitness than dom0 (32-bit vs 64-bit).
Original patch by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 22966:de49500f344a
xen-unstable date: Thu Mar 03 17:46:44 2011 +0000
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was a leftover of converting from a switch to an if/else
somewhere between 3.4 and 4.0.
It also looks suspicious that MCEQUIRK_K7_BANK0 is not actually used
anywhere. Perhaps amd_k7_mcheck_init() and amd_k8_mcheck_init() were
intended to get (partially) folded?
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen-unstable changeset: 22947:598d1fc295b6
xen-unstable date: Thu Feb 24 09:33:19 2011 +0000
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the following error in recent kernel:
ia64/asm/dom_fw_common.h:47:23: error: asm/fpswa.h: No such file or
directory
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
xen-unstable changeset: 22941:d12a28ef91b9
xen-unstable date: Fri Feb 18 10:21:19 2011 +0000
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
pci-detach triggers IO page table deallocation if the last passthru
device has been removed from pdev list, and this will result a BUG on
amd systems for next pci-attach. This patch fixes this issue.
Signed-off-by: Wei Wang <wei.wang2@amd.com>
xen-unstable changeset: 22872:cba9a84d32fb
xen-unstable date: Sun Feb 06 16:54:01 2011 +0000
|
|
|
|
|
|
| |
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
xen-unstable changeset: 22879:098c8a6483c9
xen-unstable date: Mon Feb 07 09:39:59 2011 +0000
|
|
|
|
| |
Signed-off-by: Keir Fraser <keir@xen.org>
|
|
|
|
|
|
| |
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
xen-unstable changeset: 22877:575d2f40acc4
xen-unstable date: Sun Feb 06 17:22:44 2011 +0000
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch turn-on SYSENTER MSRs interception for 32bit guest VMs on
AMD CPUs. With it, hvm_svm.guest_sysenter_xx fields always contain the
canonical version of SYSENTER MSRs and are used in guest save/restore.
The data fields in VMCB save area are updated as necessary.
Reported-by: James Harper <james.harper@bendigoit.com.au>
Signed-off-by: Wei Huang <wei.huang2@amd.com>
xen-unstable changeset: 22873:186162762071
xen-unstable date: Sun Feb 06 17:03:09 2011 +0000
|