Public bug reported: Description: KVM: s390: pv: don't allow userspace to set the clock under PV
Symptom: Timer issues and RCU stalls after suspending and resuming an IBM Secure Execution guest Problem: KVM and QEMU try to set the guest's TOD clock after resume under PV, even though that is not permitted under SE. Hence, their view of the guest clock may deviate from the ultravisor's, possibly causing KVM to re-dispatch the guest too late on clock comparator interrupts. Solution: Don't set the clock after resume under PV. Note that kernel and QEMU patches are required in lockstep, to avoid a warning message in QEMU. Reproduction: 1. Start SE guest using libvirt. 2. Pause the guest using "virsh suspend", wait for a few seconds, resume using "virsh resume". 3. Run "time sleep 1" in the guest. 4. The sleep will sleep much longer than one second. Component: qemu Upstream-ID: 38621181ae3cbec62e3490fbc14f6ac01642d07a Preventive: yes Author: Nico Boehr <n...@linux.ibm.com> Please note that fixing the described problem requires patches for the kernel as well as for QEMU. This bug covers the qemu part, whereas the required kernel part is described and handled in the following related bug: Bug 200889 - [UBUNTU 20.04] KVM: s390: pv: don't allow userspace to set the clock under PV - kernel part Both parts, the kernel and the qemu patches should be applied / released at the same time to avoid problems resulting in the following warning message for customers: 'warning: Unable to set KVM guest TOD clock: Operation not supported' ** Affects: linux (Ubuntu) Importance: Undecided Assignee: Skipper Bug Screeners (skipper-screen-team) Status: New ** Tags: architecture-s39064 bugnameltc-200901 severity-high targetmilestone-inin--- ** Tags added: architecture-s39064 bugnameltc-200901 severity-high targetmilestone-inin--- ** Changed in: ubuntu Assignee: (unassigned) => Skipper Bug Screeners (skipper-screen-team) ** Package changed: ubuntu => linux (Ubuntu) -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1999885 Title: [UBUNTU 20.04] KVM: s390: pv: don't allow userspace to set the clock under PV - qemu part Status in linux package in Ubuntu: New Bug description: Description: KVM: s390: pv: don't allow userspace to set the clock under PV Symptom: Timer issues and RCU stalls after suspending and resuming an IBM Secure Execution guest Problem: KVM and QEMU try to set the guest's TOD clock after resume under PV, even though that is not permitted under SE. Hence, their view of the guest clock may deviate from the ultravisor's, possibly causing KVM to re-dispatch the guest too late on clock comparator interrupts. Solution: Don't set the clock after resume under PV. Note that kernel and QEMU patches are required in lockstep, to avoid a warning message in QEMU. Reproduction: 1. Start SE guest using libvirt. 2. Pause the guest using "virsh suspend", wait for a few seconds, resume using "virsh resume". 3. Run "time sleep 1" in the guest. 4. The sleep will sleep much longer than one second. Component: qemu Upstream-ID: 38621181ae3cbec62e3490fbc14f6ac01642d07a Preventive: yes Author: Nico Boehr <n...@linux.ibm.com> Please note that fixing the described problem requires patches for the kernel as well as for QEMU. This bug covers the qemu part, whereas the required kernel part is described and handled in the following related bug: Bug 200889 - [UBUNTU 20.04] KVM: s390: pv: don't allow userspace to set the clock under PV - kernel part Both parts, the kernel and the qemu patches should be applied / released at the same time to avoid problems resulting in the following warning message for customers: 'warning: Unable to set KVM guest TOD clock: Operation not supported' To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1999885/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp