On 3/26/2020 10:55 PM, Thomas Gleixner wrote:
Xiaoyao Li <xiaoyao.li@xxxxxxxxx> 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?