[an error occurred while processing this directive]
lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8634gku30g.wl-maz@kernel.org>
Date: Tue, 11 Feb 2025 11:36:31 +0000
From: Marc Zyngier <maz@...nel.org>
To: Naresh Kamboju <naresh.kamboju@...aro.org>
Cc: kvmarm@...ts.linux.dev,
	Linux ARM <linux-arm-kernel@...ts.infradead.org>,
	open list <linux-kernel@...r.kernel.org>,
	virtualization@...ts.linux.dev,
	Mark Brown <broonie@...nel.org>,
	Catalin Marinas <catalin.marinas@....com>,
	Arnd Bergmann <arnd@...db.de>,
	Dan Carpenter <dan.carpenter@...aro.org>,
	Anders Roxell <anders.roxell@...aro.org>,
	Aishwarya TCV <Aishwarya.TCV@....com>
Subject: Re: kvm: nVHE hyp panic at: __kvm_nvhe_kvm_hyp_handle_sysre

On Tue, 11 Feb 2025 11:24:06 +0000,
Naresh Kamboju <naresh.kamboju@...aro.org> wrote:
> 
> Regression on rk3399-rock-pi-4b while running kvm-unit-tests with
> nvhe, protected and vhe mode with virtualization enabled.

I do not buy this. RK3399 only has ARMv8.0 cores, which by definition
do not have VHE.

> 
> First seen on next-20250120
> Good: next-20250117
> Bad: next-20250120 till today's next-20250210
> 
> This is always reproducible.

What about vanilla upstream?

> 
> Regression on these devices with kernel command line boot modes.
> * rk3399-rock-pi-4b-nvhe
> * rk3399-rock-pi-4b-protected
> * rk3399-rock-pi-4b-vhe

Please show me this device running in VHE mode.

For the crash at hand, which clearly shows nVHE, can you report
whether the following hack fixes it for you?

	M.

diff --git a/arch/arm64/kvm/hyp/include/hyp/switch.h b/arch/arm64/kvm/hyp/include/hyp/switch.h
index f838a45665f26..cb57420a07de2 100644
--- a/arch/arm64/kvm/hyp/include/hyp/switch.h
+++ b/arch/arm64/kvm/hyp/include/hyp/switch.h
@@ -556,7 +556,7 @@ static bool kvm_handle_cntxct(struct kvm_vcpu *vcpu)
 		return false;
 	}
 
-	val = compute_counter_value(ctxt);
+	val = compute_counter_value(kern_hyp_va(ctxt));
 
 	vcpu_set_reg(vcpu, kvm_vcpu_sys_get_rt(vcpu), val);
 	__kvm_skip_instr(vcpu);

-- 
Without deviation from the norm, progress is not possible.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ