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:18:04 +0000 (08:18 +0200)
commit60b300975e5f6c8eb8364fa19d86c2e57a7888e9
tree69b26e21955404328d81c88d02b3f758156d3d1c
parent9366f5dc8409ed78278788d4fcf89361f2dfab4a
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]