<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/next/linux-next.git/Documentation/virt, branch akpm</title>
<subtitle>The linux-next integration testing tree</subtitle>
<id>https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=akpm</id>
<link rel='self' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=akpm'/>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/'/>
<updated>2022-06-28T03:41:23+00:00</updated>
<entry>
<title>Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm.git</title>
<updated>2022-06-28T03:41:23+00:00</updated>
<author>
<name>Stephen Rothwell</name>
<email>sfr@canb.auug.org.au</email>
</author>
<published>2022-06-28T03:41:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=f6d8eb2bde6d0659dd437a944bc62a3672204489'/>
<id>urn:sha1:f6d8eb2bde6d0659dd437a944bc62a3672204489</id>
<content type='text'>
# Conflicts:
#	tools/testing/selftests/kvm/lib/aarch64/ucall.c
#	tools/testing/selftests/kvm/s390x/memop.c
#	tools/testing/selftests/kvm/s390x/resets.c
#	tools/testing/selftests/kvm/s390x/sync_regs_test.c
#	tools/testing/selftests/kvm/s390x/tprot.c
</content>
</entry>
<entry>
<title>docs: UML: fix typo</title>
<updated>2022-06-24T19:18:21+00:00</updated>
<author>
<name>Steven Lung</name>
<email>1030steven@gmail.com</email>
</author>
<published>2022-06-21T07:29:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=5b8d9ee0034576062460255d8bab3b3e61a2a25f'/>
<id>urn:sha1:5b8d9ee0034576062460255d8bab3b3e61a2a25f</id>
<content type='text'>
Replace 'absense' with 'absence'.

Signed-off-by: Steven Lung &lt;1030steven@gmail.com&gt;
Link: https://lore.kernel.org/r/20220621072910.4704-1-1030steven@gmail.com
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>KVM: x86/MMU: Allow NX huge pages to be disabled on a per-vm basis</title>
<updated>2022-06-24T08:51:49+00:00</updated>
<author>
<name>Ben Gardon</name>
<email>bgardon@google.com</email>
</author>
<published>2022-06-13T21:25:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=084cc29f8bbb034cf30a7ee07a816c115e0c28df'/>
<id>urn:sha1:084cc29f8bbb034cf30a7ee07a816c115e0c28df</id>
<content type='text'>
In some cases, the NX hugepage mitigation for iTLB multihit is not
needed for all guests on a host. Allow disabling the mitigation on a
per-VM basis to avoid the performance hit of NX hugepages on trusted
workloads.

In order to disable NX hugepages on a VM, ensure that the userspace
actor has permission to reboot the system. Since disabling NX hugepages
would allow a guest to crash the system, it is similar to reboot
permissions.

Ideally, KVM would require userspace to prove it has access to KVM's
nx_huge_pages module param, e.g. so that userspace can opt out without
needing full reboot permissions.  But getting access to the module param
file info is difficult because it is buried in layers of sysfs and module
glue. Requiring CAP_SYS_BOOT is sufficient for all known use cases.

Suggested-by: Jim Mattson &lt;jmattson@google.com&gt;
Reviewed-by: David Matlack &lt;dmatlack@google.com&gt;
Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Signed-off-by: Ben Gardon &lt;bgardon@google.com&gt;
Message-Id: &lt;20220613212523.3436117-9-bgardon@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86: Add a quirk for KVM's "MONITOR/MWAIT are NOPs!" behavior</title>
<updated>2022-06-20T15:50:42+00:00</updated>
<author>
<name>Sean Christopherson</name>
<email>seanjc@google.com</email>
</author>
<published>2022-06-08T22:45:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=bfbcc81bb82cbbad8bf4e40cea274f42b50674e2'/>
<id>urn:sha1:bfbcc81bb82cbbad8bf4e40cea274f42b50674e2</id>
<content type='text'>
Add a quirk for KVM's behavior of emulating intercepted MONITOR/MWAIT
instructions a NOPs regardless of whether or not they are supported in
guest CPUID.  KVM's current behavior was likely motiviated by a certain
fruity operating system that expects MONITOR/MWAIT to be supported
unconditionally and blindly executes MONITOR/MWAIT without first checking
CPUID.  And because KVM does NOT advertise MONITOR/MWAIT to userspace,
that's effectively the default setup for any VMM that regurgitates
KVM_GET_SUPPORTED_CPUID to KVM_SET_CPUID2.

Note, this quirk interacts with KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT.  The
behavior is actually desirable, as userspace VMMs that want to
unconditionally hide MONITOR/MWAIT from the guest can leave the
MISC_ENABLE quirk enabled.

Signed-off-by: Sean Christopherson &lt;seanjc@google.com&gt;
Message-Id: &lt;20220608224516.3788274-2-seanjc@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Fix references to non-existent KVM_CAP_TRIPLE_FAULT_EVENT</title>
<updated>2022-06-11T14:14:28+00:00</updated>
<author>
<name>Sean Christopherson</name>
<email>seanjc@google.com</email>
</author>
<published>2022-06-01T19:16:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=8deb03e75f6048b33b80025b6475c92975670c5b'/>
<id>urn:sha1:8deb03e75f6048b33b80025b6475c92975670c5b</id>
<content type='text'>
The x86-only KVM_CAP_TRIPLE_FAULT_EVENT was (appropriately) renamed to
KVM_CAP_X86_TRIPLE_FAULT_EVENT when the patches were applied, but the
docs and selftests got left behind.  Fix them.

Signed-off-by: Sean Christopherson &lt;seanjc@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86: PIT: Preserve state of speaker port data bit</title>
<updated>2022-06-08T17:06:20+00:00</updated>
<author>
<name>Paul Durrant</name>
<email>pdurrant@amazon.com</email>
</author>
<published>2022-05-31T12:44:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=b172862241b4849985c3e0e86cfb05d61e4a841d'/>
<id>urn:sha1:b172862241b4849985c3e0e86cfb05d61e4a841d</id>
<content type='text'>
Currently the state of the speaker port (0x61) data bit (bit 1) is not
saved in the exported state (kvm_pit_state2) and hence is lost when
re-constructing guest state.

This patch removes the 'speaker_data_port' field from kvm_kpit_state and
instead tracks the state using a new KVM_PIT_FLAGS_SPEAKER_DATA_ON flag
defined in the API.

Signed-off-by: Paul Durrant &lt;pdurrant@amazon.com&gt;
Message-Id: &lt;20220531124421.1427-1-pdurrant@amazon.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: VMX: Enable Notify VM exit</title>
<updated>2022-06-08T09:56:24+00:00</updated>
<author>
<name>Tao Xu</name>
<email>tao3.xu@intel.com</email>
</author>
<published>2022-05-24T13:56:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=2f4073e08f4cc5a41e35d777c240aaadd0257051'/>
<id>urn:sha1:2f4073e08f4cc5a41e35d777c240aaadd0257051</id>
<content type='text'>
There are cases that malicious virtual machines can cause CPU stuck (due
to event windows don't open up), e.g., infinite loop in microcode when
nested #AC (CVE-2015-5307). No event window means no event (NMI, SMI and
IRQ) can be delivered. It leads the CPU to be unavailable to host or
other VMs.

VMM can enable notify VM exit that a VM exit generated if no event
window occurs in VM non-root mode for a specified amount of time (notify
window).

Feature enabling:
- The new vmcs field SECONDARY_EXEC_NOTIFY_VM_EXITING is introduced to
  enable this feature. VMM can set NOTIFY_WINDOW vmcs field to adjust
  the expected notify window.
- Add a new KVM capability KVM_CAP_X86_NOTIFY_VMEXIT so that user space
  can query and enable this feature in per-VM scope. The argument is a
  64bit value: bits 63:32 are used for notify window, and bits 31:0 are
  for flags. Current supported flags:
  - KVM_X86_NOTIFY_VMEXIT_ENABLED: enable the feature with the notify
    window provided.
  - KVM_X86_NOTIFY_VMEXIT_USER: exit to userspace once the exits happen.
- It's safe to even set notify window to zero since an internal hardware
  threshold is added to vmcs.notify_window.

VM exit handling:
- Introduce a vcpu state notify_window_exits to records the count of
  notify VM exits and expose it through the debugfs.
- Notify VM exit can happen incident to delivery of a vector event.
  Allow it in KVM.
- Exit to userspace unconditionally for handling when VM_CONTEXT_INVALID
  bit is set.

Nested handling
- Nested notify VM exits are not supported yet. Keep the same notify
  window control in vmcs02 as vmcs01, so that L1 can't escape the
  restriction of notify VM exits through launching L2 VM.

Notify VM exit is defined in latest Intel Architecture Instruction Set
Extensions Programming Reference, chapter 9.2.

Co-developed-by: Xiaoyao Li &lt;xiaoyao.li@intel.com&gt;
Signed-off-by: Xiaoyao Li &lt;xiaoyao.li@intel.com&gt;
Signed-off-by: Tao Xu &lt;tao3.xu@intel.com&gt;
Co-developed-by: Chenyi Qiang &lt;chenyi.qiang@intel.com&gt;
Signed-off-by: Chenyi Qiang &lt;chenyi.qiang@intel.com&gt;
Message-Id: &lt;20220524135624.22988-5-chenyi.qiang@intel.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86: Extend KVM_{G,S}ET_VCPU_EVENTS to support pending triple fault</title>
<updated>2022-06-08T09:20:53+00:00</updated>
<author>
<name>Chenyi Qiang</name>
<email>chenyi.qiang@intel.com</email>
</author>
<published>2022-05-24T13:56:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=ed2351174e38ad4febbbc0dba802803e6cff8ae0'/>
<id>urn:sha1:ed2351174e38ad4febbbc0dba802803e6cff8ae0</id>
<content type='text'>
For the triple fault sythesized by KVM, e.g. the RSM path or
nested_vmx_abort(), if KVM exits to userspace before the request is
serviced, userspace could migrate the VM and lose the triple fault.

Extend KVM_{G,S}ET_VCPU_EVENTS to support pending triple fault with a
new event KVM_VCPUEVENT_VALID_FAULT_FAULT so that userspace can save and
restore the triple fault event. This extension is guarded by a new KVM
capability KVM_CAP_TRIPLE_FAULT_EVENT.

Note that in the set_vcpu_events path, userspace is able to set/clear
the triple fault request through triple_fault.pending field.

Signed-off-by: Chenyi Qiang &lt;chenyi.qiang@intel.com&gt;
Message-Id: &lt;20220524135624.22988-2-chenyi.qiang@intel.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86: Allow userspace to set maximum VCPU id for VM</title>
<updated>2022-06-08T08:47:31+00:00</updated>
<author>
<name>Zeng Guang</name>
<email>guang.zeng@intel.com</email>
</author>
<published>2022-04-19T15:44:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=35875316384b71d23dc2a45a969732fc8cab16af'/>
<id>urn:sha1:35875316384b71d23dc2a45a969732fc8cab16af</id>
<content type='text'>
Introduce new max_vcpu_ids in KVM for x86 architecture. Userspace
can assign maximum possible vcpu id for current VM session using
KVM_CAP_MAX_VCPU_ID of KVM_ENABLE_CAP ioctl().

This is done for x86 only because the sole use case is to guide
memory allocation for PID-pointer table, a structure needed to
enable VMX IPI.

By default, max_vcpu_ids set as KVM_MAX_VCPU_IDS.

Suggested-by: Sean Christopherson &lt;seanjc@google.com&gt;
Reviewed-by: Maxim Levitsky &lt;mlevitsk@redhat.com&gt;
Signed-off-by: Zeng Guang &lt;guang.zeng@intel.com&gt;
Message-Id: &lt;20220419154444.11888-1-guang.zeng@intel.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'kvm-s390-next-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD</title>
<updated>2022-06-07T16:28:53+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2022-06-07T16:28:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=5552de7b928dc56de30eb74bcd7d439f49d0fe9d'/>
<id>urn:sha1:5552de7b928dc56de30eb74bcd7d439f49d0fe9d</id>
<content type='text'>
KVM: s390: pvdump and selftest improvements

- add an interface to provide a hypervisor dump for secure guests
- improve selftests to show tests
</content>
</entry>
</feed>
