Bionic kernel 4.15.0-136 causes dosemu2 (with kvm mode) freezes due to lack of KVM patch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Dosemu2 |
Fix Released
|
Unknown
|
|||
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
High
|
Guilherme G. Piccoli |
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_
-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:/
[1] https://<email address hidden>/
[2] http://
[3] https://<email address hidden>/
[4] http://
<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:/
dosemu2 package can be obtained from https:/
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/
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:/
CVE References
no longer affects: | dosemu (Ubuntu) |
affects: | ubuntu → linux (Ubuntu) |
affects: | linux → dosemu2 |
Changed in dosemu2: | |
status: | Unknown → New |
Changed in dosemu2: | |
status: | New → Fix Released |
summary: |
- kernel 4.15.0-136 causes dosemu2 with kvm freezes + Bionic kernel 4.15.0-136 causes dosemu2 (with kvm mode) freezes due to + lack of KVM patch |
description: | updated |
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
assignee: | nobody → Guilherme G. Piccoli (gpiccoli) |
Changed in dosemu2: | |
status: | Fix Released → New |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Guilherme G. Piccoli (gpiccoli) |
importance: | Undecided → High |
status: | New → In Progress |
Changed in linux (Ubuntu): | |
assignee: | Guilherme G. Piccoli (gpiccoli) → nobody |
importance: | High → Undecided |
status: | In Progress → Invalid |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-bionic removed: bot-comment verification-needed-bionic |
Changed in dosemu2: | |
status: | New → Fix Released |
I can confirm that I also am experiencing this bug on various 16.04. LTS systems since the latest update.