Hi, On Fri, Nov 05, 2021 at 09:15:00AM +0800, YueHaibing wrote: > kvm_vcpu_preferred_target() always return 0 because kvm_target_cpu() > never returns a negative error code. > > Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx> > --- > arch/arm64/include/asm/kvm_host.h | 2 +- > arch/arm64/kvm/arm.c | 5 +---- > arch/arm64/kvm/guest.c | 7 +------ > 3 files changed, 3 insertions(+), 11 deletions(-) > > diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h > index 4be8486042a7..2a5f7f38006f 100644 > --- a/arch/arm64/include/asm/kvm_host.h > +++ b/arch/arm64/include/asm/kvm_host.h > @@ -584,7 +584,7 @@ struct kvm_vcpu_stat { > u64 exits; > }; > > -int kvm_vcpu_preferred_target(struct kvm_vcpu_init *init); > +void kvm_vcpu_preferred_target(struct kvm_vcpu_init *init); > unsigned long kvm_arm_num_regs(struct kvm_vcpu *vcpu); > int kvm_arm_copy_reg_indices(struct kvm_vcpu *vcpu, u64 __user *indices); > int kvm_arm_get_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg); > diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c > index f5490afe1ebf..2f03cbfefe67 100644 > --- a/arch/arm64/kvm/arm.c > +++ b/arch/arm64/kvm/arm.c > @@ -1389,12 +1389,9 @@ long kvm_arch_vm_ioctl(struct file *filp, > return kvm_vm_ioctl_set_device_addr(kvm, &dev_addr); > } > case KVM_ARM_PREFERRED_TARGET: { > - int err; > struct kvm_vcpu_init init; > > - err = kvm_vcpu_preferred_target(&init); > - if (err) > - return err; > + kvm_vcpu_preferred_target(&init); > > if (copy_to_user(argp, &init, sizeof(init))) > return -EFAULT; > diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c > index 5ce26bedf23c..e116c7767730 100644 > --- a/arch/arm64/kvm/guest.c > +++ b/arch/arm64/kvm/guest.c > @@ -869,13 +869,10 @@ u32 __attribute_const__ kvm_target_cpu(void) > return KVM_ARM_TARGET_GENERIC_V8; > } > > -int kvm_vcpu_preferred_target(struct kvm_vcpu_init *init) > +void kvm_vcpu_preferred_target(struct kvm_vcpu_init *init) > { > u32 target = kvm_target_cpu(); Checked and kvm_target_cpu() never returns a negative value (the target values are from 0 to 5, inclusive), which matches the type of the return value from the function, which is unsigned. The patch look correct to me: Reviewed-by: Alexandru Elisei <alexandru.elisei@xxxxxxx> Thanks, Alex > > - if (target < 0) > - return -ENODEV; > - > memset(init, 0, sizeof(*init)); > > /* > @@ -885,8 +882,6 @@ int kvm_vcpu_preferred_target(struct kvm_vcpu_init *init) > * target type. > */ > init->target = (__u32)target; > - > - return 0; > } > > int kvm_arch_vcpu_ioctl_get_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu) > -- > 2.17.1 > _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm