[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1611210915060.3514@nanos>
Date: Mon, 21 Nov 2016 09:16:44 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Peter Zijlstra <peterz@...radead.org>
cc: LKML <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>, x86@...nel.org,
Borislav Petkov <bp@...en8.de>, Yinghai Lu <yinghai@...nel.org>
Subject: Re: [patch 4/8] x86/tsc: Verify TSC_ADJUST from idle
On Sun, 20 Nov 2016, Peter Zijlstra wrote:
> On Sat, Nov 19, 2016 at 01:47:37PM -0000, Thomas Gleixner wrote:
> > When entering idle, it's a good oportunity to verify that the TSC_ADJUST
> > MSR has not been tampered with (BIOS hiding SMM cycles). If tampering is
> > detected, emit a warning and restore it to the previous value.
>
> > +++ b/arch/x86/kernel/process.c
> > @@ -277,6 +277,7 @@ void exit_idle(void)
> >
> > void arch_cpu_idle_enter(void)
> > {
> > + tsc_verify_tsc_adjust();
> > local_touch_nmi();
> > enter_idle();
> > }
>
> Doing a RDMSR on the idle path isn't going to be popular. That path is
> already way too slow.
Of course we can ratelimit that MSR read with jiffies, but do you have any
better suggestion aside of doing it timer based?
Thanks,
tglx
Powered by blists - more mailing lists