No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Sean Christopherson 8e61c799c8 KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use
commit 7dfbc624eb5726367900c8d86deff50836240361 upstream.

Check the current VMCS controls to determine if an MSR write will be
intercepted due to MSR bitmaps being disabled.  In the nested VMX case,
KVM will disable MSR bitmaps in vmcs02 if they're disabled in vmcs12 or
if KVM can't map L1's bitmaps for whatever reason.

Note, the bad behavior is relatively benign in the current code base as
KVM sets all bits in vmcs02's MSR bitmap by default, clears bits if and
only if L0 KVM also disables interception of an MSR, and only uses the
buggy helper for MSR_IA32_SPEC_CTRL.  Because KVM explicitly tests WRMSR
before disabling interception of MSR_IA32_SPEC_CTRL, the flawed check
will only result in KVM reading MSR_IA32_SPEC_CTRL from hardware when it
isn't strictly necessary.

Tag the fix for stable in case a future fix wants to use
msr_write_intercepted(), in which case a buggy implementation in older
kernels could prove subtly problematic.

Fixes: d28b387fb7 ("KVM/VMX: Allow direct access to MSR_IA32_SPEC_CTRL")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20211109013047.2041518-2-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-11-17 09:48:24 +01:00
arch KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use 2021-11-17 09:48:24 +01:00
block Revert "block, bfq: honor already-setup queue merges" 2021-10-06 15:42:34 +02:00
certs
crypto
Documentation regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property 2021-11-17 09:48:22 +01:00
drivers power: supply: max17042_battery: use VFSOC for capacity when no rsns 2021-11-17 09:48:24 +01:00
fs btrfs: call btrfs_check_rw_degradable only if there is a missing device 2021-11-17 09:48:22 +01:00
include net: multicast: calculate csum of looped-back and forwarded packets 2021-11-17 09:48:21 +01:00
init
ipc
kernel signal: Remove the bogus sigkill_pending in ptrace_stop 2021-11-17 09:48:24 +01:00
lib
LICENSES
mm mm, slub: fix potential memoryleak in kmem_cache_open() 2021-10-27 09:54:28 +02:00
net net/smc: Correct spelling mistake to TCPF_SYN_RECV 2021-11-17 09:48:22 +01:00
samples
scripts gcc-plugins/structleak: add makefile var for disabling structleak 2021-10-27 09:54:28 +02:00
security evm: mark evm_fixmode as __ro_after_init 2021-11-17 09:48:23 +01:00
sound ALSA: timer: Unconditionally unlink slave instances, too 2021-11-17 09:48:19 +01:00
tools perf script: Check session->header.env.arch before using it 2021-11-02 19:46:15 +01:00
usr
virt KVM: do not shrink halt_poll_ns below grow_start 2021-10-09 14:39:50 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.159 2021-11-12 14:43:05 +01:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.