arm64: guest hangs when ntpd is running
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
dann frazier | ||
Xenial |
Fix Released
|
Medium
|
dann frazier |
Bug Description
SRU Justification:
Impact: KVM guests hang on arm64 host running ntpd
Fix: From linux-next:
commit 1c5631c73fc2261
Author: Marc Zyngier <email address hidden>
Date: Wed Apr 6 09:37:22 2016 +0100
KVM: arm/arm64: Handle forward time correction gracefully
BugLink: http://
On a host that runs NTP, corrections can have a direct impact on
the background timer that we program on the behalf of a vcpu.
In particular, NTP performing a forward correction will result in
a timer expiring sooner than expected from a guest point of view.
Not a big deal, we kick the vcpu anyway.
But on wake-up, the vcpu thread is going to perform a check to
find out whether or not it should block. And at that point, the
timer check is going to say "timer has not expired yet, go back
to sleep". This results in the timer event being lost forever.
There are multiple ways to handle this. One would be record that
the timer has expired and let kvm_cpu_
true in that case, but that would be fairly invasive. Another is
to check for the "short sleep" condition in the hrtimer callback,
and restart the timer for the remaining time when the condition
is detected.
This patch implements the latter, with a bit of refactoring in
order to avoid too much code duplication.
Testcase:
A) Install ntp on the host (I'm using a 2 socket ThunderX)
B) Boot up a large VM (95 CPUs/4G memory)
C) Within the VM, rebuild the Ubuntu kernel package
If it doesn't hang - bug is gone.
Related branches
CVE References
Changed in linux (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Andy Whitcroft (apw) |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Xenial): | |
status: | Confirmed → In Progress |
description: | updated |
Changed in linux (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
This bug was fixed in the package linux - 4.4.0-9.24
---------------
linux (4.4.0-9.24) xenial; urgency=low
[ Tim Gardner ]
* Release Tracking Bug
- LP: #1551319
* AppArmor logs denial for when the device path is ENOENT (LP: #1482943)
- SAUCE: apparmor: fix log of apparmor audit message when kern_path() fails
* BUG: unable to handle kernel NULL pointer dereference (aa_label_merge) (LP: replacedby on
#1448912)
- SAUCE: apparmor: Fix: insert race between label_update and label_merge
- SAUCE: apparmor: Fix: ensure aa_get_newest will trip debugging if the
replacedby is not setup
- SAUCE: apparmor: Fix: label merge handling of marking unconfined and stale
- SAUCE: apparmor: Fix: refcount race between locating in labelset and get
- SAUCE: apparmor: Fix: ensure new labels resulting from merge have a
replacedby
- SAUCE: apparmor: Fix: label_vec_merge insertion
- SAUCE: apparmor: Fix: deadlock in aa_put_label() call chain
- SAUCE: apparmor: Fix: add required locking of __aa_update_
merge path
- SAUCE: apparmor: Fix: convert replacedby update to be protected by the
labelset lock
- SAUCE: apparmor: Fix: update replacedby allocation to take a gfp parameter
* apparmor kernel BUG kills firefox (LP: #1430546)
- SAUCE: apparmor: Disallow update of cred when then subjective != the
objective cred
- SAUCE: apparmor: rework retrieval of the current label in the profile update
case
* sleep from invalid context in aa_move_mount (LP: #1539349)
- SAUCE: apparmor: fix sleep from invalid context
* s390x: correct restore of high gprs on signal return (LP: #1550468)
- s390/compat: correct restore of high gprs on signal return
* missing SMAP support (LP: #1550517)
- x86/entry/compat: Add missing CLAC to entry_INT80_32
* Floating-point exception handler receives empty Data-Exception Code in
Floating Point Control register (LP: #1548414)
- s390/fpu: signals vs. floating point control register
* kvm fails to boot GNU Hurd kernels with 4.4 Xenial kernel (LP: #1550596)
- KVM: x86: fix conversion of addresses to linear in 32-bit protected mode
* Surelock GA2 SP1: capiredp01: cxl_init_adapter fails for CAPI devices b1208b_ 1604.840 (LP: #1532914)
0000:01:00.0 and 0005:01:00.0 after upgrading to 840.10 Platform firmware
build fips840/
- cxl: Fix PSL timebase synchronization detection
* [Feature]EDAC support for Knights Landing (LP: #1519631)
- EDAC, sb_edac: Set fixed DIMM width on Xeon Knights Landing
* Various failures of kernel_security suite on Xenial kernel on s390x arch DEFAULT_ MMAP_MIN_ ADDR=65536
(LP: #1531327)
- [config] s390x -- CONFIG_
* Unable to install VirtualBox Guest Service in 15.04 (LP: #1434579) guest-modules when appropriate
- [Config] Provides: virtualbox-
* linux is missing provides for virtualbox- guest-modules [i386 amd64 x32] (LP: guest-modules when appropriate
#1507588)
- [Config] Provides: virtualbox-
* Backport more recent driver for SKL, KBL and BXT graphics (LP: #1540390)
- SAUCE: i915_bpo: Provide a backport driver for SKL, KBL & BXT graphics
- SA...