diff options
author | Oliver Upton <oliver.upton@linux.dev> | 2022-09-13 12:44:38 +0300 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2022-09-14 13:36:16 +0300 |
commit | 4de06e4c1dc949c35c16e4423b4ccd735264b0a9 (patch) | |
tree | 812686b95d1f043868174f6ba0ee61caa3a19472 /arch/arm64/kvm/sys_regs.c | |
parent | 5d9a718b64e428a40939806873ecf16f072008b3 (diff) | |
download | linux-4de06e4c1dc949c35c16e4423b4ccd735264b0a9.tar.xz |
KVM: arm64: Add a visibility bit to ignore user writes
We're about to ignore writes to AArch32 ID registers on AArch64-only
systems. Add a bit to indicate a register is handled as write ignore
when accessed from userspace.
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
Reviewed-by: Reiji Watanabe <reijiw@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220913094441.3957645-6-oliver.upton@linux.dev
Diffstat (limited to 'arch/arm64/kvm/sys_regs.c')
-rw-r--r-- | arch/arm64/kvm/sys_regs.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c index 0e20a311ea20..6d0511247df4 100644 --- a/arch/arm64/kvm/sys_regs.c +++ b/arch/arm64/kvm/sys_regs.c @@ -2775,6 +2775,9 @@ int kvm_sys_reg_set_user(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg, if (!r) return -ENOENT; + if (sysreg_user_write_ignore(vcpu, r)) + return 0; + if (r->set_user) { ret = (r->set_user)(vcpu, r, val); } else { |