Messages in this thread | | | From | "Doug Smythies" <> | Subject | As of kernel 4.4-rc1 segmentation fault if msr module not loaded. [REGRESSION][BISECTED] | Date | Thu, 26 Nov 2015 08:25:43 -0800 |
| |
Hi,
This might be considered a minor issue, but I submit my findings anyhow.
In some distros, the msr module is not loaded by default. (I guess not built in by default, would be more correct.) I often forget to load it before using "rdmsr" or "wrmsr". It was never an issue before, but as of Kernel 4.4-rc1 it causes a segmentation fault crash. Example:
# rdmsr -a 0x19a Segmentation fault (core dumped)
It could be argued that the msr-tools commands should check if the module is loaded and abort with some error message if not (or, and as turbostat now does, just load the module). However, what I do not know is if there might be other effected use cases.
The kernel was bisected, and this is the result:
9a2bc335f100a0f6ee6392b9f97ac4188d84db1d is the first bad commit commit 9a2bc335f100a0f6ee6392b9f97ac4188d84db1d Author: Borislav Petkov <bp@suse.de> Date: Tue Oct 20 11:54:44 2015 +0200
x86/microcode: Unmodularize the microcode driver
Make CONFIG_MICROCODE a bool. It was practically a bool already anyway, since early loader was forcing it to =y. ...
Since I sometimes mess up using git bisect, and end up at some random result, the above was double checked manually:
9a2bc335f100a0f6ee6392b9f97ac4188d84db1d has the issue 81ffdcdd97d94110627caa81c23d5d780083731d (the previous commit) does not have the issue.
As a potentially interesting side note, the segmentation fault does not occur if I use sudo instead. Example:
$ sudo rdmsr -a 0x19a $
Of course, if I load the module then things work as expected:
# modprobe msr # rdmsr -a 0x19a 0 0 0 0 0 0 0 0
| |