Messages in this thread | | | Date | Tue, 21 Aug 2012 15:38:52 +0000 | From | Christoph Lameter <> | Subject | Re: [PATCH 4/5] mempolicy: fix refcount leak in mpol_set_shared_policy() |
| |
On Tue, 21 Aug 2012, Mel Gorman wrote:
> On Mon, Aug 20, 2012 at 07:46:09PM +0000, Christoph Lameter wrote: > > On Mon, 20 Aug 2012, Mel Gorman wrote: > > > > > @@ -2318,9 +2323,7 @@ void mpol_free_shared_policy(struct shared_policy *p) > > > while (next) { > > > n = rb_entry(next, struct sp_node, nd); > > > next = rb_next(&n->nd); > > > - rb_erase(&n->nd, &p->root); > > > > Looks like we need to keep the above line? sp_delete does not remove the > > tree entry. > > > > > - mpol_put(n->policy); > > > - kmem_cache_free(sn_cache, n); > > > + sp_delete(p, n); > > Yes it does, could you have accidentally mixed up sp_free (which does not > remove the tree entry) and sp_delete (which does)? The altered code ends > up looking like this;
Yup I got that mixed up.
Reviewed-by: Christoph Lameter <cl@linux.com>
| |