** Changed in: dosemu2
Status: New => Fix Released
--
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/1917138
Title:
Bionic kernel 4.15.0-136 causes dosemu2 (with kvm mode) freezes due to
lack of KVM patch
Status in Dosemu2:
Fix Released
Status in linux package in Ubuntu:
Invalid
Status in linux source package in Bionic:
Fix Released
Bug description:
[Impact]
* Since kernel 4.15.0-136, Bionic kernel included a very complex KVM fix for
a kind of "race" in interrupt window with irqchip-split (reported in [0]). The
fix was proposed in the form of a patch series containing 2 patches [1] - this
was merged in Ubuntu though the stable tree, in the form of the following
commit:
71cc849b7093 ("KVM: x86: Fix split-irqchip vs interrupt injection window
request") [2]
* The problem is that such commit has a companion required commit,
which was not proposed in the stable tree. In fact, there was a
confusion among KVM community and the stable maintainer [3], due to
the lack of such missing commit - because of that, the series was
removed from stable trees 4.14.y and 4.9.y, but the solo commit was
merged alone in Ubuntu kernel.
* Without the companion patch, we might have a KVM infinite "loop" condition
in the core IRQ handling, since the merged commit requires an extra check in
kvm_cpu_has_extint() and a condition "inversion" in kvm_cpu_get_extint(), only
present in the missing companion patch. Users reported that this manifested as
dosemu2 (running in KVM mode) to be stuck in kernel 4.15.0-136 and -137, while
works fine in 4.15.0-135 and the
-137 plus the companion patch.
* So, we hereby backport the companion commit, originally upstream
patch: 72c3bcdcda ("KVM: x86: handle !lapic_in_kernel case in
kvm_cpu_*_extint") [4]
[Test Case]
* The test case proposed was the reported bug: try running dosemu2 (with kvm
mode enabled) and it fails without the companion commit.
* In order to test the correctness of both fixes together, we could
rely in the test proposed in [0] (running a guest with "noapic"), but
it wasn't consistent and the VMM wasn't mentioned, so we might have a
workaround mechanism in qemu, for example, preventing such test to
reproduce the issue.
[Where problems could occur]
* Since this is a KVM core modification, it could affect interrupt handling
in KVM but without the fix, we are already experiencing a bug. Also, both
commits were backported to 5.4.y and 4.19.y, so Focal and subsequent released
are already running with them.
[0]
https://lore.kernel.org/kvm/[email protected]/
[1]
https://lore.kernel.org/kvm/[email protected]/
[2] http://git.kernel.org/linus/71cc849b70
[3]
https://lore.kernel.org/stable/[email protected]/
[4] http://git.kernel.org/linus/72c3bcdcda
<Original description>
With the latest kernel 4.15.0-136 updates on ubuntu 18.04 and ubuntu
16.04, dosemu2 with kvm freezes boot.
dosemu2 source: https://github.com/dosemu2/dosemu2
dosemu2 package can be obtained from
https://launchpad.net/~dosemu2/+archive/ubuntu/ppa
1. ubuntu version
lsb_release -rd
Description: Ubuntu 18.04.5 LTS
Release: 18.04
2. package version
$ apt-cache policy dosemu2
dosemu2:
Installed: (none)
Candidate: (none)
Version table:
2.0~pre8-2 -1
100 /var/lib/dpkg/status
3. What is expected to happen: The dosemu program runs fine as in previous
kernel version
4. What happened instead: The dosemu freezes on loading
I have also reported this problem to dosemu2 developer, here is my bug report:
https://github.com/dosemu2/dosemu2/issues/1404
To manage notifications about this bug go to:
https://bugs.launchpad.net/dosemu2/+bug/1917138/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp