Oops, one more thing. On Mon, Apr 08, 2013 at 04:20:59PM +0800, Li Zefan wrote: > - cgrp->id = ida_simple_get(&root->cgroup_ida, 1, 0, GFP_KERNEL); > + cgrp->id = idr_alloc(&root->cgroup_idr, cgrp, 1, 0, GFP_KERNEL); This will allow lookups to return half-initialized cgroup, which shouldn't happen. Either idr_alloc() should be moved to after initialization of other fields are finished, or it should be called with NULL @ptr with idr_replace() added at the end to install @cgrp. Similarly, the removal path should guarantee that the object is removed from idr *before* its grace period starts. Thanks. -- tejun -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>