Re: [patch 1/2] x86,module: Detect VMX modules and disable Split-Lock-Detect

From: Jessica Yu
Date: Fri Apr 03 2020 - 10:35:07 EST


+++ Rasmus Villemoes [03/04/20 01:42 +0200]:
On 02/04/2020 14.32, Thomas Gleixner wrote:
From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>

It turns out that with Split-Lock-Detect enabled (default) any VMX
hypervisor needs at least a little modification in order to not blindly
inject the #AC into the guest without the guest being ready for it.

Since there is no telling which module implements a hypervisor, scan the
module text and look for the VMLAUNCH instruction. If found, the module is
assumed to be a hypervisor of some sort and SLD is disabled.

How long does that scan take/add to module load time? Would it make
sense to exempt in-tree modules?

Rasmus

I second Rasmus's question. It seems rather unfortunate that we have
to do this text scan for every module load on x86, when it doesn't
apply to the majority of them, and only to a handful of out-of-tree
hypervisor modules (assuming kvm is taken care of already).

I wonder if it would make sense then to limit the text scans to just
out-of-tree modules (i.e., missing the intree modinfo flag)?

Jessica