diff options
author | Sean Christopherson <seanjc@google.com> | 2024-10-09 20:50:01 +0300 |
---|---|---|
committer | Sean Christopherson <seanjc@google.com> | 2024-11-01 19:22:22 +0300 |
commit | 1c932fc7620ddb9f5005fd4b0cf7f0ff47ecaaa4 (patch) | |
tree | 11800e8d5149f4d64ac9bb6054b6522776a84935 /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | f0e7012c4b938606c7ca230154f181f8eed683eb (diff) | |
download | linux-1c932fc7620ddb9f5005fd4b0cf7f0ff47ecaaa4.tar.xz |
KVM: x86: Add lockdep-guarded asserts on register cache usage
When lockdep is enabled, assert that KVM accesses the register caches if
and only if cache fills are guaranteed to consume fresh data, i.e. when
KVM when KVM is in control of the code sequence. Concretely, the caches
can only be used from task context (synchronous) or when handling a PMI
VM-Exit (asynchronous, but only in specific windows where the caches are
in a known, stable state).
Generally speaking, there are very few flows where reading register state
from an asynchronous context is correct or even necessary. So, rather
than trying to figure out a generic solution, simply disallow using the
caches outside of task context by default, and deal with any future
exceptions on a case-by-case basis _if_ they arise.
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Link: https://lore.kernel.org/r/20241009175002.1118178-4-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions