From: Andy Lutomirski <luto@amacapital.net>
To: Steven Rostedt <rostedt@goodmis.org>,
Sasha Levin <sasha.levin@oracle.com>
Cc: Oleg Nesterov <oleg@redhat.com>,
roland@redhat.com, LKML <linux-kernel@vger.kernel.org>,
Dave Jones <davej@redhat.com>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Subject: Re: ptrace: gpf in syscall_trace_enter
Date: Wed, 07 May 2014 12:51:28 -0700 [thread overview]
Message-ID: <536A8EC0.1070308@mit.edu> (raw)
In-Reply-To: <20140507120627.73dce8e6@gandalf.local.home>
On 05/07/2014 09:06 AM, Steven Rostedt wrote:
> [ adding Mathieu as well, as this is tracepoint code ]
>
> On Wed, 07 May 2014 11:23:36 -0400
> Sasha Levin <sasha.levin@oracle.com> wrote:
>
>> On 05/07/2014 10:31 AM, Steven Rostedt wrote:
>>> On Wed, 7 May 2014 16:04:22 +0200
>>> Oleg Nesterov <oleg@redhat.com> wrote:
>>>
>>>> On 05/06, Sasha Levin wrote:
>>>>>
>>>>> On 05/06/2014 08:36 PM, Sasha Levin wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> While fuzzing with trinity inside a KVM tools guest running the latest -next
>>>>>> kernel I've stumbled on the following spew:
>>>>>
>>>>> And another similar trace:
>>>>
>>>> Again, this looks like __DO_TRACE() trying to call it_func_ptr->func().
>>>
>>> Really? Can I see an objdump of the location of the crash. Preferably
>>> the entire function.
>>
>> 0000000000002740 <syscall_trace_leave>:
>> 2740: e8 00 00 00 00 callq 2745 <syscall_trace_leave+0x5>
>> 2741: R_X86_64_PC32 __fentry__-0x4
>> 2745: 55 push %rbp
>> 2746: 48 89 e5 mov %rsp,%rbp
>> 2749: 48 83 ec 20 sub $0x20,%rsp
>> 274d: 48 89 5d e8 mov %rbx,-0x18(%rbp)
>> 2751: 48 89 fb mov %rdi,%rbx
>> 2754: 4c 89 65 f0 mov %r12,-0x10(%rbp)
>> 2758: 4c 89 6d f8 mov %r13,-0x8(%rbp)
>> 275c: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
>> 2761: 65 48 8b 04 25 00 00 mov %gs:0x0,%rax
>> 2768: 00 00
>> 2766: R_X86_64_32S current_task
>> 276a: 48 83 b8 b8 0b 00 00 cmpq $0x0,0xbb8(%rax)
>> 2771: 00
>> 2772: 74 1c je 2790 <syscall_trace_leave+0x50>
>> 2774: 48 8b 73 50 mov 0x50(%rbx),%rsi
>> 2778: 31 ff xor %edi,%edi
>> 277a: 48 81 fe 00 f0 ff ff cmp $0xfffffffffffff000,%rsi
>> 2781: 40 0f 96 c7 setbe %dil
>> 2785: e8 00 00 00 00 callq 278a <syscall_trace_leave+0x4a>
>> 2786: R_X86_64_PC32 __audit_syscall_exit-0x4
>> 278a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
>> 2790: 65 48 8b 04 25 00 00 mov %gs:0x0,%rax
>> 2797: 00 00
>> 2795: R_X86_64_32S kernel_stack
>> 2799: 48 8b 80 38 e0 ff ff mov -0x1fc8(%rax),%rax
>> 27a0: a9 00 00 00 10 test $0x10000000,%eax
>> 27a5: 74 71 je 2818 <syscall_trace_leave+0xd8>
>> 27a7: 4c 8b 6b 50 mov 0x50(%rbx),%r13
>> 27ab: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
>
> Here's the static_key branch
>
>> 27b0: eb 62 jmp 2814 <syscall_trace_leave+0xd4>
>> 27b2: 80 3d 00 00 00 00 00 cmpb $0x0,0x0(%rip) # 27b9 <syscall_trace_leave+0x79>
>> 27b4: R_X86_64_PC32 .data.unlikely-0x4
>> 27b9: 75 28 jne 27e3 <syscall_trace_leave+0xa3>
>> 27bb: e8 00 00 00 00 callq 27c0 <syscall_trace_leave+0x80>
>> 27bc: R_X86_64_PC32 .text.unlikely-0x4
>
> Interesting that we have a "callq" to the next instruction.
I think this is just unrelocated output, presumably from objdump -dr
something.o. objdump -d vmlinux will give better output.
--Andy, who got confused by exactly the same thing while debugging the vdso
next prev parent reply other threads:[~2014-05-07 19:51 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-07 0:36 ptrace: gpf in syscall_trace_enter Sasha Levin
2014-05-07 2:50 ` Sasha Levin
2014-05-07 14:04 ` Oleg Nesterov
2014-05-07 14:31 ` Steven Rostedt
2014-05-07 15:23 ` Sasha Levin
2014-05-07 16:06 ` Steven Rostedt
2014-05-07 19:51 ` Andy Lutomirski [this message]
2014-05-07 22:55 ` Mathieu Desnoyers
2014-05-07 15:49 ` Steven Rostedt
2014-05-07 15:52 ` Sasha Levin
2014-05-07 16:00 ` Steven Rostedt
2014-05-07 14:00 ` Oleg Nesterov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=536A8EC0.1070308@mit.edu \
--to=luto@amacapital.net \
--cc=davej@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=oleg@redhat.com \
--cc=roland@redhat.com \
--cc=rostedt@goodmis.org \
--cc=sasha.levin@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox