forked from Minki/linux
KVM: SVM: Make set_msr_interception more reliable
set_msr_interception() is used by svm to set up which MSRs should be intercepted. It can only fail if someone has changed the code to try to intercept an MSR without updating the array of ranges. The return value is ignored anyway: it should just BUG() if it doesn't work. (A build-time failure would be better, but that's tricky). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
7e9d619d2a
commit
bfc733a7a3
@ -359,8 +359,8 @@ err_1:
|
||||
|
||||
}
|
||||
|
||||
static int set_msr_interception(u32 *msrpm, unsigned msr,
|
||||
int read, int write)
|
||||
static void set_msr_interception(u32 *msrpm, unsigned msr,
|
||||
int read, int write)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -375,11 +375,10 @@ static int set_msr_interception(u32 *msrpm, unsigned msr,
|
||||
u32 mask = ((write) ? 0 : 2) | ((read) ? 0 : 1);
|
||||
*base = (*base & ~(0x3 << msr_shift)) |
|
||||
(mask << msr_shift);
|
||||
return 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
printk(KERN_DEBUG "%s: not found 0x%x\n", __FUNCTION__, msr);
|
||||
return 0;
|
||||
BUG();
|
||||
}
|
||||
|
||||
static __init int svm_hardware_setup(void)
|
||||
|
Loading…
Reference in New Issue
Block a user