All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oleg Nesterov <oleg@redhat.com>
To: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>, Anton Arapov <anton@redhat.com>,
	"Frank Ch. Eigler" <fche@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	William Cohen <wcohen@redhat.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] uprobes: Ignore unsupported instructions in uprobe_mmap
Date: Thu, 2 Aug 2012 19:53:12 +0200	[thread overview]
Message-ID: <20120802175312.GB11933@redhat.com> (raw)
In-Reply-To: <20120802165452.GB4268@linux.vnet.ibm.com>

On 08/02, Srikar Dronamraju wrote:
>
> * Oleg Nesterov <oleg@redhat.com> [2012-08-02 16:17:57]:
>
> > Forgot to mention...
> >
> > On 08/02, Srikar Dronamraju wrote:
> > >
> > > While at it, add a missing put_uprobe() in the path where uprobe_mmap()
> > > races with uprobe_unregister().
> > > ...
> > > @@ -1051,8 +1051,10 @@ int uprobe_mmap(struct vm_area_struct *vma)
> > >  			if (ret == -EEXIST) {
> > >  				ret = 0;
> > >
> > > -				if (!is_swbp_at_addr(vma->vm_mm, vaddr))
> > > +				if (!is_swbp_at_addr(vma->vm_mm, vaddr)) {
> > > +					put_uprobe(uprobe);
> > >  					continue;
> > > +				}
> >
> > Yes, this part looks correct.
> >
> > In fact, I think this is not really correct anyway (wrt counter)
> > but we are going to kill it.
> >
> >
>
> Are you expecting the counter to be decreased/increased here?

uprobes_state.count is very wrong, afaics. I'll try to send the fixes
"soon", after we solve the pending problems (this one + stepping).

> This is case where the uprobe_mmap() and uprobe_unregister() raced, and
> by the time install_breakpoint() was called by uprobe_mmap(), there were
> no consumers.

Yes, exactly, and this case doesn't look 100% right too,

> i.e there are no uprobe->consumers and the underlying
> instruction is still not a breakpoint instruction.

Yes, but what if it _IS_ "int3" ?

Yet another reason to move arch_uprobe_analyze_insn/etc to _register.

Oleg.


  reply	other threads:[~2012-08-02 17:56 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-28 16:31 [PATCH] uprobes: mmap_region() corrupts mm->mm_rb if uprobe_mmap() fails Oleg Nesterov
2012-07-28 16:34 ` Oleg Nesterov
2012-07-30 13:22 ` William Cohen
2012-07-31  6:47 ` Srikar Dronamraju
2012-07-31 12:48   ` Oleg Nesterov
2012-07-31 13:25     ` Oleg Nesterov
2012-08-02 10:05     ` [PATCH] uprobes: Ignore unsupported instructions in uprobe_mmap Srikar Dronamraju
2012-08-02 13:53       ` Oleg Nesterov
2012-08-02 16:42         ` Srikar Dronamraju
2012-08-02 17:48           ` Oleg Nesterov
2012-08-03 12:13         ` Srikar Dronamraju
2012-08-03 13:38           ` Oleg Nesterov
2012-08-02 14:17       ` Oleg Nesterov
2012-08-02 16:54         ` Srikar Dronamraju
2012-08-02 17:53           ` Oleg Nesterov [this message]
2012-08-03  1:20             ` Srikar Dronamraju
2012-08-03 13:47               ` Oleg Nesterov
2012-08-03 17:46 ` [PATCH] uprobes: mmap_region() corrupts mm->mm_rb if uprobe_mmap() fails Srikar Dronamraju

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=20120802175312.GB11933@redhat.com \
    --to=oleg@redhat.com \
    --cc=anton@redhat.com \
    --cc=fche@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=srikar@linux.vnet.ibm.com \
    --cc=wcohen@redhat.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.