public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Vegard Nossum" <vegard.nossum@gmail.com>
To: paulmck@linux.vnet.ibm.com
Cc: "Pekka Enberg" <penberg@cs.helsinki.fi>,
	"Ingo Molnar" <mingo@elte.hu>,
	"Jens Axboe" <jens.axboe@oracle.com>,
	"Peter Zijlstra" <a.p.zijlstra@chello.nl>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>
Subject: Re: kmemcheck caught read from freed memory (cfq_free_io_context)
Date: Wed, 2 Apr 2008 19:31:51 +0200	[thread overview]
Message-ID: <19f34abd0804021031j3e8ecd91pf7a481a92114dda8@mail.gmail.com> (raw)
In-Reply-To: <20080402165933.GD9333@linux.vnet.ibm.com>

On Wed, Apr 2, 2008 at 6:59 PM, Paul E. McKenney
<paulmck@linux.vnet.ibm.com> wrote:
> On Wed, Apr 02, 2008 at 06:15:52PM +0200, Vegard Nossum wrote:
>  > On Wed, Apr 2, 2008 at 6:08 PM, Paul E. McKenney
>  > <paulmck@linux.vnet.ibm.com> wrote:
>  > > On Wed, Apr 02, 2008 at 02:01:13PM +0300, Pekka Enberg wrote:
>  > >  > No, kmemcheck is work in progress and does not know about
>  > >  > SLAB_DESTROY_BY_RCU yet. The reason I asked Vegard to post the warning
>  > >  > was because Peter, Vegard, and myself identified this particular
>  > >  > warning as a real problem. But yeah, kmemcheck can cause false
>  > >  > positives for RCU for now.
>  > >
>  > >  Would the following be an appropriate fix?  It seems to me to be in
>  > >  the same spirit as the existing check for s->ctor.
>  >
>  > In my opinion, no.
>  >
>  > It would fix the false positives, but would in fact also hide cases
>  > such as this one with cfq, e.g. the real cases of mis-use.
>
>  Though this case apparently does not qualify as misuse until such
>  time as CLONE_IO is implemented.
>
>  And doesn't the current check for ->ctor also potentially hide misuse?

Hm, no. Objects with a ctor should retain its "initializedness"
between allocations of the same object. This is one of the features of
slab allocation.

>  > Peter Zijlstra suggested this:
>  > > It would have to register an call_rcu callback itself in order to mark
>  > > it freed - and handle the race with the object being handed out again.
>
>  Glad you liked them!
>
>  And Peter's suggested approach would indeed be more accurate.  But I
>  will still put my patch forward as a stopgap.  ;-)

Yes, I realize that it will be needed as a temporary fix. It _is_
better to hide some real warnings in favour of the showing false ones.
(But a TODO comment is in order, I believe.)

Thanks.


Vegard

  reply	other threads:[~2008-04-02 17:32 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-01 21:08 kmemcheck caught read from freed memory (cfq_free_io_context) Vegard Nossum
2008-04-01 21:36 ` Peter Zijlstra
2008-04-01 22:51   ` Paul E. McKenney
2008-04-02  6:15     ` Peter Zijlstra
2008-04-02  7:19       ` Jens Axboe
2008-04-02 10:24       ` Paul E. McKenney
2008-04-02  7:17   ` Jens Axboe
2008-04-02  7:20     ` Pekka J Enberg
2008-04-02  7:24       ` Jens Axboe
2008-04-02  7:28         ` Ingo Molnar
2008-04-02  7:31           ` Jens Axboe
2008-04-02 10:55           ` Paul E. McKenney
2008-04-02 10:59             ` Peter Zijlstra
2008-04-02 11:33               ` Fabio Checconi
2008-04-02 11:43                 ` Jens Axboe
2008-04-02 12:36                   ` Jens Axboe
2008-04-02 12:36                     ` Jens Axboe
2008-04-02 12:55                       ` Fabio Checconi
2008-04-02 12:58                         ` Jens Axboe
2008-04-02 12:58                           ` Jens Axboe
2008-04-02 13:16                             ` Fabio Checconi
2008-04-02 16:14                               ` Paul E. McKenney
2008-04-02 13:37                           ` Paul E. McKenney
2008-04-02 13:41                             ` Jens Axboe
2008-04-02 15:33                               ` Paul E. McKenney
2008-04-02 16:31                                 ` Jens Axboe
2008-04-02 17:00                                   ` Paul E. McKenney
2008-04-02 13:32                 ` Paul E. McKenney
2008-04-02 13:40                   ` Jens Axboe
2008-04-02 16:15                     ` Paul E. McKenney
2008-04-02 11:01             ` Pekka Enberg
2008-04-02 11:07               ` Jens Axboe
2008-04-02 11:08                 ` Peter Zijlstra
2008-04-02 11:11                   ` Pekka Enberg
2008-04-02 11:14                     ` Peter Zijlstra
2008-04-02 11:18                       ` Pekka Enberg
2008-04-02 17:36                     ` Christoph Lameter
2008-04-02 11:14                   ` Jens Axboe
2008-04-02 11:20                     ` Peter Zijlstra
2008-04-02 11:25                       ` Peter Zijlstra
2008-04-02 11:32                       ` Jens Axboe
2008-04-02 11:37                         ` Peter Zijlstra
2008-04-02 11:42                           ` Jens Axboe
2008-04-02 11:47                             ` Peter Zijlstra
2008-04-02 11:53                               ` Jens Axboe
2008-04-02 12:13                                 ` Peter Zijlstra
2008-04-02 12:28                                   ` Jens Axboe
2008-04-02 13:26                                   ` Paul E. McKenney
2008-04-02 13:43                                   ` Andi Kleen
2008-04-02 12:26                                 ` Peter Zijlstra
2008-04-02 12:34                                   ` Jens Axboe
2008-04-02 16:08               ` Paul E. McKenney
2008-04-02 16:15                 ` Vegard Nossum
2008-04-02 16:32                   ` Pekka J Enberg
2008-04-02 18:23                     ` Paul E. McKenney
2008-04-02 19:53                       ` Pekka Enberg
2008-04-02 20:15                         ` Paul E. McKenney
2008-04-03 15:18                           ` Paul E. McKenney
2008-04-03 19:49                             ` Pekka J Enberg
2008-04-03 21:27                               ` Paul E. McKenney
2008-04-02 16:59                   ` Paul E. McKenney
2008-04-02 17:31                     ` Vegard Nossum [this message]
2008-04-02 10:40     ` Paul E. McKenney
2008-04-02 10:46       ` Pekka Enberg
2008-04-02 10:49         ` Peter Zijlstra
2008-04-02 10:54           ` Pekka J Enberg
2008-04-02 17:35           ` Christoph Lameter
2008-04-02 10:53       ` Peter Zijlstra
2008-04-02 11:13         ` Jens Axboe

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=19f34abd0804021031j3e8ecd91pf7a481a92114dda8@mail.gmail.com \
    --to=vegard.nossum@gmail.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=penberg@cs.helsinki.fi \
    /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