lkml.org 
[lkml]   [2006]   [Jan]   [30]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromKyle Moffett <>
SubjectRe: [PATCH 1/5] pid: Implement task references.
DateMon, 30 Jan 2006 00:35:14 -0500
On Jan 30, 2006, at 00:19, Eric Dumazet wrote:
> -	if (atomic_dec_and_test(&kref->refcount)) {
> +	/*
> +	 * if current count is one, we are the last user and can release  
> object
> +	 * right now, avoiding an atomic operation on 'refcount'
> +	 */
> +	if ((atomic_read(&kref->refcount) == 1) ||

Uhh, I think you got this test reversed.  Didn't you mean != 1?   
Otherwise you only do the dec_and_test when the refcount is one,  
which means that you leak everything kref-ed.

> +	    (atomic_dec_and_test(&kref->refcount))) {
>  		release(kref);
>  		return 1;
>  	}

Cheers,
Kyle Moffett

--
There are two ways of constructing a software design. One way is to  
make it so simple that there are obviously no deficiencies. And the  
other way is to make it so complicated that there are no obvious  
deficiencies.  The first method is far more difficult.
   -- C.A.R. Hoare


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-01-30 05:41    [W:0.368 / U:0.030 seconds]
©2003-2008 Jasper Spaans