2019-06-26 12:20:56

by Paolo Bonzini

[permalink] [raw]
Subject: [PATCH v2] KVM: x86: degrade WARN to pr_warn_ratelimited

This warning can be triggered easily by userspace, so it should certainly not
cause a panic if panic_on_warn is set.

Suggested-by: Alexander Potapenko <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
---
arch/x86/kvm/x86.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 83aefd759846..66585cf42d7f 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1557,7 +1557,7 @@ static int set_tsc_khz(struct kvm_vcpu *vcpu, u32 user_tsc_khz, bool scale)
vcpu->arch.tsc_always_catchup = 1;
return 0;
} else {
- WARN(1, "user requested TSC rate below hardware speed\n");
+ pr_warn_ratelimited("user requested TSC rate below hardware speed\n");
return -1;
}
}
@@ -1567,8 +1567,8 @@ static int set_tsc_khz(struct kvm_vcpu *vcpu, u32 user_tsc_khz, bool scale)
user_tsc_khz, tsc_khz);

if (ratio == 0 || ratio >= kvm_max_tsc_scaling_ratio) {
- WARN_ONCE(1, "Invalid TSC scaling ratio - virtual-tsc-khz=%u\n",
- user_tsc_khz);
+ pr_warn_ratelimited("Invalid TSC scaling ratio - virtual-tsc-khz=%u\n",
+ user_tsc_khz);
return -1;
}

--
1.8.3.1


2019-06-26 12:26:37

by Alexander Potapenko

[permalink] [raw]
Subject: Re: [PATCH v2] KVM: x86: degrade WARN to pr_warn_ratelimited

On Wed, Jun 26, 2019 at 2:19 PM Paolo Bonzini <[email protected]> wrote:
>
> This warning can be triggered easily by userspace, so it should certainly not
> cause a panic if panic_on_warn is set.
>
Can you please also add the Reported-by tag here?

Reported-by: [email protected]
> Suggested-by: Alexander Potapenko <[email protected]>
> Signed-off-by: Paolo Bonzini <[email protected]>
Acked-by: Alexander Potapenko <[email protected]>
> ---
> arch/x86/kvm/x86.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 83aefd759846..66585cf42d7f 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -1557,7 +1557,7 @@ static int set_tsc_khz(struct kvm_vcpu *vcpu, u32 user_tsc_khz, bool scale)
> vcpu->arch.tsc_always_catchup = 1;
> return 0;
> } else {
> - WARN(1, "user requested TSC rate below hardware speed\n");
> + pr_warn_ratelimited("user requested TSC rate below hardware speed\n");
> return -1;
> }
> }
> @@ -1567,8 +1567,8 @@ static int set_tsc_khz(struct kvm_vcpu *vcpu, u32 user_tsc_khz, bool scale)
> user_tsc_khz, tsc_khz);
>
> if (ratio == 0 || ratio >= kvm_max_tsc_scaling_ratio) {
> - WARN_ONCE(1, "Invalid TSC scaling ratio - virtual-tsc-khz=%u\n",
> - user_tsc_khz);
> + pr_warn_ratelimited("Invalid TSC scaling ratio - virtual-tsc-khz=%u\n",
> + user_tsc_khz);
> return -1;
> }
>
> --
> 1.8.3.1
>


--
Alexander Potapenko
Software Engineer

Google Germany GmbH
Erika-Mann-Straße, 33
80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg