kvm_intel not loadable in a quantal guest
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
High
|
Unassigned | ||
Precise |
Fix Released
|
High
|
Stefan Bader |
Bug Description
SRU Justification:
Impact: A KVM guest running a v3.3+ kernel will fail to load the kvm_intel module when running on a v3.2 host. This is because the newer kernel module will check for the presence of a CPU specific flag (which any real CPU would have) in the MSRs that get passed to the guest. But older kernels would not set it in the nested case.
Fix: Just add the required flag to the MSRs passed to guests. This change is picked from the patch that enabled the feature but does not enable anything beyond. It has been reviewed upstream and sent to upstream stable.
Testcase: KVM host (Intel CPU) running Precise (3.2). Quantal KVM guest will not be able to modprobe kvm-intel (while a Precise guest can). With this change, the Quantal guest, too can load the module. Successfully installed another Quantal guest in the L1 guest. Running "perf test" in the Quantal guest will fail the RDPMC test as unsupported.
---
12.04 LTS supports nested virtualization. If I use a 12.04 LTS kernel with kvm_intel nested=1 (the default on 12.04 LS) and boot a 12.04 LTS guest, I am able to load the kvm_intel kernel module in the guest. If I use the same host and boot a 12.10 guest, the kvm_intel module does not load:
$ sudo modprobe kvm_intel
FATAL: Error inserting kvm_intel (/lib/modules/
The kvm module loads fine in the guest. The guest is up to date 12.10 amd64. The host is up to date 12.04 LTS amd64 using an Intel i7 CPU.
description: | updated |
description: | updated |
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
tags: | added: kernel-da-key quantal |
Changed in linux (Ubuntu): | |
assignee: | nobody → Stefan Bader (stefan-bader-canonical) |
description: | updated |
Changed in linux (Ubuntu): | |
status: | Confirmed → Won't Fix |
Changed in linux (Ubuntu Precise): | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Stefan Bader (stefan-bader-canonical) |
Changed in linux (Ubuntu): | |
assignee: | Stefan Bader (stefan-bader-canonical) → nobody |
Confirmed that this works with precise host and amd guest, but fails with intel guest.
$ sudo modprobe kvm_intel 3.5.0-6- generic/ kernel/ arch/x86/ kvm/kvm- intel.ko) : Input/output error
FATAL: Error inserting kvm_intel (/lib/modules/