Messages in this thread | | | Date | Wed, 2 Apr 2008 09:59:33 -0700 | From | "Paul E. McKenney" <> | Subject | Re: kmemcheck caught read from freed memory (cfq_free_io_context) |
| |
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?
> 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. > > I will try to look into this -- for now, I need to understand RCU > first (I've seen your LWN articles -- great work! :-))
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. ;-)
Thanx, Paul
| |