Re: [PATCH 0/3] x86/paravirt: Fix baremetal paravirt MSR ops

From: Paolo Bonzini
Date: Thu Sep 17 2015 - 07:39:37 EST




On 17/09/2015 11:31, Borislav Petkov wrote:
>
>> > Crashing the bootup on an unknown MSR is bad. Many MSR reads and writes are
>> > non-critical and returning the 'safe' result is much better than crashing or
>> > hanging the bootup.
> ... and prepending all MSR accesses with feature/CPUID checks is probably almost
> impossible.

That's not a big deal, that's what *_safe is for. The problem is that
there are definitely some cases where the *_safe version is not being used.

I agree with Ingo that we should start with a WARN. For example:

- give the read_msr and write_msr hooks the same prototype as the safe
variants

- make the virt platforms always return "no error" for the unsafe
variants (I understand if your first reaction is "ouch", but this
effectively is already the current behavior)

- change rdmsr/wrmsr/rdmsrl/wrmsrl to WARN if the read_msr and write_msr
hooks return an error

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/