Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bfc733a7 authored by Rusty Russell's avatar Rusty Russell Committed by Avi Kivity
Browse files

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: default avatarRusty Russell <rusty@rustcorp.com.au>
Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent 7e9d619d
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -359,7 +359,7 @@ static int svm_cpu_init(int cpu)

}

static int set_msr_interception(u32 *msrpm, unsigned msr,
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)