<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/kvm, branch linux-5.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-05-06T12:09:17Z</updated>
<entry>
<title>Merge tag 'kvm-s390-master-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD</title>
<updated>2020-05-06T12:09:17Z</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2020-05-06T12:09:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2673cb6849722a4ffd74c27a9200a9ec43f64be3'/>
<id>urn:sha1:2673cb6849722a4ffd74c27a9200a9ec43f64be3</id>
<content type='text'>
KVM: s390: Fix for running nested uner z/VM

There are circumstances when running nested under z/VM that would trigger a
WARN_ON_ONCE. Remove the WARN_ON_ONCE. Long term we certainly want to make this
code more robust and flexible, but just returning instead of WARNING makes
guest bootable again.
</content>
</entry>
<entry>
<title>KVM: X86: Declare KVM_CAP_SET_GUEST_DEBUG properly</title>
<updated>2020-05-06T10:51:38Z</updated>
<author>
<name>Peter Xu</name>
</author>
<published>2020-05-05T15:47:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=495907ec36def1d28a44e2d1b5a51affe716aacf'/>
<id>urn:sha1:495907ec36def1d28a44e2d1b5a51affe716aacf</id>
<content type='text'>
KVM_CAP_SET_GUEST_DEBUG should be supported for x86 however it's not declared
as supported.  My wild guess is that userspaces like QEMU are using "#ifdef
KVM_CAP_SET_GUEST_DEBUG" to check for the capability instead, but that could be
wrong because the compilation host may not be the runtime host.

The userspace might still want to keep the old "#ifdef" though to not break the
guest debug on old kernels.

Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
Message-Id: &lt;20200505154750.126300-1-peterx@redhat.com&gt;
[Do the same for PPC and s390. - Paolo]
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: s390: Remove false WARN_ON_ONCE for the PQAP instruction</title>
<updated>2020-05-05T09:15:05Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2020-05-05T07:27:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5615e74f48dcc982655543e979b6c3f3f877e6f6'/>
<id>urn:sha1:5615e74f48dcc982655543e979b6c3f3f877e6f6</id>
<content type='text'>
In LPAR we will only get an intercept for FC==3 for the PQAP
instruction. Running nested under z/VM can result in other intercepts as
well as ECA_APIE is an effective bit: If one hypervisor layer has
turned this bit off, the end result will be that we will get intercepts for
all function codes. Usually the first one will be a query like PQAP(QCI).
So the WARN_ON_ONCE is not right. Let us simply remove it.

Cc: Pierre Morel &lt;pmorel@linux.ibm.com&gt;
Cc: Tony Krowiak &lt;akrowiak@linux.ibm.com&gt;
Cc: stable@vger.kernel.org # v5.3+
Fixes: e5282de93105 ("s390: ap: kvm: add PQAP interception for AQIC")
Link: https://lore.kernel.org/kvm/20200505083515.2720-1-borntraeger@de.ibm.com
Reported-by: Qian Cai &lt;cailca@icloud.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: David Hildenbrand &lt;david@redhat.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'kvm-s390-master-5.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-master</title>
<updated>2020-04-21T13:37:13Z</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2020-04-21T13:37:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3bda03865fcaf5e30248bf4b7b37a81f6966caf9'/>
<id>urn:sha1:3bda03865fcaf5e30248bf4b7b37a81f6966caf9</id>
<content type='text'>
KVM: s390: Fix for 5.7 and maintainer update

- Silence false positive lockdep warning
- add Claudio as reviewer
</content>
</entry>
<entry>
<title>KVM: s390: Fix PV check in deliverable_irqs()</title>
<updated>2020-04-20T09:23:45Z</updated>
<author>
<name>Eric Farman</name>
</author>
<published>2020-04-15T19:03:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d47c4c454ab023feae8c5be56bb14927d064bac0'/>
<id>urn:sha1:d47c4c454ab023feae8c5be56bb14927d064bac0</id>
<content type='text'>
The diag 0x44 handler, which handles a directed yield, goes into a
a codepath that does a kvm_for_each_vcpu() and ultimately
deliverable_irqs().  The new check for kvm_s390_pv_cpu_is_protected()
contains an assertion that the vcpu-&gt;mutex is held, which isn't going
to be the case in this scenario.

The result is a plethora of these messages if the lock debugging
is enabled, and thus an implication that we have a problem.

  WARNING: CPU: 9 PID: 16167 at arch/s390/kvm/kvm-s390.h:239 deliverable_irqs+0x1c6/0x1d0 [kvm]
  ...snip...
  Call Trace:
   [&lt;000003ff80429bf2&gt;] deliverable_irqs+0x1ca/0x1d0 [kvm]
  ([&lt;000003ff80429b34&gt;] deliverable_irqs+0x10c/0x1d0 [kvm])
   [&lt;000003ff8042ba82&gt;] kvm_s390_vcpu_has_irq+0x2a/0xa8 [kvm]
   [&lt;000003ff804101e2&gt;] kvm_arch_dy_runnable+0x22/0x38 [kvm]
   [&lt;000003ff80410284&gt;] kvm_vcpu_on_spin+0x8c/0x1d0 [kvm]
   [&lt;000003ff80436888&gt;] kvm_s390_handle_diag+0x3b0/0x768 [kvm]
   [&lt;000003ff80425af4&gt;] kvm_handle_sie_intercept+0x1cc/0xcd0 [kvm]
   [&lt;000003ff80422bb0&gt;] __vcpu_run+0x7b8/0xfd0 [kvm]
   [&lt;000003ff80423de6&gt;] kvm_arch_vcpu_ioctl_run+0xee/0x3e0 [kvm]
   [&lt;000003ff8040ccd8&gt;] kvm_vcpu_ioctl+0x2c8/0x8d0 [kvm]
   [&lt;00000001504ced06&gt;] ksys_ioctl+0xae/0xe8
   [&lt;00000001504cedaa&gt;] __s390x_sys_ioctl+0x2a/0x38
   [&lt;0000000150cb9034&gt;] system_call+0xd8/0x2d8
  2 locks held by CPU 2/KVM/16167:
   #0: 00000001951980c0 (&amp;vcpu-&gt;mutex){+.+.}, at: kvm_vcpu_ioctl+0x90/0x8d0 [kvm]
   #1: 000000019599c0f0 (&amp;kvm-&gt;srcu){....}, at: __vcpu_run+0x4bc/0xfd0 [kvm]
  Last Breaking-Event-Address:
   [&lt;000003ff80429b34&gt;] deliverable_irqs+0x10c/0x1d0 [kvm]
  irq event stamp: 11967
  hardirqs last  enabled at (11975): [&lt;00000001502992f2&gt;] console_unlock+0x4ca/0x650
  hardirqs last disabled at (11982): [&lt;0000000150298ee8&gt;] console_unlock+0xc0/0x650
  softirqs last  enabled at (7940): [&lt;0000000150cba6ca&gt;] __do_softirq+0x422/0x4d8
  softirqs last disabled at (7929): [&lt;00000001501cd688&gt;] do_softirq_own_stack+0x70/0x80

Considering what's being done here, let's fix this by removing the
mutex assertion rather than acquiring the mutex for every other vcpu.

Fixes: 201ae986ead7 ("KVM: s390: protvirt: Implement interrupt injection")
Signed-off-by: Eric Farman &lt;farman@linux.ibm.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Link: https://lore.kernel.org/r/20200415190353.63625-1-farman@linux.ibm.com
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>KVM: s390: Return last valid slot if approx index is out-of-bounds</title>
<updated>2020-04-14T14:39:57Z</updated>
<author>
<name>Sean Christopherson</name>
</author>
<published>2020-04-08T06:40:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=97daa028f3f621adff2c4f7b15fe0874e5b5bd6c'/>
<id>urn:sha1:97daa028f3f621adff2c4f7b15fe0874e5b5bd6c</id>
<content type='text'>
Return the index of the last valid slot from gfn_to_memslot_approx() if
its binary search loop yielded an out-of-bounds index.  The index can
be out-of-bounds if the specified gfn is less than the base of the
lowest memslot (which is also the last valid memslot).

Note, the sole caller, kvm_s390_get_cmma(), ensures used_slots is
non-zero.

Fixes: afdad61615cc3 ("KVM: s390: Fix storage attributes migration with memory slots")
Cc: stable@vger.kernel.org # 4.19.x: 0774a964ef56: KVM: Fix out of range accesses to memslots
Cc: stable@vger.kernel.org # 4.19.x
Signed-off-by: Sean Christopherson &lt;sean.j.christopherson@intel.com&gt;
Message-Id: &lt;20200408064059.8957-3-sean.j.christopherson@intel.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm</title>
<updated>2020-04-08T17:56:50Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2020-04-08T17:56:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0339eb95403fb4664219be344a9399a3fdf1fae1'/>
<id>urn:sha1:0339eb95403fb4664219be344a9399a3fdf1fae1</id>
<content type='text'>
Pull more kvm updates from Paolo Bonzini:
 "s390:
   - nested virtualization fixes

  x86:
   - split svm.c

   - miscellaneous fixes"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: VMX: fix crash cleanup when KVM wasn't used
  KVM: X86: Filter out the broadcast dest for IPI fastpath
  KVM: s390: vsie: Fix possible race when shadowing region 3 tables
  KVM: s390: vsie: Fix delivery of addressing exceptions
  KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks
  KVM: nVMX: don't clear mtf_pending when nested events are blocked
  KVM: VMX: Remove unnecessary exception trampoline in vmx_vmenter
  KVM: SVM: Split svm_vcpu_run inline assembly to separate file
  KVM: SVM: Move SEV code to separate file
  KVM: SVM: Move AVIC code to separate file
  KVM: SVM: Move Nested SVM Implementation to nested.c
  kVM SVM: Move SVM related files to own sub-directory
</content>
</entry>
<entry>
<title>Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost</title>
<updated>2020-04-08T17:51:53Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2020-04-08T17:51:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9bb715260ed4cef6948cb2e05cf670462367da71'/>
<id>urn:sha1:9bb715260ed4cef6948cb2e05cf670462367da71</id>
<content type='text'>
Pull virtio updates from Michael Tsirkin:

 - Some bug fixes

 - The new vdpa subsystem with two first drivers

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  virtio-balloon: Revert "virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM"
  vdpa: move to drivers/vdpa
  virtio: Intel IFC VF driver for VDPA
  vdpasim: vDPA device simulator
  vhost: introduce vDPA-based backend
  virtio: introduce a vDPA based transport
  vDPA: introduce vDPA bus
  vringh: IOTLB support
  vhost: factor out IOTLB
  vhost: allow per device message handler
  vhost: refine vhost and vringh kconfig
  virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM
  virtio-net: Introduce hash report feature
  virtio-net: Introduce RSS receive steering feature
  virtio-net: Introduce extended RSC feature
  tools/virtio: option to build an out of tree module
</content>
</entry>
<entry>
<title>KVM: s390: vsie: Fix delivery of addressing exceptions</title>
<updated>2020-04-07T11:12:34Z</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2020-04-03T15:30:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d4cee96fb7a3cc53702a9be8299bf525be4ee98'/>
<id>urn:sha1:4d4cee96fb7a3cc53702a9be8299bf525be4ee98</id>
<content type='text'>
Whenever we get an -EFAULT, we failed to read in guest 2 physical
address space. Such addressing exceptions are reported via a program
intercept to the nested hypervisor.

We faked the intercept, we have to return to guest 2. Instead, right
now we would be returning -EFAULT from the intercept handler, eventually
crashing the VM.
the correct thing to do is to return 1 as rc == 1 is the internal
representation of "we have to go back into g2".

Addressing exceptions can only happen if the g2-&gt;g3 page tables
reference invalid g2 addresses (say, either a table or the final page is
not accessible - so something that basically never happens in sane
environments.

Identified by manual code inspection.

Fixes: a3508fbe9dc6 ("KVM: s390: vsie: initial support for nested virtualization")
Cc: &lt;stable@vger.kernel.org&gt; # v4.8+
Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Link: https://lore.kernel.org/r/20200403153050.20569-3-david@redhat.com
Reviewed-by: Claudio Imbrenda &lt;imbrenda@linux.ibm.com&gt;
Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
[borntraeger@de.ibm.com: fix patch description]
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm</title>
<updated>2020-04-02T22:13:15Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2020-04-02T22:13:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8c1b724ddb218f221612d4c649bc9c7819d8d7a6'/>
<id>urn:sha1:8c1b724ddb218f221612d4c649bc9c7819d8d7a6</id>
<content type='text'>
Pull kvm updates from Paolo Bonzini:
 "ARM:
   - GICv4.1 support

   - 32bit host removal

  PPC:
   - secure (encrypted) using under the Protected Execution Framework
     ultravisor

  s390:
   - allow disabling GISA (hardware interrupt injection) and protected
     VMs/ultravisor support.

  x86:
   - New dirty bitmap flag that sets all bits in the bitmap when dirty
     page logging is enabled; this is faster because it doesn't require
     bulk modification of the page tables.

   - Initial work on making nested SVM event injection more similar to
     VMX, and less buggy.

   - Various cleanups to MMU code (though the big ones and related
     optimizations were delayed to 5.8). Instead of using cr3 in
     function names which occasionally means eptp, KVM too has
     standardized on "pgd".

   - A large refactoring of CPUID features, which now use an array that
     parallels the core x86_features.

   - Some removal of pointer chasing from kvm_x86_ops, which will also
     be switched to static calls as soon as they are available.

   - New Tigerlake CPUID features.

   - More bugfixes, optimizations and cleanups.

  Generic:
   - selftests: cleanups, new MMU notifier stress test, steal-time test

   - CSV output for kvm_stat"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (277 commits)
  x86/kvm: fix a missing-prototypes "vmread_error"
  KVM: x86: Fix BUILD_BUG() in __cpuid_entry_get_reg() w/ CONFIG_UBSAN=y
  KVM: VMX: Add a trampoline to fix VMREAD error handling
  KVM: SVM: Annotate svm_x86_ops as __initdata
  KVM: VMX: Annotate vmx_x86_ops as __initdata
  KVM: x86: Drop __exit from kvm_x86_ops' hardware_unsetup()
  KVM: x86: Copy kvm_x86_ops by value to eliminate layer of indirection
  KVM: x86: Set kvm_x86_ops only after -&gt;hardware_setup() completes
  KVM: VMX: Configure runtime hooks using vmx_x86_ops
  KVM: VMX: Move hardware_setup() definition below vmx_x86_ops
  KVM: x86: Move init-only kvm_x86_ops to separate struct
  KVM: Pass kvm_init()'s opaque param to additional arch funcs
  s390/gmap: return proper error code on ksm unsharing
  KVM: selftests: Fix cosmetic copy-paste error in vm_mem_region_move()
  KVM: Fix out of range accesses to memslots
  KVM: X86: Micro-optimize IPI fastpath delay
  KVM: X86: Delay read msr data iff writes ICR MSR
  KVM: PPC: Book3S HV: Add a capability for enabling secure guests
  KVM: arm64: GICv4.1: Expose HW-based SGIs in debugfs
  KVM: arm64: GICv4.1: Allow non-trapping WFI when using HW SGIs
  ...
</content>
</entry>
</feed>
