[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAhSdy23nJq4Uj9amQ9T4iXtNoCSFLnOjjyp7pm6KdNbH7xkmA@mail.gmail.com>
Date: Mon, 17 Feb 2025 16:27:07 +0530
From: Anup Patel <anup@...infault.org>
To: Andrew Jones <ajones@...tanamicro.com>
Cc: kvm@...r.kernel.org, kvm-riscv@...ts.infradead.org,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org,
atishp@...shpatra.org, paul.walmsley@...ive.com, palmer@...belt.com,
aou@...s.berkeley.edu, cleger@...osinc.com
Subject: Re: [PATCH 5/5] riscv: KVM: Fix SBI sleep_type use
On Mon, Feb 17, 2025 at 2:15 PM Andrew Jones <ajones@...tanamicro.com> wrote:
>
> The spec says sleep_type is 32 bits wide and "In case the data is
> defined as 32bit wide, higher privilege software must ensure that it
> only uses 32 bit data." Mask off upper bits of sleep_type before
> using it.
>
> Fixes: 023c15151fbb ("RISC-V: KVM: Add SBI system suspend support")
> Signed-off-by: Andrew Jones <ajones@...tanamicro.com>
LGTM.
Reviewed-by: Anup Patel <anup@...infault.org>
Regards,
Anup
> ---
> arch/riscv/kvm/vcpu_sbi_system.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/kvm/vcpu_sbi_system.c b/arch/riscv/kvm/vcpu_sbi_system.c
> index 5d55e08791fa..bc0ebba89003 100644
> --- a/arch/riscv/kvm/vcpu_sbi_system.c
> +++ b/arch/riscv/kvm/vcpu_sbi_system.c
> @@ -4,6 +4,7 @@
> */
>
> #include <linux/kvm_host.h>
> +#include <linux/wordpart.h>
>
> #include <asm/kvm_vcpu_sbi.h>
> #include <asm/sbi.h>
> @@ -19,7 +20,7 @@ static int kvm_sbi_ext_susp_handler(struct kvm_vcpu *vcpu, struct kvm_run *run,
>
> switch (funcid) {
> case SBI_EXT_SUSP_SYSTEM_SUSPEND:
> - if (cp->a0 != SBI_SUSP_SLEEP_TYPE_SUSPEND_TO_RAM) {
> + if (lower_32_bits(cp->a0) != SBI_SUSP_SLEEP_TYPE_SUSPEND_TO_RAM) {
> retdata->err_val = SBI_ERR_INVALID_PARAM;
> return 0;
> }
> --
> 2.48.1
>
Powered by blists - more mailing lists