Clean up and harden the use of the x86_emulate_ctxt._regs, which is surrounded by a fair bit of magic. This series was prompted by bug reports by Kees and Robert where GCC-12 flags an out-of-bounds _regs access. I'm 99% certain GCC-12 is wrong and is generating a false positive, but just in case... I didn't tag patch 2 with Fixes or Cc: stable@; if it turns out to "fix" the GCC-12 compilation error, it's probably worth sending to v5.18 stable tree (KVM hasn't changed, but the warning=>error was "introdued in v5.18 by commit e6148767825c ("Makefile: Enable -Warray-bounds")). Sean Christopherson (4): KVM: x86: Grab regs_dirty in local 'unsigned long' KVM: x86: Harden _regs accesses to guard against buggy input KVM: x86: Omit VCPU_REGS_RIP from emulator's _regs array KVM: x86: Use 16-bit fields to track dirty/valid emulator GPRs arch/x86/kvm/emulate.c | 14 ++++++++++++-- arch/x86/kvm/kvm_emulate.h | 14 +++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) base-commit: 90bde5bea810d766e7046bf5884f2ccf76dd78e9 -- 2.36.1.124.g0e6072fb45-goog