The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* arch/x86/kvm/smm.c:651 emulator_leave_smm() warn: inconsistent indenting
@ 2024-12-13 15:46 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-12-13 15:46 UTC (permalink / raw)
  To: Sean Christopherson; +Cc: oe-kbuild-all, linux-kernel, Maxim Levitsky

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f932fb9b40749d1c9a539d89bb3e288c077aafe5
commit: 3f6821aa147b6e6fe07e8b35999724518b74a632 KVM: x86: Forcibly leave nested if RSM to L2 hits shutdown
date:   3 months ago
config: i386-randconfig-141-20241213 (https://download.01.org/0day-ci/archive/20241213/202412132356.dMOiC7ev-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412132356.dMOiC7ev-lkp@intel.com/

New smatch warnings:
arch/x86/kvm/smm.c:651 emulator_leave_smm() warn: inconsistent indenting

Old smatch warnings:
arch/x86/kvm/smm.c:300 enter_smm() warn: inconsistent indenting

vim +651 arch/x86/kvm/smm.c

   625	
   626		/*
   627		 * FIXME: When resuming L2 (a.k.a. guest mode), the transition to guest
   628		 * mode should happen _after_ loading state from SMRAM.  However, KVM
   629		 * piggybacks the nested VM-Enter flows (which is wrong for many other
   630		 * reasons), and so nSVM/nVMX would clobber state that is loaded from
   631		 * SMRAM and from the VMCS/VMCB.
   632		 */
   633		if (kvm_x86_call(leave_smm)(vcpu, &smram))
   634			return X86EMUL_UNHANDLEABLE;
   635	
   636	#ifdef CONFIG_X86_64
   637		if (guest_cpuid_has(vcpu, X86_FEATURE_LM))
   638			ret = rsm_load_state_64(ctxt, &smram.smram64);
   639		else
   640	#endif
   641			ret = rsm_load_state_32(ctxt, &smram.smram32);
   642	
   643		/*
   644		 * If RSM fails and triggers shutdown, architecturally the shutdown
   645		 * occurs *before* the transition to guest mode.  But due to KVM's
   646		 * flawed handling of RSM to L2 (see above), the vCPU may already be
   647		 * in_guest_mode().  Force the vCPU out of guest mode before delivering
   648		 * the shutdown, so that L1 enters shutdown instead of seeing a VM-Exit
   649		 * that architecturally shouldn't be possible.
   650		 */
 > 651		if (ret != X86EMUL_CONTINUE && is_guest_mode(vcpu))

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-12-13 15:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-13 15:46 arch/x86/kvm/smm.c:651 emulator_leave_smm() warn: inconsistent indenting kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox