[+ Catalin] On Mon, 26 Oct 2020 13:49:28 +0000, Mark Rutland <mark.rutland@xxxxxxx> 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@xxxxxxx > > 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. _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm