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