All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Jiri Olsa <jolsa@kernel.org>, lkml <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@kernel.org>,
	Michael Grundy <grundym@us.ibm.com>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	linux-s390@vger.kernel.org,
	Heiko Carstens <heiko.carstens@de.ibm.com>
Subject: Re: [PATCH] ftrace/jprobes/s390: Fix conflict between jprobes and function graph tracing
Date: Sun, 31 Jul 2016 14:21:14 +0200	[thread overview]
Message-ID: <20160731122114.GC12673@krava> (raw)
In-Reply-To: <20160728143933.1a2abc97@gandalf.local.home>

On Thu, Jul 28, 2016 at 02:39:33PM -0400, Steven Rostedt wrote:
> On Mon, 18 Jul 2016 15:26:41 +0200
> Jiri Olsa <jolsa@kernel.org> wrote:
> 
> > This fixes the same issue Steven already fixed for x86
> > in following commit:
> > 
> >   237d28db036e ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing
> > 
> > It fixes the crash, that happens when function graph tracing
> > and jprobes are used simultaneously. Please refer to above
> > commit for details.
> 
> I'm guessing that this should go in via the s390 tree.

oops, I forgot to CC s390 mailing list.. CC-ing now

I can repost if needed

thanks,
jirka

> 
> Acked-by: Steven Rostedt <rostedt@goodmis.org>
> 
> -- Steve
> 
> > 
> > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> > ---
> >  arch/s390/kernel/kprobes.c | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/arch/s390/kernel/kprobes.c b/arch/s390/kernel/kprobes.c
> > index 250f5972536a..dd6306c51bd6 100644
> > --- a/arch/s390/kernel/kprobes.c
> > +++ b/arch/s390/kernel/kprobes.c
> > @@ -690,6 +690,15 @@ int setjmp_pre_handler(struct kprobe *p, struct pt_regs *regs)
> >  	stack = (unsigned long) regs->gprs[15];
> >  
> >  	memcpy(kcb->jprobes_stack, (void *) stack, MIN_STACK_SIZE(stack));
> > +
> > +	/*
> > +	 * jprobes use jprobe_return() which skips the normal return
> > +	 * path of the function, and this messes up the accounting of the
> > +	 * function graph tracer to get messed up.
> > +	 *
> > +	 * Pause function graph tracing while performing the jprobe function.
> > +	 */
> > +	pause_graph_tracing();
> >  	return 1;
> >  }
> >  NOKPROBE_SYMBOL(setjmp_pre_handler);
> > @@ -705,6 +714,9 @@ int longjmp_break_handler(struct kprobe *p, struct pt_regs *regs)
> >  	struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
> >  	unsigned long stack;
> >  
> > +	/* It's OK to start function graph tracing again */
> > +	unpause_graph_tracing();
> > +
> >  	stack = (unsigned long) kcb->jprobe_saved_regs.gprs[15];
> >  
> >  	/* Put the regs back */
> 

  reply	other threads:[~2016-07-31 12:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-18 13:26 [PATCH] ftrace/jprobes/s390: Fix conflict between jprobes and function graph tracing Jiri Olsa
2016-07-28 18:39 ` Steven Rostedt
2016-07-31 12:21   ` Jiri Olsa [this message]
2016-07-31 13:25     ` Martin Schwidefsky

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=20160731122114.GC12673@krava \
    --to=jolsa@redhat.com \
    --cc=grundym@us.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mingo@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=schwidefsky@de.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.