On Mon, 20 May 2019 09:15:14 +0200 Cédric Le Goater <clg@xxxxxxxx> wrote: > 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. > Reviewed-by: Greg Kurz <groug@xxxxxxxx> > Reported-by: Satheesh Rajendran <sathnaga@xxxxxxxxxxxxxxxxxx> > Tested-by: Satheesh Rajendran <sathnaga@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Cédric Le Goater <clg@xxxxxxxx> > --- > arch/powerpc/kvm/book3s_xive_native.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/kvm/book3s_xive_native.c b/arch/powerpc/kvm/book3s_xive_native.c > index 3fdea6bf4e97..25b6b0e2d02a 100644 > --- a/arch/powerpc/kvm/book3s_xive_native.c > +++ b/arch/powerpc/kvm/book3s_xive_native.c > @@ -109,7 +109,7 @@ int kvmppc_xive_native_connect_vcpu(struct kvm_device *dev, > return -EPERM; > if (vcpu->arch.irq_type != KVMPPC_IRQ_DEFAULT) > 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"); > return -EINVAL; > }