Messages in this thread | | | Date | Tue, 21 Jan 2014 11:27:00 +0100 | From | Ingo Molnar <> | Subject | Re: [GIT PULL] x86/kaslr for v3.14 |
| |
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Mon, Jan 20, 2014 at 2:54 PM, Linus Torvalds > <torvalds@linux-foundation.org> wrote: > > So I pulled this, but one question: > > .. oh, and since I decided to test it, and was looking for problems: > enabling kaslr breaks "perf". The *profile* looks fine, but the > disassembly doesn't work. > > I'm not entirely surprised. I decided I wanted to test it for a > reason, after all. So it's not unexpected, but perhaps people hadn't > thought about it, and clearly hadn't tested it. > > Kernel modules disassemble fine, so clearly perf knows about code > that moves around, but apparently it gets surprised when the core > vmlinux file disassembly doesn't match addresses.
Hm, live annotation of the kernel image is a relatively new perf feature, and KASLR predated that (by years) - which would at least in part explain why it went unnoticed. (Although it does not excuse the lack of testing.)
I've Cc:-ed Adrian Hunter, the author of the /proc/kcore annotation feature.
Adrian: enabling x86 KASLR in Linus's latestest kernel via CONFIG_RANDOMIZE_BASE=y [this is also present in the -tip tree] breaks /proc/kcore annotation, because the kernel image position is now per bootup randomized and perf's annotation code gets surprised by that.
Thanks,
Ingo
| |