Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [PATCH v6 8/8] kvm: vmx: virtualize split lock detection | Date | Thu, 26 Mar 2020 19:51:16 +0100 |
| |
Xiaoyao Li <xiaoyao.li@intel.com> writes: > On 3/26/2020 10:55 PM, Thomas Gleixner wrote: >> Xiaoyao Li <xiaoyao.li@intel.com> writes: >>> On 3/26/2020 7:10 PM, Thomas Gleixner wrote: >>> If the host has it disabled, !split_lock_detect_on() is true, it skips >>> following check due to || >>> >>> if (!boot_cpu_has(X86_FEATURE_SPLIT_LOCK)) { >>> inject #AC back to guest > and return 1; > >> >> That'd be a regular #AC, right? > > Yes. > >>> } else { >>> if (guest_alignment_check_enabled() || guest_sld_on()) >>> inject #AC back to guest > and return 1; > >> Here is clearly an else path missing. > > the else path is fall through. > > i.e. calling handle_user_split_lock(). > > If cannot handle, it falls through to report #AC to user space (QEMU) > >>> } >> > > If there is no problem with the above. So what's the problem of the > original?
Probably my inability to decipher the convoluted condition.
Thanks,
tglx
| |