KVM: PPC: Book3S HV: XIVE: Fix the enforced limit on the vCPU identifier

When a vCPU is connected to the KVM device, it is done using its vCPU
identifier in the guest. Fix the enforced limit on the vCPU identifier
by taking into account the SMT mode.

Reported-by: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
Tested-by: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Greg Kurz <groug@kaod.org>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
This commit is contained in:
Cédric Le Goater 2019-05-20 09:15:14 +02:00 коммит произвёл Paul Mackerras
Родитель c468bc4e84
Коммит e717d0ae10
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -109,7 +109,7 @@ int kvmppc_xive_native_connect_vcpu(struct kvm_device *dev,
return -EPERM; return -EPERM;
if (vcpu->arch.irq_type != KVMPPC_IRQ_DEFAULT) if (vcpu->arch.irq_type != KVMPPC_IRQ_DEFAULT)
return -EBUSY; return -EBUSY;
if (server_num >= KVM_MAX_VCPUS) { if (server_num >= (KVM_MAX_VCPUS * vcpu->kvm->arch.emul_smt_mode)) {
pr_devel("Out of bounds !\n"); pr_devel("Out of bounds !\n");
return -EINVAL; return -EINVAL;
} }