OSDN Git Service

arm64: KVM: Fix system register enumeration
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 2 Apr 2019 02:28:39 +0000 (03:28 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Tue, 2 Apr 2019 04:13:40 +0000 (05:13 +0100)
commit5d8d4af24460d079ecdb190254b14b528add1228
tree4488c610a920727e7a542a64017f991a9343386e
parent50036ad06b7f31f7312b43752185e37cf1d0b663
arm64: KVM: Fix system register enumeration

The introduction of the SVE registers to userspace started with a
refactoring of the way we expose any register via the ONE_REG
interface.

Unfortunately, this change doesn't exactly behave as expected
if the number of registers is non-zero and consider everything
to be an error. The visible result is that QEMU barfs very early
when creating vcpus.

Make sure we only exit early in case there is an actual error, rather
than a positive number of registers...

Fixes: be25bbb392fa ("KVM: arm64: Factor out core register ID enumeration")
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm64/kvm/guest.c