]> git.baikalelectronics.ru Git - kernel.git/commit
arm/arm64: KVM: Fix unaligned access bug on gicv2 access
authorChristoffer Dall <christoffer.dall@linaro.org>
Mon, 22 Sep 2014 20:10:36 +0000 (22:10 +0200)
committerChristoffer Dall <christoffer.dall@linaro.org>
Mon, 22 Sep 2014 21:05:56 +0000 (23:05 +0200)
commit0d435ac9f0b2c9a540d3b99b1357527ad8b107ac
treeea414717822d6eab576c3c8cd7aed692fabfa1ba
parenta4c37707de28b5114c42e50f00bc13036bf0e1cb
arm/arm64: KVM: Fix unaligned access bug on gicv2 access

We were using an atomic bitop on the vgic_v2.vgic_elrsr field which was
not aligned to the natural size on 64-bit platforms.  This bug showed up
after QEMU correctly identifies the pl011 line as being level-triggered,
and not edge-triggered.

These data structures are protected by a spinlock so simply use a
non-atomic version of the accessor instead.

Tested-by: Joel Schopp <joel.schopp@amd.com>
Reported-by: Riku Voipio <riku.voipio@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
virt/kvm/arm/vgic-v2.c