Merge tag 'kvm-riscv-fixes-6.16-1' of https://github.com/kvm-riscv/linux into HEAD

KVM/riscv fixes for 6.16, take #1

- Fix the size parameter check in SBI SFENCE calls
- Don't treat SBI HFENCE calls as NOPs

+4 -4
+4 -4
arch/riscv/kvm/vcpu_sbi_replace.c
··· 103 103 kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_FENCE_I_SENT); 104 104 break; 105 105 case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA: 106 - if (cp->a2 == 0 && cp->a3 == 0) 106 + if ((cp->a2 == 0 && cp->a3 == 0) || cp->a3 == -1UL) 107 107 kvm_riscv_hfence_vvma_all(vcpu->kvm, hbase, hmask); 108 108 else 109 109 kvm_riscv_hfence_vvma_gva(vcpu->kvm, hbase, hmask, ··· 111 111 kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_SENT); 112 112 break; 113 113 case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID: 114 - if (cp->a2 == 0 && cp->a3 == 0) 114 + if ((cp->a2 == 0 && cp->a3 == 0) || cp->a3 == -1UL) 115 115 kvm_riscv_hfence_vvma_asid_all(vcpu->kvm, 116 116 hbase, hmask, cp->a4); 117 117 else ··· 127 127 case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID: 128 128 /* 129 129 * Until nested virtualization is implemented, the 130 - * SBI HFENCE calls should be treated as NOPs 130 + * SBI HFENCE calls should return not supported 131 + * hence fallthrough. 131 132 */ 132 - break; 133 133 default: 134 134 retdata->err_val = SBI_ERR_NOT_SUPPORTED; 135 135 }