]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
KVM: arm/arm64: Move cc/it checks under hyp's Makefile to avoid instrumentation
authorJames Morse <james.morse@arm.com>
Wed, 22 May 2019 17:47:05 +0000 (18:47 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jun 2019 06:00:11 +0000 (08:00 +0200)
commitcf2a3bd43c54b94e4bcd38856c38a164fc43e40c
tree6c6cd563cd968f19ef6534342a6a9db6ccbae10d
parent6e84edc64acdac8daae1cf497c2d8ba74193e79f
KVM: arm/arm64: Move cc/it checks under hyp's Makefile to avoid instrumentation

[ Upstream commit 623e1528d4090bd1abaf93ec46f047dee9a6fb32 ]

KVM has helpers to handle the condition codes of trapped aarch32
instructions. These are marked __hyp_text and used from HYP, but they
aren't built by the 'hyp' Makefile, which has all the runes to avoid ASAN
and KCOV instrumentation.

Move this code to a new hyp/aarch32.c to avoid a hyp-panic when starting
an aarch32 guest on a host built with the ASAN/KCOV debug options.

Fixes: 021234ef3752f ("KVM: arm64: Make kvm_condition_valid32() accessible from EL2")
Fixes: 8cebe750c4d9a ("arm64: KVM: Make kvm_skip_instr32 available to HYP")
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm/kvm/hyp/Makefile
arch/arm64/kvm/hyp/Makefile
virt/kvm/arm/aarch32.c
virt/kvm/arm/hyp/aarch32.c [new file with mode: 0644]