public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	Jason Baron <jbaron@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	masami.hiramatsu.pt@hitachi.com
Subject: Re: [PATCH][GIT PULL] tracing: Fix compile issue for trace_sched_wakeup.c
Date: Mon, 25 Oct 2010 19:45:46 +0200	[thread overview]
Message-ID: <1288028746.3673.11.camel@laptop> (raw)
In-Reply-To: <1288021672.15336.63.camel@twins>

On Mon, 2010-10-25 at 17:47 +0200, Peter Zijlstra wrote:

> NOP'ed vs JMP'ed
> 

>   56:	6a 00                	push   $0x0                          6a 00                	push   $0x0
>   58:	e8 b7 fe ff ff       	call   0xffffff14                    e8 b7 fe ff ff       	call   0xffffff14
>   5d:	8b 43 1c             	mov    0x1c(%ebx),%eax               8b 43 1c             	mov    0x1c(%ebx),%eax
>   60:	89 44 24 04          	mov    %eax,0x4(%esp)                89 44 24 04          	mov    %eax,0x4(%esp)
>   64:	f0 fe 07             	lock incb (%edi)                     f0 fe 07             	lock incb (%edi)
>   67:*	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)              e9 03 00 00 00       	jmp    0x6f              <--- PATCHED INSN
>   6c:	58                   	pop    %eax                          58                   	pop    %eax
>   6d:	eb 1d                	jmp    0x8c                          eb 1d                	jmp    0x8c
>   6f:	8b 35 70 ad 40 c1    	mov    0xc140ad70,%esi               8b 35 70 ad 40 c1    	mov    0xc140ad70,%esi
>   75:	85 f6                	test   %esi,%esi                     85 f6                	test   %esi,%esi
>   77:	74 13                	je     0x8c                          74 13                	je     0x8c
>   79:	8b 46 04             	mov    0x4(%esi),%eax                8b 46 04             	mov    0x4(%esi),%eax
>   7c:	89 da                	mov    %ebx,%edx                     89 da                	mov    %ebx,%edx
>   7e:	8b 4c 24 04          	mov    0x4(%esp),%ecx                8b 4c 24 04          	mov    0x4(%esp),%ecx
>   82:	ff 16                	call   *(%esi)                       ff 16                	call   *(%esi)
>   84:	83 c6 08             	add    $0x8,%esi                     83 c6 08             	add    $0x8,%esi
>   87:	83 3e 00             	cmpl   $0x0,(%esi)                   83 3e 00             	cmpl   $0x0,(%esi)
>   8a:	eb eb                	jmp    0x77                          eb eb                	jmp    0x77
>   8c:	89 d8                	mov    %ebx,%eax                     89 d8                	mov    %ebx,%eax
>   8e:	ff 14 24             	call   *(%esp)                       ff 14 24             	call   *(%esp)

OK, new theory.. 

56 pushl 0
67 nopl         jmp 0x6f
   popl
   jmp 0x8c

6f              mov
                test
		je 0x8c

8c mov
   call *(%esp)


So in the jumped path we miss a popl which pop's the 0 pushed before,
which is the exact address call is failing on..

Looks like gcc got its branches confused or something..

Am I reading this right?

  parent reply	other threads:[~2010-10-25 17:46 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-19 17:11 [PATCH][GIT PULL] tracing: Fix compile issue for trace_sched_wakeup.c Steven Rostedt
2010-10-19 18:41 ` Ingo Molnar
2010-10-20 15:40   ` Ingo Molnar
2010-10-20 16:37     ` Steven Rostedt
2010-10-20 18:40       ` Ingo Molnar
2010-10-20 16:43     ` Jason Baron
2010-10-20 18:33       ` Ingo Molnar
2010-10-21 11:09         ` Ingo Molnar
2010-10-22 17:58           ` Jason Baron
2010-10-22 18:24             ` Ingo Molnar
2010-10-22 18:39               ` Jason Baron
2010-10-23 20:02                 ` Ingo Molnar
2010-10-24  0:53                   ` Steven Rostedt
2010-10-24 11:25                     ` Ingo Molnar
2010-10-25  8:59                       ` Ingo Molnar
2010-10-25  9:30                         ` Ingo Molnar
2010-10-25 11:45                           ` Ingo Molnar
2010-10-25 12:10                             ` Ingo Molnar
2010-10-25 12:18                               ` Peter Zijlstra
2010-10-25 12:32                                 ` Ingo Molnar
2010-10-25 15:47                                 ` Peter Zijlstra
2010-10-25 16:07                                   ` Peter Zijlstra
2010-10-25 17:25                                   ` Ingo Molnar
2010-10-25 17:32                                     ` Ingo Molnar
2010-10-25 17:45                                   ` Peter Zijlstra [this message]
2010-10-25 17:52                                     ` Jason Baron
2010-10-30 10:42                                     ` [tip:perf/urgent] jump label: Add work around to i386 gcc asm goto bug tip-bot for Steven Rostedt
2010-10-25 15:55                   ` [PATCH][GIT PULL] tracing: Fix compile issue for trace_sched_wakeup.c Jason Baron
2010-10-25 16:09                     ` Peter Zijlstra
2010-10-22 21:42               ` Jason Baron
2010-10-23  4:41                 ` Steven Rostedt
2010-10-21  2:58       ` Masami Hiramatsu
2010-10-21  7:22         ` Peter Zijlstra
2010-10-21 11:01           ` Steven Rostedt
2010-10-21 11:03             ` Peter Zijlstra
2010-10-21 12:45               ` Steven Rostedt
2010-10-21 13:50               ` Jason Baron
2010-10-22  4:56               ` Masami Hiramatsu
2010-10-21 14:00         ` Jason Baron
2010-10-21 11:14     ` Steven Rostedt
2010-10-21 11:26       ` Ingo Molnar
2010-10-21 13:55         ` Jason Baron
2010-10-21 14:43           ` Ingo Molnar
2010-10-22  1:44         ` Jason Baron
2010-10-22  8:14           ` Peter Zijlstra
2010-10-22 14:13             ` Jason Baron
2010-10-22 14:23               ` Peter Zijlstra
2010-10-22 14:36                 ` Steven Rostedt
2010-10-22 14:36                 ` Jason Baron
2010-10-22  8:16           ` Tejun Heo

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=1288028746.3673.11.camel@laptop \
    --to=peterz@infradead.org \
    --cc=acme@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=fweisbec@gmail.com \
    --cc=hpa@zytor.com \
    --cc=jbaron@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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