On Mon, Sep 28, 2020 at 12:27 AM Ben Hutchings <b...@decadent.org.uk> wrote: > > extlog_init() uses rdmsrl() to read an MSR, which on older CPUs > provokes a error message at boot: > > unchecked MSR access error: RDMSR from 0x179 at rIP: 0xcd047307 > (native_read_msr+0x7/0x40) > > Use rdmsrl_safe() instead, and return -ENODEV if it fails. > > Reported-by: j...@photojim.ca > References: https://bugs.debian.org/971058 > Cc: sta...@vger.kernel.org > Signed-off-by: Ben Hutchings <b...@decadent.org.uk> > --- > drivers/acpi/acpi_extlog.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/acpi/acpi_extlog.c b/drivers/acpi/acpi_extlog.c > index f138e12b7b82..72f1fb77abcd 100644 > --- a/drivers/acpi/acpi_extlog.c > +++ b/drivers/acpi/acpi_extlog.c > @@ -222,9 +222,9 @@ static int __init extlog_init(void) > u64 cap; > int rc; > > - rdmsrl(MSR_IA32_MCG_CAP, cap); > - > - if (!(cap & MCG_ELOG_P) || !extlog_get_l1addr()) > + if (rdmsrl_safe(MSR_IA32_MCG_CAP, &cap) || > + !(cap & MCG_ELOG_P) || > + !extlog_get_l1addr()) > return -ENODEV; > > rc = -EINVAL;
Applied as 5.10 material, thanks!