diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2009-03-09 19:06:22 +0300 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2009-03-09 02:36:28 +0300 |
commit | cbd88c8e6f5cdb8d4b9af01df825305200240382 (patch) | |
tree | 4ec4c5123fab9f08e7a31fe7843ab4f7b9197656 /drivers/lguest/lguest_device.c | |
parent | 7a203f3b089be4410fe065dd9927027eade94557 (diff) | |
download | linux-cbd88c8e6f5cdb8d4b9af01df825305200240382.tar.xz |
lguest: fix crash 'unhandled trap 13 at <native_read_msr_safe>'
Impact: fix lguest boot crash on modern Intel machines
The code in early_init_intel does:
if (c->x86 > 6 || (c->x86 == 6 && c->x86_model >= 0xd)) {
u64 misc_enable;
rdmsrl(MSR_IA32_MISC_ENABLE, misc_enable);
And that rdmsr faults (not allowed from non-0 PL). We can get around
this by mugging the family ID part of the cpuid. 5 seems like a good
number.
Of course, this is a hack (how very lguest!). We could just indicate
that we don't support MSRs, or implement lguest_rdmst.
Reported-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Tested-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'drivers/lguest/lguest_device.c')
0 files changed, 0 insertions, 0 deletions