On 12/06/2012 03:46 PM, Dave Airlie wrote: >> >> ttm_page_pool_init_locked(&_manager->wc_pool, GFP_HIGHUSER, "wc"); >> >> @@ -817,6 +821,7 @@ int ttm_page_alloc_init(struct ttm_mem_global *glob, >> unsigned max_pages) >> &glob->kobj, "pool"); >> if (unlikely(ret != 0)) { >> kobject_put(&_manager->kobj); >> + kfree(_manager); >> _manager = NULL; > > I don;t think this is, since the kobject_put shuold free it. >
kobject_put only frees memory referenced by kobj, but not the memory pointed at by _manager. rtg -- Tim Gardner tim.gardner at canonical.com