[PATCHv2 0/3] arm64: kvm: avoid referencing cpu_hwcaps from hyp
Marc Zyngier
maz at kernel.org
Thu Oct 29 15:48:16 EDT 2020
[+ Catalin]
On Mon, 26 Oct 2020 13:49:28 +0000,
Mark Rutland <mark.rutland at arm.com> wrote:
>
> In a few places we use cpus_have_const_cap() in hyp code, usually
> because this is hidden within a helper that's also used in regular
> kernel context. As cpus_have_const_cap() generates code to read the
> cpu_hwcaps array before capabilities are finalized, this means we
> generate some potentially-unsound references to regular kernel VAs, but
> this these are redundant as capabilities are finalized before we
> initialize the kvm hyp code.
>
> This series gets rid of the redundant code by automatically upgrading
> cpust_have_const_cap() to cpus_have_final_cap() when used in hyp code.
> This allows us to avoid creating an NVHE alias for the cpu_hwcaps array,
> so we can catch if we accidentally introduce an runtime reference to
> this (e.g. via cpus_have_cap()).
>
> Since v1 [1]:
> * Trivial rebase to v5.10-rc1
>
> [1] https://lore.kernel.org/r/20201007125211.30043-1-mark.rutland@arm.com
>
> Mark Rutland (3):
> arm64: kvm: factor out is_{vhe,nvhe}_hyp_code()
> arm64: cpufeature: reorder cpus_have_{const,final}_cap()
> arm64: cpufeature: upgrade hyp caps to final
>
> arch/arm64/include/asm/cpufeature.h | 40 ++++++++++++++++++++++++++++---------
> arch/arm64/include/asm/virt.h | 9 ++++-----
> arch/arm64/kernel/image-vars.h | 1 -
> 3 files changed, 35 insertions(+), 15 deletions(-)
Catalin, Will: can I get an Ack for patches 2 and 3? I'd be quite
happy to drop yet another reference from the nVHE object...
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
More information about the linux-arm-kernel
mailing list