Re: [GIT PULL] x86/kaslr for v3.14

From: Ingo Molnar
Date: Tue Jan 21 2014 - 05:27:15 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Mon, Jan 20, 2014 at 2:54 PM, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/