[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.2] x86/domctl: don't ignore errors from vmce_restore_vcpu()
commit d927bc7136accb7fa59928a6872131a84dbadcb9 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Thu Feb 13 10:16:13 2014 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Thu Feb 13 10:16:13 2014 +0100 x86/domctl: don't ignore errors from vmce_restore_vcpu() What started out as a simple cleanup patch (eliminating the redundant check of domctl->cmd before copying back the output data) revealed a bug in the handling of XEN_DOMCTL_set_ext_vcpucontext. Fix this, retaining the cleanup. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> master commit: af172d655c3900822d1f710ac13ee38ee9d482d2 master date: 2014-02-04 09:22:12 +0100 --- xen/arch/x86/domctl.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c index 0592b6e..63e1987 100644 --- a/xen/arch/x86/domctl.c +++ b/xen/arch/x86/domctl.c @@ -1101,6 +1101,8 @@ long arch_do_domctl( evc->syscall32_disables_events = 0; } evc->mcg_cap = v->arch.mcg_cap; + + ret = copy_to_guest(u_domctl, domctl, 1) ? -EFAULT : 0; } else { @@ -1140,15 +1142,11 @@ long arch_do_domctl( if ( evc->size >= offsetof(typeof(*evc), mcg_cap) + sizeof(evc->mcg_cap) ) ret = vmce_restore_vcpu(v, evc->mcg_cap); + else if ( evc->size <= offsetof(typeof(*evc), mcg_cap) ) + ret = 0; } - - ret = 0; - ext_vcpucontext_out: rcu_unlock_domain(d); - if ( (domctl->cmd == XEN_DOMCTL_get_ext_vcpucontext) && - copy_to_guest(u_domctl, domctl, 1) ) - ret = -EFAULT; } break; -- generated by git-patchbot for /home/xen/git/xen.git#stable-4.2 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |