You have been subscribed to a public bug: Description: kvm: floating interrupts may get stuck Symptom: Most prominently guest stuck in IPL. Problem: When trying to pick an idle cpu to process the interrupts we can end up messing up, and picking, for example a stopped vcpu, because we first look up an index form the kvm->arch.idle_mask and then use it to obtain a cpu using kvm_get_vcpu() The trouble is, we made kvm->arch.idle_mask to be indexed with cpu_id, while kvm_get_vcpu() expects a vcpu_idx. Hereby vcpu_id is an identifier that comes from userspace, while vcpu_idx'es are given away at vcpu creation FCFS. In practice QEMU does currently the creation of vcpus so that the two end up having the same value. That is why we did not notice this problem for years. Reproduction: Make sure you cpu_id's and cpu_idx'es aren't the same, and try to IPL a guest.
Solution: Make kvm->arch.idle_mask cpu_idx based. Upstream-ID: a3e03bc1368c1bc16e19b001fc96dc7430573cc8 Date: 2021-09-09 Author: Halil Pasic <pa...@linux.ibm.com> Component: kernel ** Affects: linux (Ubuntu) Importance: Undecided Assignee: Skipper Bug Screeners (skipper-screen-team) Status: New ** Tags: architecture-s39064 bugnameltc-195431 severity-high targetmilestone-inin--- -- [UBUNTU 20.04] kvm: floating interrupts may get stuck https://bugs.launchpad.net/bugs/1951109 You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. -- 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