mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
KVM: ARM/arm64: return -EFAULT if copy_from_user fails in set_timer_reg
We currently return the number of bytes not copied if set_timer_reg fails, which is almost certainly not what userspace would like. This patch returns -EFAULT instead. Cc: Christoffer Dall <christoffer.dall@linaro.org> Cc: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
This commit is contained in:
parent
18d457661f
commit
bd218bce92
2 changed files with 2 additions and 2 deletions
|
@ -163,7 +163,7 @@ static int set_timer_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
|
||||||
|
|
||||||
ret = copy_from_user(&val, uaddr, KVM_REG_SIZE(reg->id));
|
ret = copy_from_user(&val, uaddr, KVM_REG_SIZE(reg->id));
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return ret;
|
return -EFAULT;
|
||||||
|
|
||||||
return kvm_arm_timer_set_reg(vcpu, reg->id, val);
|
return kvm_arm_timer_set_reg(vcpu, reg->id, val);
|
||||||
}
|
}
|
||||||
|
|
|
@ -174,7 +174,7 @@ static int set_timer_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
|
||||||
|
|
||||||
ret = copy_from_user(&val, uaddr, KVM_REG_SIZE(reg->id));
|
ret = copy_from_user(&val, uaddr, KVM_REG_SIZE(reg->id));
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return ret;
|
return -EFAULT;
|
||||||
|
|
||||||
return kvm_arm_timer_set_reg(vcpu, reg->id, val);
|
return kvm_arm_timer_set_reg(vcpu, reg->id, val);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue