Peter Oberparleiter
f386c61fe1
gcov: exclude code operating in userspace from profiling
...
Fix for this issue on x86_64:
rostedt@goodmis.org wrote:
> On bootup of the latest kernel my init segfaults. Debugging it,
> I found that vread_tsc (a vsyscall) increments some strange
> kernel memory:
>
> 0000000000000000 <vread_tsc>:
> 0: 55 push %rbp
> 1: 48 ff 05 00 00 00 00 incq 0(%rip)
> # 8 <vread_tsc+0x8>
> 4: R_X86_64_PC32 .bss+0x3c
> 8: 48 89 e5 mov %rsp,%rbp
> b: 66 66 90 xchg %ax,%ax
> e: 48 ff 05 00 00 00 00 incq 0(%rip)
> # 15 <vread_tsc+0x15>
> 11: R_X86_64_PC32 .bss+0x44
> 15: 66 66 90 xchg %ax,%ax
> 18: 48 ff 05 00 00 00 00 incq 0(%rip)
> # 1f <vread_tsc+0x1f>
> 1b: R_X86_64_PC32 .bss+0x4c
> 1f: 0f 31 rdtsc
>
>
> Those "incq" is very bad to happen in vsyscall memory, since
> userspace can not modify it. You need to make something prevent
> profiling of vsyscall memory (like I do with ftrace).
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Reported-by: Steven Rostedt <rostedt@goodmis.org>
Tested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-07-06 13:57:03 -07:00
..
2009-06-30 18:55:59 -07:00
2009-06-29 11:19:27 +01:00
2009-06-21 13:08:22 -07:00
2009-06-22 22:31:00 -04:00
2009-06-23 10:47:01 -07:00
2009-07-01 19:38:31 -07:00
2009-06-23 12:50:05 -07:00
2009-06-30 14:26:34 -07:00
2009-06-21 13:08:22 -07:00
2009-06-21 13:08:22 -07:00
2009-06-18 13:03:48 -07:00
2009-06-21 13:08:22 -07:00
2009-07-03 15:45:29 +01:00
2009-07-04 09:46:01 -07:00
2009-07-03 03:34:13 +00:00
2009-06-30 19:02:59 -07:00
2009-06-28 14:10:30 +03:00
2009-07-02 03:32:48 +09:00
2009-06-25 19:56:02 -07:00
2009-06-25 11:22:13 -07:00
2009-07-06 13:57:03 -07:00
2009-06-22 02:38:11 -07:00
2009-06-18 13:03:57 -07:00