On Wed, Oct 06, 2021 at 03:15:51PM +0100, Andrew Cooper wrote:
The case which goes wrong is this:
- Zen1 (or earlier) and Zen2 (or later) in a migration pool
- Linux boots on Zen2, probes and finds the absence of X86_BUG_NULL_SEL
- Linux is then migrated to Zen1
Linux is now running on a X86_BUG_NULL_SEL-impacted CPU while believing that the bug is fixed.
The only way to address the problem is to fully trust the "no longer affected" CPUID bit when virtualised, because in the above case it would be clear deliberately to indicate the fact "you might migrate to somewhere which really is affected".
Yap, makes sense.
Thanks for taking the time - that's what I was looking for.
Please add to the commit message of the next version.