[PATCH] ARM: KVM: Fix idmap stub entry when running Thumb-2 code

Christoffer Dall cdall at linaro.org
Thu Apr 20 15:02:23 EDT 2017

On Thu, Apr 20, 2017 at 04:02:21PM +0100, Marc Zyngier wrote:
> When entering the hyp stub implemented in the idmap, we try to
> be mindful of the fact that we could be running a Thumb-2 kernel
> by adding 1 to the address we compute. Unfortunately, the assembler
> also knows about this trick, and has already generated an address
> that has bit 0 set in the litteral pool.
> Our superfluous correction ends up confusing the CPU entierely,
> as we now branch to the stub in ARM mode instead of Thumb, and on
> a possibly unaligned address for good measure. From that point,
> nothing really good happens.
> The obvious fix in to remove this stupid target PC correction.
> Fixes: 6bebcecb6c5b ("ARM: KVM: Allow the main HYP code to use the init hyp stub implementation")
> Reported-by: Christoffer Dall <cdall at linaro.org>
> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>

This works, thanks.

Applied to kvmarm/next.

More information about the linux-arm-kernel mailing list