From: Keir Fraser Date: Mon, 13 Sep 2010 16:38:36 +0000 (+0100) Subject: ia64, xencomm: fix XEN_SYSCTL_cpupool_op X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=efdb8eba319a50db7a3ea794966785be7bc289ba;p=legacy%2Flinux-2.6.18-xen.git 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 --- diff --git a/arch/ia64/xen/xcom_privcmd.c b/arch/ia64/xen/xcom_privcmd.c index 03f66304..8aa788e7 100644 --- a/arch/ia64/xen/xcom_privcmd.c +++ b/arch/ia64/xen/xcom_privcmd.c @@ -283,6 +283,9 @@ xencomm_privcmd_sysctl(privcmd_hypercall_t *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));