Re: [PATCH 12/27] x86/msr: Restrict MSR access when the kernel is locked down

From: joeyli
Date: Sat Oct 21 2017 - 00:40:21 EST


On Fri, Oct 20, 2017 at 09:48:16PM +0100, David Howells wrote:
> Alan Cox <gnomes@xxxxxxxxxxxxxxxxxxx> wrote:
>
> > There are a load of standard tools that use this so I think you are going
> > to need a whitelist. Can you at least log *which* MSR in the failing case
> > so a whitelist can be built over time ?
>
[...snip]
>
> And do you know where wrmsr_safe_regs() might be found? I can see things
> using it and exporting it, but no implementation, so I'm guessing it's
> macroised somewhere.

Looks the definition is in

arch/x86/lib/msr-reg.S

#ifdef CONFIG_X86_64
/*
* int {rdmsr,wrmsr}_safe_regs(u32 gprs[8]);
*
* reg layout: u32 gprs[eax, ecx, edx, ebx, esp, ebp, esi, edi]
*
*/
.macro op_safe_regs op
ENTRY(\op\()_safe_regs)
pushq %rbx
pushq %r12
...

Regards
Joey Lee