7f6bd728fd
xend-cpuid.patch - Rename 2XXXX-vif-bridge.patch -> vif-bridge-tap-fix.patch - bnc#747331 - XEN: standard "newburn" kernel QA stress test on guest (+ smartd on Dom0?) freezes the guest 24883-x86-guest-walk-not-present.patch - bnc#745367 - MCE bank handling during migration 24781-x86-vmce-mcg_ctl.patch 24886-x86-vmce-mcg_ctl-default.patch 24887-x86-vmce-sr.patch - bnc#744771 - L3: VM with passed through PCI card fails to reboot under dom0 load 24888-pci-release-devices.patch - Upstream patches from Jan 24517-VT-d-fault-softirq.patch 24527-AMD-Vi-fault-softirq.patch 24535-x86-vMSI-misc.patch 24615-VESA-lfb-flush.patch 24690-x86-PCI-SERR-no-deadlock.patch 24701-gnttab-map-grant-ref-recovery.patch 24742-gnttab-misc.patch 24780-x86-paging-use-clear_guest.patch 24805-x86-MSI-X-dom0-ro.patch ioemu-9869-MSI-X-init.patch ioemu-9873-MSI-X-fix-unregister_iomem.patch - bnc#745005 - Update vif configuration examples in xmexample* Updated xen-xmexample.diff OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=172
38 lines
1.4 KiB
Diff
38 lines
1.4 KiB
Diff
# HG changeset patch
|
|
# User Haoyu Zhang <haoyu.zhang@huawei.com>
|
|
# Date 1328563421 28800
|
|
# Node ID 3574f4d67843733ccaabab5f8ebb859c99d7314a
|
|
# Parent 5bd5830dea13f2a80a1b9728d3e61c34661fe764
|
|
Fix error recovery path in __gnttab_map_grant_ref
|
|
|
|
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>
|
|
|
|
--- a/xen/common/grant_table.c
|
|
+++ b/xen/common/grant_table.c
|
|
@@ -566,7 +566,7 @@ __gnttab_map_grant_ref(
|
|
gfn = sha1 ? sha1->frame : sha2->full_page.frame;
|
|
rc = __get_paged_frame(gfn, &frame, !!(op->flags & GNTMAP_readonly), rd);
|
|
if ( rc != GNTST_okay )
|
|
- goto unlock_out;
|
|
+ goto unlock_out_clear;
|
|
act->gfn = gfn;
|
|
act->domid = ld->domain_id;
|
|
act->frame = frame;
|
|
@@ -722,6 +722,7 @@ __gnttab_map_grant_ref(
|
|
act->pin -= (op->flags & GNTMAP_readonly) ?
|
|
GNTPIN_hstr_inc : GNTPIN_hstw_inc;
|
|
|
|
+ unlock_out_clear:
|
|
if ( !(op->flags & GNTMAP_readonly) &&
|
|
!(act->pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) )
|
|
gnttab_clear_flag(_GTF_writing, status);
|