Hide "ballooned" memory from /proc in guest Ubuntu
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Joseph Salisbury | ||
Trusty |
Fix Released
|
High
|
Joseph Salisbury | ||
Wily |
Fix Released
|
High
|
Joseph Salisbury | ||
linux-lts-utopic (Ubuntu) |
New
|
Undecided
|
Unassigned | ||
Trusty |
New
|
Undecided
|
Unassigned | ||
Wily |
New
|
Undecided
|
Unassigned |
Bug Description
There is QEMU/KVM and a Linux guest running inside the guest. The amount
of memory available for guest could be adjusted by balloon for better
host scalability. The problem that this change is visible for end-user
actually using the guest. This could (potentially) result in lawsuite
from the end-user to hosting provides.
The problem is addressed in mainstream Linux with the following patch set:
commit 997e120843e8260
Author: Denis V. Lunev <email address hidden>
Date: Thu Aug 20 00:49:49 2015 +0300
virtio_balloon: do not change memory amount visible via /proc/meminfo
Balloon device is frequently used as a mean of cooperative memory control
in between guest and host to manage memory overcommitment. This is the
typical case for any hosting workload when KVM guest is provided for
end-user.
Though there is a problem in this setup. The end-user and hosting provider
have signed SLA agreement in which some amount of memory is guaranted for
the guest. The good thing is that this memory will be given to the guest
when the guest will really need it (f.e. with OOM in guest and with
VIRTIO_
is that end-user does not know this.
Balloon by default reduce the amount of memory exposed to the end-user
each time when the page is stolen from guest or returned back by using
adjust_
of memory.
Fortunately the solution is simple, we should just avoid to call
adjust_
Signed-off-by: Denis V. Lunev <email address hidden>
CC: Michael S. Tsirkin <email address hidden>
Signed-off-by: Michael S. Tsirkin <email address hidden>
commit b4d34037329f46e
Author: Denis V. Lunev <email address hidden>
Date: Thu Aug 20 00:49:48 2015 +0300
virtio_ballon: change stub of release_
and rename it to release_
arrays of pfns and now it takes pointer to struct virtio_ballon.
This change is necessary to conditionally call adjust_
in the next patch.
Signed-off-by: Denis V. Lunev <email address hidden>
CC: Michael S. Tsirkin <email address hidden>
Signed-off-by: Michael S. Tsirkin <email address hidden>
The issue affects ubuntu_server_14.0, ubuntu_server_15.04
CVE References
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Wily): | |
importance: | Undecided → High |
Changed in linux (Ubuntu): | |
status: | Incomplete → In Progress |
tags: | added: kernel-da-key |
Changed in linux (Ubuntu Wily): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Trusty): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Trusty): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Wily): | |
status: | In Progress → Fix Released |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Released |
tags: | added: cscc |
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1587089
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.