张东旭 <xu910121@xxxxxxxx> reported a regression seen with CentOS when migrating from an old kernel to a new one. The problem was that QEMU rejected the migration since KVM_GET_REG_LIST reported a register was missing on the destination. Extra registers are OK on the destination, but not missing ones. The regression reproduces with upstream kernels when migrating from a 4.15 or later kernel, up to one with commit 73433762fcae ("KVM: arm64/sve: System register context switch and access support"), to a kernel that includes that commit, e.g. the latest mainline (5.10-rc2). The first patch of this series is the fix. The next two patches, which don't have any intended functional changes, allow ID_SANITISED to be used for registers that flip between exposing features and being RAZ, which allows some code to be removed. v2: - CC stable [Marc] - Only one RAZ flag is enough [Marc] - Move id_visibility() up by read_id_reg() since they'll likely be maintained together [drew] Andrew Jones (3): KVM: arm64: Don't hide ID registers from userspace KVM: arm64: Check RAZ visibility in ID register accessors KVM: arm64: Remove AA64ZFR0_EL1 accessors arch/arm64/kvm/sys_regs.c | 96 +++++++++++---------------------------- arch/arm64/kvm/sys_regs.h | 10 ++++ 2 files changed, 37 insertions(+), 69 deletions(-) -- 2.26.2 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm