aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/grant_table.c
Commit message (Collapse)AuthorAgeFilesLines
* gnttab: remove unused shared header lookupMatthew Daley2013-09-201-1/+0
| | | | | | | | Coverity-ID: 1056171 Signed-off-by: Matthew Daley <mattjd@gmail.com> Reviewed-by: Tim Deegan <tim@xen.org> Reviewed-by: Jan Beulich <jbeulich@suse.com>
* use SMP barrier in common code dealing with shared memory protocolsIan Campbell2013-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Xen currently makes no strong distinction between the SMP barriers (smp_mb etc) and the regular barrier (mb etc). In Linux, where we inherited these names from having imported Linux code which uses them, the SMP barriers are intended to be sufficient for implementing shared-memory protocols between processors in an SMP system while the standard barriers are useful for MMIO etc. On x86 with the stronger ordering model there is not much practical difference here but ARM has weaker barriers available which are suitable for use as SMP barriers. Therefore ensure that common code uses the SMP barriers when that is all which is required. On both ARM and x86 both types of barrier are currently identical so there is no actual change. A future patch will change smp_mb to a weaker barrier on ARM. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* fix domain unlocking in some xsm error pathsMatthew Daley2013-03-061-1/+1
| | | | | | | | | | A couple of xsm error/access-denied code paths in hypercalls neglect to unlock a previously locked domain. Fix by ensuring the domains are unlocked correctly. Signed-off-by: Matthew Daley <mattjd@gmail.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* Fix emacs local variable block to use correct C style variable.David Vrabel2013-02-211-1/+1
| | | | | | | The emacs variable to set the C style from a local variable block is c-file-style, not c-set-style. Signed-off-by: David Vrabel <david.vrabel@citrix.com
* xen/xsm: Add xsm_default parameter to XSM hooksDaniel De Graaf2013-01-111-8/+8
| | | | | | | | | | | | | | Include the default XSM hook action as the first argument of the hook to facilitate quick understanding of how the call site is expected to be used (dom0-only, arbitrary guest, or device model). This argument does not solely define how a given hook is interpreted, since any changes to the hook's default action need to be made identically to all callers of a hook (if there are multiple callers; most hooks only have one), and may also require changing the arguments of the hook. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Keir Fraser <keir@xen.org>
* xen: avoid calling rcu_lock_*target_domain when an XSM hook existsDaniel De Graaf2013-01-111-39/+18
| | | | | | | | | | | | | | | | | | | The rcu_lock_{,remote_}target_domain_by_id functions are wrappers around an IS_PRIV_FOR check for the current domain. This is now redundant with XSM hooks, so replace these calls with rcu_lock_domain_by_any_id or rcu_lock_remote_domain_by_id to remove the duplicate permission checks. When XSM_ENABLE is not defined or when the dummy XSM module is used, this patch should not change any functionality. Because the locations of privilege checks have sometimes moved below argument validation, error returns of some functions may change from EPERM to EINVAL when called with invalid arguments and from a domain without permission to perform the operation. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Acked-by: Jan Beulich <jbeulich@suse.com> Committed-by: Keir Fraser <keir@xen.org>
* xen: centralize accounting for domain tot_pagesDan Magenheimer2012-12-101-1/+1
| | | | | | | | | | Provide and use a common function for all adjustments to a domain's tot_pages counter in anticipation of future and/or out-of-tree patches that must adjust related counters atomically. Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com> Committed-by: Keir Fraser <keir@xen.org>
* streamline guest copy operationsJan Beulich2012-12-101-18/+23
| | | | | | | | | | | | - use the variants not validating the VA range when writing back structures/fields to the same space that they were previously read from - when only a single field of a structure actually changed, copy back just that field where possible - consolidate copying back results in a few places Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* tighten guest memory accessesJan Beulich2012-12-061-1/+5
| | | | | | | Failure should always be detected and handled. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* gnttab_usage_print() should be staticJan Beulich2012-12-061-1/+1
| | | | | | | ... as not being used or declared anywhere else. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* gnttab: fix releasing of memory upon switches between versionsJan Beulich2012-12-041-14/+20
| | | | | | | | | | | | | | | | | | gnttab_unpopulate_status_frames() incompletely freed the pages previously used as status frame in that they did not get removed from the domain's xenpage_list, thus causing subsequent list corruption when those pages did get allocated again for the same or another purpose. Similarly, grant_table_create() and gnttab_grow_table() both improperly clean up in the event of an error - pages already shared with the guest can't be freed by just passing them to free_xenheap_page(). Fix this by sharing the pages only after all allocations succeeded. This is CVE-2012-5510 / XSA-26. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com>
* xen: remove XEN_GUEST_HANDLE(ulong)Ian Campbell2012-10-171-1/+1
| | | | | | | | | | | | | | | | | | Having both this handle (always unsigned long) and XEN_GUEST_HANDLE(xen_ulong_t) (unsigned long on x86 and explicit size of ARM) is confusing and error prone. Replace the two remaining uses of the ulong handle, in grant set and x86 set_gdt hypercalls, with xen_ulong_t. This correctly sizes the grant frame entry as 64 bit on ARM but leaves it as unsigned long on x86 (therefore no intended change on x86). Likewise in set_gdt there is no actual change. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xen: replace XEN_GUEST_HANDLE with XEN_GUEST_HANDLE_PARAM when appropriateStefano Stabellini2012-10-171-18/+18
| | | | | | | | | | | | Note: these changes don't make any difference on x86. Replace XEN_GUEST_HANDLE with XEN_GUEST_HANDLE_PARAM when it is used as an hypercall argument. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* Extra check in grant table code for mapping of shared frameAndres Lagar-Cavilla2012-09-171-3/+6
| | | | | Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Committed-by: Keir Fraser <keir@xen.org>
* gnttab: cleanup of number-of-active-frames calculationsJan Beulich2012-09-121-8/+36
| | | | | | | | | | | | | max_nr_active_grant_frames() is merly is special case of num_act_frames_from_sha_frames(), so there's no need to have a special case implementation for it. Further, some of the related definitions (including the "struct active_grant_entry" definition itself) can (and hence should) really be private to grant_table.c. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* adjust a few RCU domain locking callsJan Beulich2012-09-071-47/+36
| | | | | | | | | | | | | | | | | | x86's do_physdev_op() had a case where the locking was entirely superfluous. Its physdev_map_pirq() further had a case where the lock was being obtained too early, needlessly complicating early exit paths. Grant table code had two open coded instances of rcu_lock_target_domain_by_id(), and a third code section could be consolidated by using the newly introduced helper function. The memory hypercall code had two more instances of open coding rcu_lock_target_domain_by_id(), but note that here this is not just cleanup, but also fixes an error return path in memory_exchange() to actually return an error. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* xen/gnttab: Validate input to GNTTABOP_swap_grant_refIan Jackson2012-09-051-0/+6
| | | | | | | | | | | | | | | | | xen-unstable c/s 24548:d115844ebfbb introduces a new GNTTABOP to swap grant refs. However, it fails to validate the two refs passed from the guest. The result is that passing out-of-range refs can cause Xen to read past the end of the grant_table->active[] array, and deference whatever it finds. Typically, this results in Xen trying to deference a low pointer and fail with a page-fault. As this hypercall can be issued by an unprivileged guest, this is a Denial of Service against Xen. This is XSA-18 / CVE-2012-3516. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Paul Durrant <paul.durrant@citrix.com>
* Fix shared entry status for grant copy operation on paged-out gfnAndres Lagar-Cavilla2012-08-221-11/+22
| | | | | | | | | | | | The unwind path was not clearing the shared entry status bits. This was BSOD-ing guests on network activity under certain configurations. Also: * sed the fixup method name to signal it's related to grant copy. * use atomic clear flag ops during fixup. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Committed-by: Keir Fraser <keir@xen.org>
* gnttab: cleanupJan Beulich2012-05-301-135/+131
| | | | | | | | | | | | - introduce local variables (shortcuts for frequently used <dom>->grant_table) - adjust first parameter of mapcount() - drop lock acquisition from gnttab_get_version() - remove hard tabs and adjust formatting Signed-off-by: Jan Beulich <jbeulich@suse.com> Tested-by: Andrew Thomas <andrew.thomas@oracle.com> Committed-by: Keir Fraser <keir@xen.org>
* gnttab: mark maptrack free list tail with an explicit terminatorJan Beulich2012-05-301-6/+11
| | | | | | | | | | | ... instead of using the mutable current limit. This also addresses an apparent off-by-one mistake when checking for exhaustion of the maptrack table. Signed-off-by: Jan Beulich <jbeulich@suse.com> Tested-by: Andrew Thomas <andrew.thomas@oracle.com> Committed-by: Keir Fraser <keir@xen.org>
* gnttab: don't use domain lock for serializationJan Beulich2012-05-301-52/+79
| | | | | | | | | | Instead use the affected domain's grant table lock, at once reducing the scopes during which locks are being held and hence allowing significantly better parallelism. Signed-off-by: Jan Beulich <jbeulich@suse.com> Tested-by: Andrew Thomas <andrew.thomas@oracle.com> Committed-by: Keir Fraser <keir@xen.org>
* grant-tables: Use get_page_from_gfn() instead of get_gfn()/put_gfn.Andres Lagar-Cavilla2012-05-171-133/+90
| | | | | | | | | | This requires some careful re-engineering of __get_paged_frame and its callers. Functions that previously returned gfn's to be put now return pages to be put. Tested with Win7 + Citrix PV drivers guest, using speedtest for networking (yes!) plus the loginVSI framework to constantly hit disk. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
* gnttab: remove pointless NULL checkJan Beulich2012-04-171-7/+1
| | | | | | | | | | Domains in the domain hash (and hence locatable via the usual lookup functions) can't have a NULL grant table pointer; no other function performs such a check, so remove it from gnttab_prepare_for_transfer() for consistency. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* remove ia64Jan Beulich2012-04-031-2/+0
| | | | | | | | | | | It retains IA64-specific bits in code imported from elsewhere (e.g. ACPI, EFI) as well as in the public headers. It also doesn't touch the tools, mini-os, and unmodified_drivers sub-trees. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* Memory sharing: better handling of ENOMEM while unsharingTim Deegan2012-03-151-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If unsharing fails with ENOMEM, we were: - leaving the list of gfns backed by the shared page in an inconsistent state - cycling forever on the hap page fault handler. - Attempting to produce a mem event (which could sleep on a wait queue) while holding locks. - Not checking, for all callers, that unshare could have indeed failed. Fix bugs above, and sanitize callers to place a ring event in an unlocked context, or without requiring to go to sleep on a wait queue. A note on the rationale for unshare error handling: 1. Unshare can only fail with ENOMEM. Any other error conditions BUG_ON() 2. We notify a potential dom0 helper through a mem_event ring. But we allow the notification to not go to sleep. If the event ring is full of ENOMEM warnings, then the helper will already have been kicked enough. 3. We cannot "just" go to sleep until the unshare is resolved, because we might be buried deep into locks (e.g. something -> copy_to_user -> __hvm_copy) 4. So, we make sure we: 4.1. return an error 4.2. do not corrupt memory shared with other guests 4.3. do not corrupt memory private to the current guest 4.4. do not corrupt the hypervisor memory sharing meta data 4.5. let the guest deal with the error, if propagation will reach that far Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Tim Deegan <tim@xen.org>
* Grant table: fix a bug when grant copying a previous grant mapped page.Wei Liu2012-03-011-0/+2
| | | | | | | | | | | | In grant table version 2, when we create a non-transitive mapping from DomU to Dom0, we need to set active entry's trans_domain and trans_ref. Otherwise when we grant copy from this previous mapped ref, preemption count will get messed up. See changeset 22994:299ed79acecf for more information. Signed-off-by: Wei Liu <wei.liu2@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* xen: add missing unlock from gnttab_get_versionIan Campbell2012-02-231-0/+2
| | | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reported-by: Francisco Rocha <f.e.liberal-rocha@newcastle.ac.uk> Committed-by: Keir Fraser <keir@xen.org>
* Re-order calls to put_gfn() around wait queue invocationsAndres Lagar-Cavilla2012-02-101-1/+1
| | | | | | | | | | | | | | Since we use wait queues to handle potential ring congestion cases, code paths that try to generate a mem event while holding a gfn lock would go to sleep in non-preemptible mode. Most such code paths can be fixed by simply postponing event generation until locks are released. Signed-off-by: Adin Scannell <adin@scannell.ca> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Tim Deegan <tim@xen.org>
* gnttab: miscellaneous fixesJan Beulich2012-02-091-4/+5
| | | | | | | | | | | - _GTF_* constants name bit positions, so binary arithmetic on them is wrong - gnttab_clear_flag() cannot (on x86 and ia64 at least) simply use clear_bit(), as that may access more than the two bytes that are intended to be accessed Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* Fix error recovery path in __gnttab_map_grant_refHaoyu Zhang2012-02-061-2/+3
| | | | | | | | | | | | | In file grant_table.c function __gnttab_map_grant_ref, if __get_paged_frame failed, the effect of _set_status previously called should be rollback, so the flag GTF_reading and _GTF_writing will be recovered. Signed-off-by: Haoyu Zhang <haoyu.zhang@huawei.com> Signed-off-by: Liang Wang <hzwangliang.wang@huawei.com> Acked-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Committed-by: Keir Fraser <keir@xen.org>
* xen: Preserve reserved grant entries when switching versionsDaniel De Graaf2012-01-281-8/+50
| | | | | | | | | | | | | | | In order for the toolstack to use reserved grant table entries, the grant table for a guest must be initialized prior to the guest's boot. When the guest switches grant table versions (necessary if the guest is using v2 grant tables, or on kexec if switching grant versions), these initial grants will be cleared. Instead of clearing them, preserve the grants across the type change. Attempting to preserve v2-only features such as sub-page grants will produce a warning and clear the resulting v1 grant entry. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Committed-by: Keir Fraser <keir@xen.org>
* Add a GNTTABOP to swap the content of two grant references under lockWei Liu2012-01-241-0/+89
| | | | | | | | provided that they are not currently active. Signed-off-by: Wei Liu <wei.liu2@citrix.com> Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* Include some header files that are not automatically included on all archsStefano Stabellini2012-01-231-0/+1
| | | | | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* Correct p2m unlocking during grant table mapAndres Lagar-Cavilla2012-01-191-2/+6
| | | | | | | | We were not putting gfn's consistently. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Tim Deegan <tim@xen.org>
* Allow VMs to query their own grant table version.Paul Durrant2011-12-181-10/+9
| | | | | Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* xsm: Add missing access checksDaniel De Graaf2011-12-181-0/+10
| | | | | | | | | Actions requiring IS_PRIV should also require some XSM access control in order for XSM to be useful in confining multiple privileged domains. Add XSM hooks for new hypercalls and sub-commands that are under IS_PRIV but not currently under any access checks. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
* x86/mm: Fix liveness of pages in grant copy operationsAndres Lagar-Cavilla2011-11-241-32/+37
| | | | | | | | | | | | | | | We were immediately putting the p2m entry translation for grant copy operations. This allowed for an unnecessary race by which the page could have been swapped out between the p2m lookup and the actual use. Hold on to the p2m entries until the grant operation finishes. Also fixes a small bug: for the source page of the copy, get_page was assuming the page was owned by the source domain. It may be a shared page, since we don't perform an unsharing p2m lookup. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Tim Deegan <tim@xen.org>
* ia64: build fixes (again)Jan Beulich2011-11-241-1/+1
| | | | | | | | | | This undoes a single change from c/s 24136:3622d7fae14d (common/grant_table.c) and several from c/s 24100:be8daf78856a (common/memory.c). It also completes the former with two previously missing ia64 specific code adjustments. Authors Cc-ed. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
* Modify naming of queries into the p2mAndres Lagar-Cavilla2011-11-111-6/+24
| | | | | | | | | | | | | | | | | | | | | | Callers of lookups into the p2m code are now variants of get_gfn. All callers need to call put_gfn. The code behind it is a no-op at the moment, but will change to proper locking in a later patch. This patch does not change functionality. Only naming, and adds put_gfn's. set_p2m_entry retains its name because it is always called with p2m_lock held. This patch is humongous, unfortunately, given the dozens of call sites involved. After this patch, anyone using old style gfn_to_mfn will not succeed in compiling their code. This is on purpose: adapt to the new API. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Keir Fraser <keir@xen.org>
* use xzalloc in common codeJan Beulich2011-10-041-11/+5
| | | | | Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86/mm/p2m: Make p2m interfaces take struct domain arguments.Tim Deegan2011-06-021-6/+4
| | | | | | | | | | | | | | | | | As part of the nested HVM patch series, many p2m functions were changed to take pointers to p2m tables rather than to domains. This patch reverses that for almost all of them, which: - gets rid of a lot of "p2m_get_hostp2m(d)" in code which really shouldn't have to know anything about how gfns become mfns. - ties sharing and paging interfaces to a domain, which is what they actually act on, rather than a particular p2m table. In developing this patch it became clear that memory-sharing and nested HVM are unlikely to work well together. I haven't tried to fix that here beyond adding some assertions around suspect paths (as this patch is big enough with just the interface changes) Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
* x86/mm/p2m: merge gfn_to_mfn_unshare with other gfn_to_mfn paths.Tim Deegan2011-06-021-2/+8
| | | | | | | | | | | | | | | gfn_to_mfn_unshare() had its own function despite all other lookup types being handled in one place. Merge it into _gfn_to_mfn_type(), so that it gets the benefit of broken-page protection, for example, and tidy its interfaces up to fit. The unsharing code still has a lot of bugs, e.g. - failure to alloc for unshare on a foreign lookup still BUG()s, - at least one race condition in unshare-and-retry - p2m_* lookup types should probably be flags, not enum but it's cleaner and will make later p2m cleanups easier. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
* xen: Include headers that are actually needed, drop everything else.Christoph Egger2011-05-201-0/+1
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* xen: Remove some initialised but otherwise unused variables.Olaf Hering2011-05-201-2/+0
| | | | | | Fixes the build under gcc-4.6 -Werror=unused-but-set-variable Signed-off-by: Olaf Hering <olaf@aepfle.de>
* Remove direct cpumask_t members from struct vcpu and struct domainJan Beulich2011-04-051-5/+5
| | | | | | | | | | | | | | | The CPU masks embedded in these structures prevent NR_CPUS-independent sizing of these structures. Basic concept (in xen/include/cpumask.h) taken from recent Linux. For scalability purposes, many other uses of cpumask_t should be replaced by cpumask_var_t, particularly local variables of functions. This implies that no functions should have by-value cpumask_t parameters, and that the whole old cpumask interface (cpus_...()) should go away in favor of the new (cpumask_...()) one. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Fix rcu domain locking for transitive grantsKeir Fraser2011-03-081-29/+24
| | | | | | | | | | | | | | | When acquiring a transitive grant for copy then the owning domain needs to be locked down as well as the granting domain. This was being done, but the unlocking was not. The acquire code now stores the struct domain * of the owning domain (rather than the domid) in the active entry in the granting domain. The release code then does the unlock on the owning domain. Note that I believe I also fixed a bug where, for non-transitive grants the active entry contained a reference to the acquiring domain rather than the granting domain. From my reading of the code this would stop the release code for transitive grants from terminating its recursion correctly. Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
* xenpaging: populate paged-out pages unconditionally in grant codeKeir Fraser2010-11-261-2/+3
| | | | | | | | | | | Populate a page unconditionally to avoid missing a page-in request. If the page is already in the process of being paged-in, the this vcpu will be stopped and later resumed once the page content is usable again. This matches other p2m_mem_paging_populate usage in the source tree. Signed-off-by: Olaf Hering <olaf@aepfle.de>
* xenpaging: whitespace fixes after addition of __get_paged_frameKeir Fraser2010-11-031-13/+13
| | | | | | | | Cleanup whitespace which was introduced in patch that added __get_paged_frame. Convert tabs to spaces to follow the coding style in this file. Signed-off-by: Olaf Hering <olaf@aepfle.de>
* ia64: fix build in grant table and tmem codeKeir Fraser2010-10-241-1/+5
| | | | Signed-off-by: Jan Beulich <jbeulich@novell.com>
* xenpaging: page-in granttable entriesKeir Fraser2010-09-221-38/+59
| | | | | | | | | When converting a gfn to mfn, check if the page is paged-out. If it is, request a page-in and return GNTST_eagain to the caller to indicate a retry of the hypercall is required. This fixes granttable errors when xenpaging is enabled in the guest. Signed-off-by: Olaf Hering <olaf@aepfle.de>