RE: [PATCH v12 10/18] x86/fsgsbase/64: Enable FSGSBASE instructions in helper functions

From: Thomas Gleixner
Date: Tue May 19 2020 - 10:48:18 EST


David Laight <David.Laight@xxxxxxxxxx> writes:
> From: Sasha Levin
>> >> + native_swapgs();
>> >> + gsbase = rdgsbase();
>> >> + native_swapgs();
>
> Does local_irq_save() even do anything useful here.
> You need to actually execute CLI, not just set a
> flag that indicates interrupts shouldn't happen.
> (Which is what I think local_irq_save() might do.)

local_irq_save()
raw_local_irq_save()
arch_local_irq_save()
arch_local_irq_disable()
native_irq_disable()
asm("CLI")

> You also (probably) need to disable NMIs.

The NMI entry can deal with that obviously.

Thanks,

tglx