x86: CR4 update when IRQs are enabled

From: Nadav Amit
Date: Wed Nov 08 2017 - 16:52:25 EST


I am puzzled by the comment in tlb_state.cr4 , which says:

/*
* Access to this CR4 shadow and to H/W CR4 is protected by
* disabling interrupts when modifying either one.
*/

This does not seem to be true and adding a warning to CR4 writes when
!irqs_disabled() immediately fires in identify_cpu() and
__mcheck_cpu_init_generic(). While these two are called during boot, I think
there other CR4 changes with enabled IRQs, for example, PR_SET_TSC.

So my question(s): Is the comment correct? Is the current behavior correct?

Thanks,
Nadav