Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86/msr: Add CPU_OUT_OF_SPEC taint name to "unrecognized" pr_warn(msg)

While restricting access,

a7e1f67ed29f ("x86/msr: Filter MSR writes")

also added warning and started tainting the kernel.

But the warning message never mentioned tainting. Moreover, this uses the
"CPU_OUT_OF_SPEC" flag which is not clearly related to MSRs: that flag is
overloaded by several, fairly different situations, including some much
scarier ones.

So, without an expert around (thank you Dave Hansen), it would have been
practically impossible to root cause the tainting from just the log file at
hand. So it would be prudent to explicitly mention in the logs when the
tainting happens so that debugging crashes can be made easier.

Fix this by simply appending the CPU_OUT_OF_SPEC flag to the warning message.

This readability issue happened when staring at logs involving the Intel
Memory Latency Checker (among many other things going on in that log). The MLC
disables hardware prefetch.

[ bp: Massage and extend commit message. ]

Signed-off-by: Marc Herbert <marc.herbert@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20251101-tainted-msr-v1-1-e00658ba04d4@linux.intel.com

authored by

Marc Herbert and committed by
Borislav Petkov (AMD)
41f47670 6146a0f1

+1 -1
+1 -1
arch/x86/kernel/msr.c
··· 98 98 if (!__ratelimit(&fw_rs)) 99 99 return 0; 100 100 101 - pr_warn("Write to unrecognized MSR 0x%x by %s (pid: %d).\n", 101 + pr_warn("Write to unrecognized MSR 0x%x by %s (pid: %d), tainting CPU_OUT_OF_SPEC.\n", 102 102 reg, current->comm, current->pid); 103 103 pr_warn("See https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/about for details.\n"); 104 104