[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [linux-2.6.18-xen] ia64, xencomm: fix XEN_SYSCTL_cpupool_op



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1284395916 -3600
# Node ID e8f97b92d307c6786992bb118dddc6f3466bfd01
# Parent  9b1adfb8b0b3b37c13f06c0adb8dd17b2a0a077d
ia64, xencomm: fix XEN_SYSCTL_cpupool_op

Because the cpumap member of struct xen_sysctl_cpupool_op is used only
when the operation is XEN_SYSCTL_CPUPOOL_OP_INFO or
XEN_SYSCTL_CPUPOOL_OP_FREEINFO, in case of others, xencomm_map to
cpumap fails, thus XEN_SYSCTL_cpupool_op fails.

Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
---
 arch/ia64/xen/xcom_privcmd.c |    3 +++
 1 files changed, 3 insertions(+)

diff -r 9b1adfb8b0b3 -r e8f97b92d307 arch/ia64/xen/xcom_privcmd.c
--- a/arch/ia64/xen/xcom_privcmd.c      Thu Aug 26 11:27:25 2010 +0100
+++ b/arch/ia64/xen/xcom_privcmd.c      Mon Sep 13 17:38:36 2010 +0100
@@ -283,6 +283,9 @@ xencomm_privcmd_sysctl(privcmd_hypercall
        }
 
        case XEN_SYSCTL_cpupool_op:
+               if (kern_op.u.cpupool_op.op != XEN_SYSCTL_CPUPOOL_OP_INFO &&
+                   kern_op.u.cpupool_op.op != XEN_SYSCTL_CPUPOOL_OP_FREEINFO)
+                       break;
                desc = xencomm_map(
                        xen_guest_handle(kern_op.u.cpupool_op.cpumap.bitmap),
                        ROUND_DIV(kern_op.u.cpupool_op.cpumap.nr_cpus, 8));

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.